Installation
The CloudX Unity SDK is distributed as a.unitypackage file.
- Download
CloudXSdk-4.4.0.unitypackagefrom the CloudX Unity SDK 4.4.0 release - In Unity, go to Assets > Import Package > Custom Package
- Select the downloaded
.unitypackagefile - 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 inAssets/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 SDK2.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.plistif you want custom ATT prompt wording.
User Targeting
Configure user and app properties for better ad targeting. Call these methods beforeInitialize.
Revenue Tracking
All ad formats provide revenue callbacks through theOnAdRevenuePaid 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 exposesOnAdPaid. 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, saveargs.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 anIATAdRevenueListener 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
UseCustom 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.