SDK Native - Data Reference
Native SDK — Data Reference
Complete reference for all data objects available in the native campaigns SDK.

MCCampaign
The main campaign object passed to your renderer's configure(cell:campaign:at:).
id
String
Unique campaign identifier
name
String
Campaign display name
type
String
Campaign type. See MCCampaignType constants below.
creatives
MCCreatives?
Image URLs (see below)
links
MCLinks?
Tracking and navigation URLs (see below)
totalConvertedValue
Double
Total reward in your virtual currency (including promo)
remainingConvertedValue
Double
Remaining reward the user can earn
promoRatio
Double
Promotional multiplier (1.0 = no promo, 2.0 = double)
progress
MCProgress?
User's progress. nil if the user hasn't started.
MCCreatives
Image assets for a campaign.
thumbnail
String?
Small square preview image URL
cover
String?
Full-size banner image URL
MCLinks
Tracking and navigation URLs. Managed automatically by the SDK when using MCNativeAdView.
trackingUrl
String?
Click tracking URL
trackingPixelUrl
String?
Impression pixel URL (fired automatically by the SDK)
detailUrl
String?
Campaign detail page URL (opened on click)
MCProgress
User's progress on a campaign. nil when the user hasn't started the campaign.
status
String?
Progress status. See MCCampaignStatus constants below.
eventsCompleted
Int
Number of events the user has completed
totalEvents
Int
Total events required to complete the campaign
valueEarned
Double
Reward earned so far in your virtual currency
progressValue
Double
Completion percentage (0–100)
MCMeta
Response metadata returned alongside the campaign list.
version
String
API response format version
count
Int
Number of campaigns returned
MCCampaignType (constants)
Known campaign type values. Compare against campaign.type:
MCCampaignType.multiReward
"MultiReward"
MCCampaignType.playToEarn
"Play2Earn"
MCCampaignType.singleReward
"SingleReward"
The
typefield is aString, not an enum, because new types may be added in the future. Unknown types will not break your app.
MCCampaignStatus (constants)
Known progress status values. Compare against campaign.progress?.status:
MCCampaignStatus.clicked
"clicked"
MCCampaignStatus.started
"started"
MCCampaignStatus.installed
"installed"
MCCampaignStatus.completed
"completed"
MCCampaignStatus.expired
"expired"
MCCampaignStatus.closed
"closed"
The
statusfield is aString, not an enum, because new statuses may be added in the future.
Image Loading
The SDK provides a built-in image loader. Use it anywhere in your renderer:
Runs on a background thread
Decodes the image and sets it on the main thread
Handles cell view recycling correctly
No external library needed (no SDWebImage, Kingfisher, or Nuke)
You can also use your own image loading library if you prefer. The SDK does not restrict this.
External References
For a more comprehensive list of examples and mappings, you can also check out the Figma Showcase of different templates.
Last updated