Skip to main content
The CloudX Unity SDK enables monetization of your Unity games with banner, MREC, interstitial, rewarded, and app open ads across iOS and Android.

Installation

The CloudX Unity SDK is distributed as a .unitypackage file.
  1. Download CloudXSdk-4.4.0.unitypackage from the CloudX Unity SDK 4.4.0 release
  2. In Unity, go to Assets > Import Package > Custom Package
  3. Select the downloaded .unitypackage file
  4. Import all assets when prompted
The External Dependency Manager will automatically resolve Android and iOS dependencies.

Ad Network Adapters

The CloudX SDK requires ad network adapters to serve ads. Enable them by uncommenting the relevant lines in Assets/CloudXSdk/Editor/CloudXDependencies.xml. See the Adapters section for per-adapter setup instructions, including iOS Info.plist requirements.
At least one adapter is required for the SDK to serve ads.

Initialization

Initialize the SDK before loading any ads. You can optionally configure user and app properties before initialization.
Subscribe to CloudXInitializationCallbacks events before calling Initialize() to receive initialization results.

Ad Formats

CloudX Unity SDK supports banner, MREC, interstitial, rewarded, and app open ad integrations. Use the format-specific guides for implementation details:

Banner & MREC ads

Display ads at a fixed screen position with optional refresh control.

Interstitial ads

Load and show full-screen interstitial placements.

Rewarded ads

Reward users after completed rewarded ad views.

App Open ads

Show full-screen ads when users open or return to your app.

Advanced Features

Privacy Controls

You can override consent state before initialization when your app is not using a CMP.
  • SetHasUserConsent(bool?) sets the GDPR consent override.
  • SetDoNotSell(bool?) sets the CCPA do-not-sell override.
  • IAB consent and privacy signals take precedence over these manual overrides when available.

iOS ATT Usage Description

Starting with Unity SDK 2.2.4, the iOS post-process step adds NSUserTrackingUsageDescription automatically if your app has not already defined it in Info.plist.
  • Default value: This uses device info for more personalized ads and content
  • If you already provide NSUserTrackingUsageDescription, CloudX leaves your existing value unchanged.
  • Set your own copy in Info.plist if you want custom ATT prompt wording.

User Targeting

Configure user and app properties for better ad targeting. Call these methods before Initialize.

Revenue Tracking

All ad formats provide revenue callbacks through the OnAdRevenuePaid event. The CloudXAd object contains revenue information:

Publisher-Reported Revenue Data

If your app receives impression-level revenue callbacks or bid metadata from AdMob, InMobi, TopOn, or another mediation platform outside the CloudX ad flow, forward those events to CloudX after initialization: CloudXSdk.ReportRevenueData() returns true when the event is accepted into the CloudX revenue pipeline. It returns false when the payload is invalid, the SDK is not initialized, or revenue tracking is unavailable.

AdMob paid events

With the Google Mobile Ads Unity plugin, each ad object exposes OnAdPaid. The callback AdValue.Value is reported in micro-units, so divide it by 1_000_000.0 before passing it to CloudX.

InMobi impression events

For InMobi, save args.AdMetaInfo in OnAdFetchSuccessful. When OnAdImpression fires, send the saved metaInfo.Bid to CloudX, then clear the saved value.

TopOn revenue events

With the TopOn Unity plugin v2.1.8 or later, set an IATAdRevenueListener on the ad object. Use adInfo.publisher_revenue for the single-impression revenue; do not use adInfo.adsource_price, because TopOn reports that value as CPM/eCPM.

Custom platform events

Use Custom for providers that do not have a CloudX SDK constant like AdMob, InMobi, and TopOn do. The value is only the provider name, such as CloudXRevenuePlatform.Custom("TradPlus") or CloudXRevenuePlatform.Custom("Nimbus"). Keep the name stable so CloudX can group that provider’s revenue consistently. Do not include the amount or currency in the provider name. For a TradPlus impression worth USD 0.01, send Platform: CloudXRevenuePlatform.Custom("TradPlus"), Revenue: 0.01, and CurrencyCode: "USD". If your source reports CPM/eCPM, divide by 1_000.0 first.