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:).

Field
Type
Description

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.

Field
Type
Description

thumbnail

String?

Small square preview image URL

cover

String?

Full-size banner image URL


Tracking and navigation URLs. Managed automatically by the SDK when using MCNativeAdView.

Field
Type
Description

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.

Field
Type
Description

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.

Field
Type
Description

version

String

API response format version

count

Int

Number of campaigns returned


MCCampaignType (constants)

Known campaign type values. Compare against campaign.type:

Constant
Value

MCCampaignType.multiReward

"MultiReward"

MCCampaignType.playToEarn

"Play2Earn"

MCCampaignType.singleReward

"SingleReward"

The type field is a String, 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:

Constant
Value

MCCampaignStatus.clicked

"clicked"

MCCampaignStatus.started

"started"

MCCampaignStatus.installed

"installed"

MCCampaignStatus.completed

"completed"

MCCampaignStatus.expired

"expired"

MCCampaignStatus.closed

"closed"

The status field is a String, 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 Showcasearrow-up-right of different templates.

Last updated