> For the complete documentation index, see [llms.txt](https://docs.mychips.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mychips.io/android/sdk-native/sdk-native-data-reference.md).

# SDK Native - Data Reference

## Native SDK — Data Reference

Complete reference for all data objects available in the native campaigns SDK.

***

<figure><img src="/files/kFb5dDTVGyAbNRBwd8KI" alt=""><figcaption></figcaption></figure>

### MCCampaign

The main campaign object passed to your renderer's `onBindCampaign`.

<table><thead><tr><th width="238">Field</th><th width="126">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>String</code></td><td>Unique campaign identifier</td></tr><tr><td><code>name</code></td><td><code>String</code></td><td>Campaign display name</td></tr><tr><td><code>type</code></td><td><code>String</code></td><td>Campaign type. See <code>MCCampaignType</code> constants below.</td></tr><tr><td><code>creatives</code></td><td><code>MCCreatives</code></td><td>Image URLs (see below)</td></tr><tr><td><code>links</code></td><td><code>MCLinks</code></td><td>Tracking and navigation URLs (see below)</td></tr><tr><td><code>totalConvertedValue</code></td><td><code>double</code></td><td>Total reward in your virtual currency (including promo)</td></tr><tr><td><code>remainingConvertedValue</code></td><td><code>double</code></td><td>Remaining reward the user can earn</td></tr><tr><td><code>promoRatio</code></td><td><code>double</code></td><td>Promotional multiplier (1.0 = no promo, 2.0 = double)</td></tr><tr><td><code>progress</code></td><td><code>MCProgress</code></td><td>User's progress. <strong>null</strong> if the user hasn't started.</td></tr></tbody></table>

***

### MCCreatives

Image assets for a campaign.

<table><thead><tr><th width="238">Field</th><th width="156">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>thumbnail</code></td><td><code>String</code> (nullable)</td><td>Small square preview image URL</td></tr><tr><td><code>cover</code></td><td><code>String</code> (nullable)</td><td>Full-size banner image URL</td></tr></tbody></table>

***

### MCLinks

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

<table><thead><tr><th width="236">Field</th><th width="158">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>trackingUrl</code></td><td><code>String</code> (nullable)</td><td>Click tracking URL</td></tr><tr><td><code>trackingPixelUrl</code></td><td><code>String</code> (nullable)</td><td>Impression pixel URL (fired automatically by the SDK)</td></tr><tr><td><code>detailUrl</code></td><td><code>String</code> (nullable)</td><td>Campaign detail page URL (opened on click)</td></tr></tbody></table>

***

### MCProgress

User's progress on a campaign. **Null** when the user hasn't started the campaign.

<table><thead><tr><th width="230">Field</th><th width="153">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>status</code></td><td><code>String</code></td><td>Progress status. See <code>MCCampaignStatus</code> constants below.</td></tr><tr><td><code>eventsCompleted</code></td><td><code>int</code></td><td>Number of events the user has completed</td></tr><tr><td><code>totalEvents</code></td><td><code>int</code></td><td>Total events required to complete the campaign</td></tr><tr><td><code>valueEarned</code></td><td><code>double</code></td><td>Reward earned so far in your virtual currency</td></tr><tr><td><code>progressValue</code></td><td><code>double</code></td><td>Completion percentage (0–100)</td></tr></tbody></table>

***

### MCMeta

Response metadata returned alongside the campaign list.

<table><thead><tr><th width="228">Field</th><th width="164">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>version</code></td><td><code>String</code></td><td>API response format version</td></tr><tr><td><code>count</code></td><td><code>int</code></td><td>Number of campaigns returned</td></tr></tbody></table>

***

### MCCampaignType (constants)

Known campaign type values. Compare against `campaign.type`:

| Constant                       | Value            |
| ------------------------------ | ---------------- |
| `MCCampaignType.MULTI_REWARD`  | `"MultiReward"`  |
| `MCCampaignType.PLAY_TO_EARN`  | `"Play2Earn"`    |
| `MCCampaignType.SINGLE_REWARD` | `"SingleReward"` |

```java
if (MCCampaignType.MULTI_REWARD.equals(campaign.type)) {
    // Handle multi-reward campaign
}
```

> 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"`    |

```java
if (campaign.progress != null
        && MCCampaignStatus.COMPLETED.equals(campaign.progress.status)) {
    // Campaign completed!
}
```

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

```java
MCOfferwallSDK.LoadImage(url, imageView);
```

* Runs on a background thread
* Decodes bitmap and sets it on the UI thread
* Handles RecyclerView view recycling correctly
* No external library needed (no Glide, Picasso, or Coil)

> 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 checkout this [Figma Showcase](https://www.figma.com/board/7ctPofi9irp7PV4TwT3a7l/MyChips-SDK-Default-Layouts?node-id=0-1\&t=Ej26WBktLfW0wu3A-1) of different templates.
