Skip to main content
iOSDashboard

iOS SDK — Pangle adapter 8.2.0.7.0

Changed

  • Pangle CloudXPangleAdapter~> 8.2.0.7.0 (Ads-Global 8.2.0.7). Install: pod 'CloudXPangleAdapter', '~> 8.2.0.7.0'; requires CloudXCore >= 3.5.0.

Dashboard — Total Revenue dashboard

Total Revenue dashboard.Total Revenue brings your CloudX and connected mediation-platform performance into one dashboard, so you can compare aggregate monetization results in one place. Read the docs →
iOSReact NativeUnity

iOS SDK — Google Waterfall adapter 12.14.0.1

Fixed

  • Prefetched Google ads could be shown after expiring (12.14.0) — Backport of the 13.6.0.1 fix for Google Mobile Ads SDK 12.14.0; fills now expire and refresh before stale, preventing blank renders. Install: pod 'CloudXGoogleWaterfallAdapter', '12.14.0.1'; requires CloudXCore >= 3.5.0.

React Native SDK 3.6.0

CloudX React Native 3.6.0 aligns the wrapper with CloudX iOS 3.6.0 and Android 4.4.0. It adds App Open and publisher-reported revenue APIs, updates native dependency pins, and preserves existing banner, MREC, interstitial, and rewarded integrations without migration.

Added

  • App Open ads - Added CloudXAppOpenAd and useCloudXAppOpen for full-screen app launch and foreground placements, backed by the native App Open support in CloudX iOS and Android.
  • Publisher-reported revenue API - Added CloudX.reportRevenueData() with CloudXRevenueData so apps can forward mediation paid events into CloudX reporting. Pass revenue as a JavaScript number in currency units, not micros.
  • Expanded native adapter setup - React Native apps can use the native adapter set for this release, including independent iOS adapter pins and the Android TaurusX adapter.

Changed

  • Updated underlying native SDK pins to iOS CloudXCore ~> 3.6.0 and Android io.cloudx:sdk:4.4.0.
  • (iOS) Removed CloudXRenderer from setup - Do not add CloudXRenderer in React Native Podfiles. Renderer functionality is built into CloudXCore starting with iOS 3.5.0.
  • (iOS) Independent adapter versioning - iOS setup now uses separate adapter versions and CloudXMagniteAdapterV2, matching the iOS 3.5+ native packaging model.
  • (Android) Safer load and prefetch behavior - Includes Android 4.3.0 improvements for duplicate load() calls and stale Google Waterfall prefetched fills.

Fixed

  • (iOS) CloudX-served creative rendering - Includes iOS 3.6.0 fixes for blank banner and MREC creatives and rejected HTML rewarded creatives.
  • (Android) Runtime compatibility - Includes Android 4.4.0 fixes for telephony permission checks and VAST tracker compatibility on the SDK’s minimum Android version.
  • (Android) Native impression revenue - Includes Android 4.3.0 reliability fixes for synchronous native impression revenue callbacks.

Platform Support

  • iOS: CloudXCore ~> 3.6.0
  • Android: io.cloudx:sdk:4.4.0

Unity SDK 4.4.0

What’s New

  • Added App Open ads through CloudXSdk.LoadAppOpen, CloudXSdk.ShowAppOpen, CloudXSdk.IsAppOpenReady, CloudXSdk.DestroyAppOpen, and CloudXAdsCallbacks.AppOpen.
  • Added publisher revenue reporting with CloudXSdk.ReportRevenueData(CloudXRevenueData data), including AdMob, InMobi, TopOn, and custom platform names.

Fixed

  • Fixed Unity main-thread callback dispatch so native callbacks that enqueue Unity work no longer deadlock callback delivery.

SDK Updates

  • Updated Android SDK from 4.1.7 to 4.4.0 — see Android SDK changelog for details
  • Updated iOS CloudXCore from 3.4.6 to 3.6.0
  • Updated iOS Google Waterfall adapter from 3.4.6 to 13.6.0.1
  • Updated Unity demo Android adapter pins: Vungle 7.7.7.0, InMobi 11.4.0.1, Mintegral 17.1.71.0, Moloco 4.11.0.0, Verve 3.9.0.1, Google Waterfall 25.2.0.1, Digital Turbine 8.4.7.0, and Pangle 8.2.0.4.0.
AndroidiOSReact NativeDemand

Android SDK 4.4.0

Added

  • Publisher Revenue Platforms - Publisher-reported revenue can now use CloudXRevenuePlatform.INMOBI, CloudXRevenuePlatform.TOPON, or CloudXRevenuePlatform.custom(name) in addition to AdMob, so apps can forward impression-level revenue from more mediation and reporting platforms.

Changed

  • Revenue Amount Units - CloudXRevenueData.builder(platform, revenue, adFormat) now takes revenue as a Double in currency units, and CloudXRevenueData.revenue is now a Double. For AdMob AdValue.valueMicros, divide by 1_000_000.0 before creating CloudXRevenueData.

Fixed

  • Telephony Permission Guard - The SDK now checks phone-state permission before reading the telephony network type.
  • VAST Tracker Compatibility - Fixed the VAST event tracker to avoid an API 24-only collection call when running on the SDK’s minimum supported Android version.

iOS SDK 3.6.0

Install: pod 'CloudXCore', '~> 3.6'

Added

  • Report impression-level revenue from your own mediation platform — Forward paid events to CloudX with reportRevenueData(_:). AdMob, InMobi, and TopOn are built in.
  • App-wide ad-revenue delegate — Receive impression-level revenue for every CloudX-won impression from one CLXAdRevenueDelegate instead of per ad. Register with addAdRevenueDelegate(_:).
  • AppsFlyer ad-revenue connector — Forward CloudX impression revenue to AppsFlyer. Install: pod 'CloudXAppsFlyerConnector', '~> 1.0.0'. Requires AppsFlyerFramework >= 6.15.0.
  • Adjust ad-revenue connector — Forward CloudX impression revenue to Adjust. Install: pod 'CloudXAdjustConnector', '~> 1.0.0'. Requires Adjust >= 5.0.0.

Fixed

  • Banner and MREC creatives could render blank on the CloudX renderer — Creatives could fail on first load and after refresh, surfacing as blank impressions. They now render correctly.
  • HTML rewarded creatives were rejected on the CloudX renderer — The renderer accepted only VAST rewarded creatives, so HTML rewarded ads failed to load. HTML rewarded creatives now render.

Removed

  • Internal headers removed from the CloudXCore.h umbrella — Internal implementation headers were removed from the umbrella; none was linkable, so no integration is affected. Report revenue through reportRevenueData(_:) and the public revenue types.

React Native SDK 3.4.7

Adds an in-tree React Native component API for banner and MREC ads while preserving the existing programmatic overlay API.

Added

  • Component banner and MREC views - Publishers can now render CloudXBannerView and CloudXMRECView directly inside React Native layouts, so ads participate in normal view positioning, safe-area handling, and overlay z-ordering.
  • Declarative component metadata - Component banners and MRECs support placement, customData, and extraParameters props for reporting and network/server configuration.
  • Component callbacks - Component views support onAdLoaded, onAdLoadFailed, onAdClicked, and onAdRevenuePaid callback props.

Changed

  • Updated the underlying Android native pin to io.cloudx:sdk:4.1.7 (iOS CloudXCore ~> 3.4.5 is unchanged).
  • The existing CloudXBannerAd and CloudXMRECAd programmatic overlay APIs remain available for apps that need fixed native overlay positioning.

Platform Support

  • iOS: CloudXCore ~> 3.4.5
  • Android: io.cloudx:sdk:4.1.7

Demand Partners — zstd bid compression

CloudX now supports zstd compression for OpenRTB traffic with demand partners, on both bid requests and bid responses.
  • Bid requests can be sent with Content-Encoding: zstd; gzip remains supported.
  • When CloudX advertises Accept-Encoding: gzip, zstd, partners may respond with gzip or zstd.
  • Contact CloudX to enable zstd for your bidder endpoint.
Read the docs →
Dashboard

Dashboard — Ad position overrides

You can now set the bidder-facing ad position signal when creating or editing an ad unit in the Dashboard.Accurate position signals help bidders understand where an ad appears on screen and can improve how they value the opportunity.
  • Keep Default (recommended) to use CloudX’s current defaults: Banner sends 1 (above the fold), MREC omits the position signal, and fullscreen formats send 7 (full screen).
  • Choose a value from 0 to 7 when the ad’s actual on-screen position differs from the default.
  • Return to Default (recommended) to clear a saved override.
This setting changes the bidder-facing OpenRTB/AdCOM banner.pos or video.pos field. It does not reposition the ad in your app. Read the docs →

Dashboard — IFA presence targeting for manual floors

Manual line-item floors can now target requests based on whether the device provides a usable advertising identifier.
  • Choose Any IFA to leave IFA presence unrestricted.
  • Choose Has IFA to target requests with a usable identifier.
  • Choose No IFA to target requests where the identifier is empty, whitespace-only, unavailable, or the nil UUID (00000000-0000-0000-0000-000000000000).
  • Combine IFA presence with country targeting to set different floors for each traffic cohort.
In YAML configuration, omit ifa_present for Any IFA, set ifa_present: true for Has IFA, or set ifa_present: false for No IFA.
Dashboard

Dashboard — CloudX Agent

CloudX Agent is now available throughout the Dashboard through Ask CloudX. It uses the current page as context and can work across inventory, configuration, reporting, auction data, and CloudX product documentation.Use it to:
  • analyze pricing opportunities and prepare floor changes by ad unit, country, or format
  • create, monitor, end, and promote A/B tests
  • manage bidder participation and network mappings
  • diagnose eCPM and fill-rate changes
  • validate inventory and import configuration from CSV or spreadsheet files
  • trace published changes to a configuration version, timestamp, and author
Configuration changes require an in-chat review and explicit approval before CloudX validates and publishes them. Read the docs →
AndroidiOS

Android SDK 4.3.0

Added

  • AppsFlyer Ad Revenue Connector - Added a managed AppsFlyer connector and a global CloudX.addAdRevenueListener() API to forward CloudX ad revenue to AppsFlyer or any MMP with one dependency and no glue code. The listener fires once per CloudX-won impression across all ad formats.

Changed

  • Google Waterfall Prefetch Expiry - Prefetched Google Waterfall fills now expire on per-format time limits (4 hours for App Open, 1 hour for other formats) and refill proactively, so stale cached fills no longer render blank or fail at show.
  • Duplicate load() Handling - Repeated load() calls while a load is in flight are now handled safely and consistently across all ad formats. Previously, rapid duplicate banner and MREC loads could cancel the in-flight auction and starve the app of fills.
  • Creative Reporting - Creative identifiers are now included in impression and revenue telemetry across native and Mintegral-backed placements for more accurate creative-level reporting.

Fixed

  • Pre-Init Load Callbacks - Banner and MREC load() calls made before initialization completes are now queued and always produce a callback. Previously such calls could be dropped silently, and a failed initialization is now reported as a load failure instead of hanging with no callback.
  • Native Impression Revenue - Fixed a timing gap where a native impression fired before the SDK’s observer subscribed could be lost, so the publisher’s revenue callback did not fire. Affected synchronous-impression native paths such as Moloco standalone native.
  • Optimistic Banner Leak - Fixed an adapter view leak when an optimistically loaded banner is destroyed before its background creative load dispatches.

iOS SDK — Google Waterfall adapter 13.6.0.1

Fixed

  • Prefetched Google ads could be shown after they expired — Prefetched fills now expire and refresh in the background before going stale, preventing blank renders. Install: pod 'CloudXGoogleWaterfallAdapter', '~> 13.6.0.1'. Requires CloudXCore >= 3.5.0.
CLI

CloudX CLI 0.36

Impression-level revenue exports

CloudX CLI 0.36 adds asynchronous, full-day impression revenue exports for account-scoped analysis and reconciliation.

Added

  • Impression-level CSV exports — Added cloudx report impressions export --date YYYY-MM-DD to create or reuse a gzip-compressed CSV containing one row per impression. Completed UTC days from the previous 45 days are supported. Read the docs →
  • Focused export filters — Filter by app ID or bundle, ad unit ID, country, device OS, bidder, line item, and production/test traffic.
  • Asynchronous download workflow — Use --wait to poll for completion or --output <path> to wait and securely download the result from a short-lived URL.
iOS

iOS SDK — Off-line adapter releases (-core34)

Off-line builds of three adapters for publishers still on CloudXCore 3.4.x. Each works with CloudXCore 3.4.5 or 3.4.6 and is not compatible with CloudXCore 3.5.x. Pin the exact version shown — these versions are never picked up by pod update automatically.
  • Google Waterfallpod 'CloudXGoogleWaterfallAdapter', '13.0.0.0-core34'. Backed by Google Mobile Ads SDK 13.0.0. Requires CloudXCore >= 3.4.6, < 3.5.
  • Unity Adspod 'CloudXUnityAdsAdapter', '4.16.5.0-core34'. Backed by UnityAds 4.16.5. Requires CloudXCore >= 3.4.5, < 3.5. Reward is granted on completed ad watch; UnityAds 4.16.5 provides no ad-expiry callback, so expired creatives are not signaled.
  • Molocopod 'CloudXMolocoAdapter', '4.3.0.0-core34'. Backed by MolocoSDKiOS 4.3.0. Requires CloudXCore >= 3.4.5, < 3.5.
iOS

iOS SDK — MobileFuse adapter 1.11.0.0

Added

  • MobileFuse adapter — New CloudXMobileFuseAdapter serving Banner, MREC, Interstitial, and Rewarded. Install: pod 'CloudXMobileFuseAdapter', '~> 1.11.0.0'. Backed by MobileFuse SDK 1.11.0; requires CloudXCore >= 3.5.0.
AndroidiOS

Android SDK 4.2.0

Added

  • App Open Ads - Added App Open ad support through CloudX.createAppOpen() and CloudXAdFormat.APP_OPEN for app foreground placements.
  • Publisher Revenue Reporting - Added CloudX.reportRevenueData() and CloudXRevenueData so publishers can forward AdMob impression-level revenue events into CloudX reporting.
  • Trusted Arbiter Custom Bids - Added mediator-agnostic custom bid inputs with CloudXArbiterBid.custom(), CloudXArbiterPlatform.CUSTOM, and CloudXArbiterPrecision.
  • Expanded Google Waterfall Support - Added Google Waterfall Interstitial, Rewarded, Native, and App Open support.
  • Banner Auto-Refresh Configuration - Added banner and MREC support for server-disabled auto-refresh settings.
  • TaurusX Adapter Availability - The TaurusX Android adapter is now available as io.cloudx:adapter-taurusx:1.18.3.0, supporting Banner, MREC, Interstitial, Rewarded, and Native ad formats on CloudX Android SDK 4.2.0 or newer.

Changed

  • Adapter Format Metadata - Adapters now report supported ad formats to CloudX, helping server-provisioned configuration match demand to compatible adapters.
  • Google Waterfall Reporting - Improved Google Waterfall response identifiers and realized-price handling for more accurate waterfall diagnostics and reporting.
  • Renderer Reliability - Fullscreen CloudX renderer behavior now better respects device auto-rotate settings and rewarded close/reward eligibility.
  • Fullscreen Network Names - Fullscreen ad callbacks now report network names consistently with the raw adapter code used by other ad formats.
  • Initialization Resilience - Improved SDK recovery from stale or poisoned OS DNS resolver state during initialization and network calls.

Fixed

  • Moloco Native Banner Impressions - Fixed Moloco Native Banner and Native MREC impression timing so impressions are handled after the ad view is attached to the CloudX ad view container.
  • Banner Render Timing - Improved banner and MREC load/render timing so adapter render latency is tracked separately from the initial load signal.
  • Google Waterfall Prefetch Reliability - Improved Google Waterfall prefetch callback handling and impression reporting so stale loader callbacks cannot affect current fills.
  • Trusted Arbiter PubMatic Comparison - Fixed fallback arbitration so PubMatic OpenWrap CPM prices are normalized before comparison with per-impression revenue bids.

iOS SDK 3.5.0

Adapters now version independently of CloudXCore. Each adapter pod uses <network-sdk-version>.<adapter-revision> (e.g. pod 'CloudXVungleAdapter', '~> 7.7.4.0') and is tied to one exact network SDK version per release. CloudXCore continues on SDK semver (pod 'CloudXCore', '~> 3.5').

Breaking Changes

  • Adapter pods no longer share the CloudXCore version. Existing pins on the old unified line (~> 3.4, ~> 3.x) will not resolve new adapter releases. Update each adapter pin independently, for example pod 'CloudXMintegralAdapter', '~> 8.1.5.0'.
  • CloudXMagniteAdapterV2 replaces CloudXMagniteAdapter for independent versioning. Install pod 'CloudXMagniteAdapterV2', '~> 1.0.0.0' to move to the new version line; the legacy pod remains on the old line. No source changes — the import name is unchanged.
  • CloudXRenderer is no longer a separate pod. Its functionality is built into CloudXCore; remove any direct CloudXRenderer dependency from your Podfile.

Added

  • Trusted Arbiter Custom Bids — Added mediator-agnostic custom bid inputs with CLXArbiterBid.custom(...), CLXArbiterPlatform.custom, and CLXArbiterPrecision.
  • App Open ad format — New CLXAppOpen ad class for full-screen ads shown while your app loads or returns to the foreground. Create with createAppOpen(adUnitId:). Supported on the Google Waterfall, Mintegral, Pangle, and Vungle adapters.
  • VAST video interstitials and rewarded on the CloudX renderer — The CloudX renderer now serves VAST video interstitial and rewarded creatives, with Open Measurement (OMID) video measurement. Rollout is controlled server-side; no integration change is required.
  • HTML rewarded on the CloudX renderer — HTML rewarded creatives now render through the CloudX renderer, completing the fullscreen HTML support introduced for interstitials in 3.4.5. Server-side rollout; no integration change required.
  • Native ads on Digital Turbine, Mintegral, Pangle, Verve, and Google Waterfall — These adapters now serve Native creatives, standalone and native-in-banner / native-in-MREC.
  • Google Waterfall — Interstitial and RewardedCloudXGoogleWaterfallAdapter now serves fullscreen Interstitial and Rewarded creatives, in addition to Banner, MREC, Native, and App Open.
  • In-app App Store sheet for install-ad clickthroughs — Tapping an install-campaign ad now opens an in-app App Store product sheet instead of leaving your app, for CloudX-rendered creatives that declare the advertised app.
  • Fullscreen HTML interstitial clickthrough — Fullscreen HTML interstitials rendered by the CloudX renderer now navigate on tap.
  • CloudXMagniteAdapterV2 1.0.0.1 — the new independent-versioned Magnite pod. Install: pod 'CloudXMagniteAdapterV2', '~> 1.0.0.0'. Backed by MagniteSDK 1.0.0.

Changed — Adapter releases

  • Vungle CloudXVungleAdapter~> 7.7.4.0 (VungleAds 7.7.4).
  • Mintegral CloudXMintegralAdapter~> 8.1.5.0 (MintegralAdSDK 8.1.5).
  • Unity Ads CloudXUnityAdsAdapter~> 4.19.0.0 (UnityAds 4.19.0).
  • Verve CloudXVerveAdapter~> 3.9.0.0 (HyBid 3.9.0).
  • Digital Turbine CloudXDigitalTurbineAdapter~> 8.4.8.0 (Fyber Marketplace SDK 8.4.8).
  • Google Waterfall CloudXGoogleWaterfallAdapter~> 13.6.0.0 (Google Mobile Ads SDK 13.6.0 — a major-version upgrade from 12.x).
  • InMobi CloudXInMobiAdapter~> 11.3.0.0 (InMobiSDK 11.3.0).
  • Meta CloudXMetaAdapter~> 6.21.1.0 (FBAudienceNetwork 6.21.1).
  • Moloco CloudXMolocoAdapter~> 4.8.0.0 (MolocoSDKiOS 4.8.0).
  • Pangle CloudXPangleAdapter~> 7.9.1.3.0 (Ads-Global 7.9.1.3).

Fixed

  • Some bidders were not billed for certain banner impressions — Native ads rendered in a banner slot (native-in-banner) could be counted without the bidder billing notice, so the bidder was never billed. Impressions are now billed correctly in all cases.
  • Native ads in a banner or MREC slot could report their impression too early — A native ad in a banner or MREC slot could fire its impression before the ad view was actually visible, especially when preloading off-screen. Impressions now report at the correct time.
  • Stuck fullscreen ad after a rendering crash — If the web content behind a fullscreen ad crashed after the ad loaded, the user could be left on a stuck fullscreen. The ad now closes automatically and delivers the close callback.
  • Native ads in banner slots could miss impressions with compact layouts — Fixed an issue where a native ad rendered in a banner slot with the compact template could display without registering an impression.

Removed

  • CloudXRenderer standalone pod — merged into CloudXCore. See Breaking Changes above.
Unity

Unity SDK 4.1.7

What’s New

  • Added APIs for per-request bid floor overrides so publishers can send request-scoped floor controls through the SDK bid pipeline

SDK Updates

iOS

iOS SDK 3.4.6

Changed

  • CloudXMolocoAdapter now supports the full MolocoSDK 4.x line — The MolocoSDKiOS requirement was widened from ~> 4.6.0 to >= 4.6.0, < 5.0, so you can adopt newer 4.x Moloco SDK releases. This resolves a CocoaPods dependency conflict that could block integration.

Fixed

  • Rare crash when an ad finished loading — Fixed a rare crash that could occur when a banner or fullscreen (interstitial / rewarded) ad finished loading. Affected ads now load and report their result reliably.
  • Duplicate banner impressions after a no-fill refresh — A banner whose auto-refresh returned no bid could re-display the previous creative and count extra impressions. A no-bid refresh now shows nothing and reports no impression.
CLI

CloudX CLI 0.35

A/B test country targeting

CloudX CLI 0.35 lets A/B test config edits set geo targeting for the test variant directly from the terminal.

Added

  • A/B test geo targeting — Added --country to cloudx config edit create-ab-test and cloudx config edit update-ab-test. The flag accepts repeated or comma-separated ISO 3166-1 alpha-2 or alpha-3 country codes, and CloudX stores the test-variant targeting as alpha-3 codes. Read the docs →
Android

Android SDK 4.1.7

Changed

  • Faster SDK Initialization - Reduced initialization latency by applying privacy consent to ad network adapters in parallel and moving non-critical startup work off the initialization path.

Android SDK 4.1.6

Changed

  • Quicker Initialization - The SDK can reuse cached configuration on warmed sessions, reducing initialization latency on subsequent launches.
  • Trusted Arbiter Revenue Accuracy - Normalized fallback revenue units used in arbitration so CloudX bid comparisons and revenue reporting are more accurate.
React NativeUnity

React Native SDK 3.4.6

Aligns the React Native wrapper with CloudX native Android 4.1.5; iOS stays on 3.4.5. There are no JavaScript API changes in this release.

Added

  • (Android) MobileFuse adapter availability - MobileFuse demand can now be added to Android React Native apps via io.cloudx:adapter-mobilefuse:1.11.0.0 (Banner, MREC, Interstitial, Rewarded).
  • (Android) Pangle adapter readiness - Pangle demand can be integrated on Android with io.cloudx:adapter-pangle:8.1.0.3.0.

Changed

  • Updated the underlying Android native pin to io.cloudx:sdk:4.1.5 (iOS CloudXCore ~> 3.4.5 is unchanged).
  • (Android) Faster startup - Initialization and ad-request stalls caused by device signal collection are reduced.
  • (Android) Fullscreen HTML rendering - The SDK now renders CloudX-served fullscreen HTML creatives in interstitial and rewarded placements, with viewability measurement. Rollout is server-controlled; no app change is required.
  • (Android) Broader native-in-banner coverage - Vungle native demand can now serve into standard banner and MREC slots through the existing banner API (joining Meta and Moloco), where enabled for your line items.

Fixed

  • (Android) Fullscreen reliability - More dependable close behavior and hide callbacks for fullscreen HTML ads, with safer reward handling when a rewarded ad is closed early.
  • (Android) Native ad image handling - More reliable image loading for native creatives, preventing stale images from appearing in reused ad views.

Platform Support

  • iOS: CloudXCore ~> 3.4.5
  • Android: io.cloudx:sdk:4.1.5

Unity SDK 4.1.5

SDK Updates

  • Updated Android SDK from 4.1.3 to 4.1.5 — see Android SDK changelog for details
  • Updated iOS SDK from 3.4.2 to 3.4.5 — see iOS SDK changelog for details
  • Added Pangle adapter support for Android and iOS
  • Added MobileFuse adapter support for Android
AndroidDashboard

Android SDK 4.1.5

Added

  • MobileFuse Adapter Availability - The MobileFuse Android adapter is now available as io.cloudx:adapter-mobilefuse:1.11.0.0, supporting Banner, MREC, Interstitial, Rewarded, and Native ad formats.

Changed

  • Meta Native-in-Banner Routing - Meta native banner demand now uses Meta’s native-banner rendering path only for banner-sized placements; native MREC placements use the regular native ad path.
  • Vungle Native Ad Support - Added support for Vungle native, native banner, and native MREC ad formats.

Dashboard — A/B testing result labels

The A/B testing dashboard now more clearly distinguishes result metrics and percentage-point changes.
  • A/B test creation now uses a fixed 50/50 split between control and test groups
  • ARPU is included in cumulative comparison metrics
  • Fill rate reflects true filled auction responses divided by requests
  • Customer-facing result badges use Pending, Directional, and Achieved
Read the docs →
Android

Android SDK 4.1.4

Added

  • Pangle Adapter Readiness - Added the SDK-side metadata needed for the independently released Pangle Android adapter. Publishers can integrate Pangle demand with io.cloudx:adapter-pangle:8.1.0.3.0 on CloudX Android SDK 4.1.4 or newer.
  • CloudX Fullscreen HTML Rendering - Added SDK support for CloudX-served MRAID fullscreen creatives in interstitial and rewarded placements, including OMID viewability measurement for CloudX HTML ads.

Changed

  • SDK Startup Performance - Reduced SDK initialization and ad-request stalls caused by device signal collection.
  • MRAID Fullscreen Reliability - Improved fullscreen CloudX HTML ads with load watchdogs, a loading indicator, larger close hit targets, mraid.unload() support, more reliable hide callbacks, and safer reward handling when rewarded ads are closed early.
  • Native Ad Rendering - Improved native image handling for local file-backed assets and prevented stale async image loads from overwriting reused native ad views.
  • Telemetry Timing Accuracy - SDK telemetry durations now use monotonic app-uptime timing for more reliable diagnostics.
React Native

React Native SDK 3.4.5

Aligns the React Native wrapper with CloudX native iOS 3.4.5; Android stays on 4.1.3. There are no JavaScript API changes in this release.

Fixed

  • (iOS) Interstitial and rewarded ads now display on the legacy architecture (Paper) - On apps built with the legacy React Native architecture, fullscreen ads could load but fail to appear on screen. They now present correctly. New Architecture (Fabric) apps were unaffected.
  • (iOS) Some valid HTML banner and MREC creatives are no longer skipped - Creatives previously misclassified as broken now render normally.
  • (iOS) Native ad reliability on Meta and Moloco - Native-in-banner and native-in-MREC creatives validate and register their assets more reliably for display and click tracking.
  • (iOS) Digital Turbine startup conflict - When another mediation SDK initializes the shared Fyber SDK first, the CloudX adapter now defers instead of re-initializing. For the smoothest startup, initialize the other mediation SDK first, then CloudX.

Changed

  • Updated the underlying iOS native pin to CloudXCore ~> 3.4.5 (Android io.cloudx:sdk:4.1.3 is unchanged). Update your iOS CloudX* adapter pods to ~> 3.4.5 to match.
  • (iOS) Broader native-in-banner coverage - InMobi and Vungle native demand can now serve into standard banner and MREC slots through the existing banner API (joining Meta and Moloco), where enabled for your line items.
  • (iOS) HTML interstitial rendering - The CloudX renderer now supports fullscreen HTML interstitial creatives. Rollout is server-controlled; no app change is required.
  • (iOS) Slow ad networks no longer delay startup - If a network’s SDK is slow to initialize, CloudX initialization completes without it and the network joins later auctions automatically once ready.

Platform Support

  • iOS: CloudXCore ~> 3.4.5
  • Android: io.cloudx:sdk:4.1.3
iOSReact Native

iOS SDK 3.4.5

Added

  • Full native ad support across InMobi, Meta, Vungle, and Moloco — With InMobi native and Vungle standalone native added in this release, all four demand partners now serve native ads in every form CloudX supports: standalone (via CLXNativeAdLoader) and native-in-banner / native-in-MREC.
  • InMobi native adsCloudXInMobiAdapter now serves Native creatives, both standalone (via CLXNativeAdLoader) and native-in-banner / native-in-MREC. Requires InMobiSDK >= 11.2.0 (the adapter’s minimum was raised from 11.0.0).
  • Vungle standalone native adsCloudXVungleAdapter now serves standalone Native creatives via CLXNativeAdLoader (native-in-banner / native-in-MREC was already supported).
  • HTML interstitials on the CloudX renderer — The CloudX renderer now supports fullscreen HTML interstitial creatives with MRAID 3.0, alongside the existing HTML banner / MREC support. Rollout is controlled server-side; no integration change is required.

Changed

  • Slow ad network SDKs no longer delay CloudX SDK initialization — A slow network SDK no longer blocks init; CloudX completes without it and the network joins later auctions once ready. Networks not yet initialized are excluded from auctions they cannot serve.

Fixed

  • Digital Turbine adapter no longer conflicts with another mediation SDK initializing the Fyber SDK — If another mediation SDK initializes the shared Fyber SDK first, the CloudX adapter now defers instead of re-initializing. For smooth startup, initialize the other SDK first, then CloudX.
  • Some valid HTML banner creatives were rejected by the renderer — Fixed an issue where HTML banner / MREC creatives containing failed tracker pixels were misclassified as broken and not displayed. These creatives now render normally.
  • Native ad reliability improvements on Meta and Moloco — Meta native ads now validate the loaded ad and register all asset views for impression and click tracking, not just the CTA. Moloco native ads are no longer delivered when the underlying ad is not renderable.

Removed

  • Adapter-integration APIs — Removed clx_isFlexibleSize, +isInitialized, and per-instance sdkVersion from the adapter-facing surface. These had no function for app integrations; standard publisher integrations are unaffected.

React Native SDK 3.4.4

Aligns the React Native wrapper with the CloudX native SDKs — iOS 3.4.4 and Android 4.1.3. There are no JavaScript API changes in this release; apps pick up the native platform improvements and the expanded adapter lineup through the existing React Native APIs.

Added

  • Digital Turbine adapter support - Digital Turbine demand can now be added to React Native apps on both platforms (Banner, MREC, Interstitial, Rewarded). iOS: pod 'CloudXDigitalTurbineAdapter', '~> 3.4.4'; Android: io.cloudx:adapter-digitalturbine:8.4.5.0.
  • (iOS) Pangle adapter - pod 'CloudXPangleAdapter', '~> 3.4.4' (Banner/MREC, Interstitial, Rewarded).
  • (iOS) Google Waterfall adapter - pod 'CloudXGoogleWaterfallAdapter', '~> 3.4.4' (Banner, MREC); requires a Google ad application identifier in your app’s Info.plist.
  • (Android) Native-in-banner rendering - Native ad demand from supported networks (Meta, Moloco, Vungle) can now serve into standard banner and MREC slots through the existing banner API.

Changed

  • Updated underlying native SDK pins to iOS CloudXCore ~> 3.4.4 and Android io.cloudx:sdk:4.1.3.
  • (Android) Resilient adapter initialization - A slow ad network no longer delays SDK startup; late adapters are held out of auctions until ready, then join automatically.
  • (Android) Server-driven always-reward mode - Reward callbacks can be guaranteed per line item from the dashboard, with no app-side change required.

Fixed

  • (iOS) App Store submission rejection - Removed a disallowed URL scheme from the SDK binary that could cause App Store review rejections.
  • (iOS) SDK initialization could fail for some accounts - Initialization now succeeds for accounts without an organization identifier.
  • (iOS) Google Waterfall lost fills - Slow-but-successful mediation responses are no longer discarded, improving fill reliability.
  • (iOS) Digital Turbine compatibility - Banner, MREC, Interstitial, and Rewarded now work across the full Fyber 8.x line.

Platform Support

  • iOS: CloudXCore ~> 3.4.4
  • Android: io.cloudx:sdk:4.1.3
Dashboard

Dashboard — Help menu resources

Dashboard Help menu changelog previewThe Dashboard Help menu now brings product help, support, and release updates into one place.Open Help in the sidebar to:
  • open CloudX documentation
  • contact the support team
  • browse recent releases under What’s new
  • open a release preview in the in-app changelog dialog
  • jump to the full docs timeline from Changelog
iOS

iOS SDK 3.4.4

Fixed

  • Digital Turbine adapter failed to link on Fyber Marketplace SDK below 8.4.0 — The adapter binary failed to link on a Fyber SDK below 8.4.0. It now links across the full 8.x line — Banner, MREC, Interstitial, and Rewarded work on Fyber 8.0.0+; native fill remains on 8.4.0+.
  • Google Waterfall — occasional lost fills on slow mediation responses — A Google Waterfall ad could be discarded when its mediation cascade responded slowly, even though it ultimately filled. Slow-but-successful responses are now delivered, improving fill reliability.
iOSUnity

iOS SDK 3.4.3

Added

  • Pangle Adapter — New CloudXPangleAdapter supporting Banner/MREC, Interstitial, and Rewarded ad formats. Install: pod 'CloudXPangleAdapter', '~> 3.4.3'. Backed by the Pangle (ByteDance) SDK Ads-Global ~> 7.9.0.

Changed

  • DigitalTurbine adapter — broader Fyber Marketplace SDK compatibilityCloudXDigitalTurbineAdapter now accepts Fyber_Marketplace_SDK >= 8.0.0 (previously >= 8.4.0). Banner, MREC, Interstitial, and Rewarded work across the full 8.x line; native fill remains on Fyber SDK 8.4.0+.

Fixed

  • App Store rejection from the itms-services URL scheme — removed the scheme from the SDK binary; store redirects are unaffected.
  • SDK init could fail for some accounts — fixed initialization failing for accounts without an organization identifier.

Unity SDK 4.1.3

SDK Updates

  • Updated Android SDK from 4.1.1 to 4.1.3 — see Android SDK changelog for details
  • Updated iOS SDK from 3.4.1 to 3.4.2 — see iOS SDK changelog for details
  • Added Google Waterfall and Digital Turbine adapter support for Android and iOS
Android

Android SDK 4.1.3

Changed

  • Resilient Adapter Initialization - A slow ad network adapter no longer blocks SDK initialization. Each adapter gets a soft init timeout; the SDK finishes initializing while it continues starting up in the background. Not-ready adapters are held out of auctions until they finish.
iOSCLIAPI

iOS SDK 3.4.2

Added

  • Google Waterfall Adapter — New CloudXGoogleWaterfallAdapter (Banner, MREC). Install via CocoaPods (pod 'CloudXGoogleWaterfallAdapter', '~> 3.4.2') or Swift Package Manager. Backed by Google-Mobile-Ads-SDK 12.14.0; requires a GADApplicationIdentifier in your Info.plist.

CloudX CLI 0.34

Expanded config writes

CloudX CLI 0.34 extends cloudx config edit beyond line items to cover apps, ad units, ad unit groups, lists, tags, test devices, network mappings, and A/B test lifecycle commands.

Added

  • Draft inventory edits — Added create, update, delete, and upsert commands for the main inventory entities. Draft edits validate automatically and still require cloudx config publish unless noted. Read the docs →
  • A/B test writes — Added A/B test create, update, start, end, promote, and delete commands. Lifecycle changes publish the resulting config immediately. Read the docs →

CloudX API — Configuration writes

The public API now exposes typed config write operations through POST /config/edit for apps, ad units, ad unit groups, lists, tags, test devices, network mappings, line items, and A/B tests.
Android

Android SDK 4.1.2

Added

  • Native-in-Banner Rendering - Native ad demand from supported adapters, including Meta, Moloco, and Vungle, can now serve into standard banner and MREC slots through the existing banner public API.

Changed

  • Server-Driven Always-Reward Mode - Rewarded ad adapters now honor a shouldAlwaysRewardUser flag configured per-line-item in the dashboard. The SDK fires the reward callback even for networks that don’t always deliver a reward signal. No integration change required.
iOSUnity

iOS SDK 3.4.1

Added

  • Digital Turbine Adapter — New CloudXDigitalTurbineAdapter (Banner, MREC, Interstitial, Rewarded, Native). Install: pod 'CloudXDigitalTurbineAdapter', '~> 3.4.1'. Backed by Fyber_Marketplace_SDK >= 8.4.0, < 9.0.

Fixed

  • Duplicate didLoadAd / didShowAd callbacks on banner refresh — When a partner adapter SDK fired its load or impression callback more than once, publishers could receive duplicates. The first callback is now canonical and re-fires are dropped, so one load and one impression emit per ad.

Unity SDK 4.1.0

What’s New

  • Added CloudXSdk.Arbiter(bids, onCompleted) for running a trusted-arbiter auction from Unity
  • Added SetBannerExtraParameter(adUnitId, key, value), SetMRecExtraParameter(adUnitId, key, value), SetInterstitialExtraParameter(adUnitId, key, value), and SetRewardedExtraParameter(adUnitId, key, value) to pass network-specific parameters to each ad format

SDK Updates

  • Updated Android SDK from 4.0.0 to 4.1.1 — see Android SDK changelog for details
  • Updated iOS SDK from 3.2.0 to 3.4.1 — see iOS SDK changelog for details
  • Added Moloco and Verve adapter support for Android and iOS
Android

Android SDK 4.1.1

Added

  • Digital Turbine Adapter Support - Added SDK support for the Digital Turbine Android adapter. Adapter artifacts continue to be released independently.
  • Expanded Network Mappings - Added SDK network mappings for BidMachine, Chartboost, Digital Turbine, LoopMe, MobileFuse, Pangle, PubMatic, and Yandex so compatible adapters can be released independently as they become available.

Changed

  • Digital Turbine Adapter Metadata - Updated Digital Turbine adapter metadata and error reporting compatibility for CloudX SDK 4.1.1.
  • Google Waterfall Adapter - Updated Google Waterfall support to Google Mobile Ads SDK 25.1.0 and added fallback banner/MREC impression reporting when AdMob impression-level revenue callbacks are unavailable.
React Native

React Native SDK 3.4.0

Added

  • Trusted Arbiter - Added support for comparing CloudX bids with supported third-party bids from Unity LevelPlay and PubMatic, and selecting the winning platform through CloudX arbitration.
  • Ad metadata - Added CloudXAdInfo.adValues for SDK-provided loaded-ad metadata used by features such as Trusted Arbiter.
  • Additional adapter coverage - Updated setup guidance for the latest supported iOS and Android adapter set, including Google Waterfall, Moloco, and Verve where supported by the underlying native SDKs.

Changed

  • Updated underlying native SDK pins to iOS CloudXCore ~> 3.4.0 and Android io.cloudx:sdk:4.1.0.

Platform Support

  • iOS: CloudXCore ~> 3.4.0
  • Android: io.cloudx:sdk:4.1.0
AndroidiOS

Android SDK 4.1.0

Added

  • Trusted Arbiter - Added support for comparing CloudX bids with supported third-party bids from Unity LevelPlay and PubMatic, and selecting the winning platform through CloudX arbitration.
  • LevelPlay Impression-Level Revenue Data - Added impression-level revenue tracking via Unity LevelPlay integration, alongside the existing AppLovin ILRD support.
  • Ad Value Accessors - Added CloudXAd.adValues for SDK-provided ad metadata.
  • Expanded Network Support - Added SDK support for Google Waterfall, Moloco, and Verve adapters. Adapter artifacts continue to be released independently.
  • MRAID 3.0 Ad View Rendering - Added CloudX renderer support for MRAID 3.0 banner and MREC creatives.

iOS SDK 3.4.0

Added

  • Verve Adapter — New CloudXVerveAdapter (Banner, MREC, Interstitial, Rewarded, Native). Install: pod 'CloudXVerveAdapter', '~> 3.4.0'. Backed by HyBid 3.8.0.
  • Moloco Adapter — New CloudXMolocoAdapter (Banner, MREC, Interstitial, Rewarded, Native). Install: pod 'CloudXMolocoAdapter', '~> 3.4.0'. Backed by MolocoSDKiOS ~> 4.6.0.
  • Non-SDK CloudX-rendered HTML banner and MREC with MRAID 3.0 — HTML banner and MREC creatives can now be served through the CloudX renderer, with MRAID 3.0 support.
  • Native-in-banner and native-in-MREC support — Native creatives can be served into banner or MREC slots on Meta, Vungle, and Moloco.
  • Trusted Arbiter — Added public APIs for comparing CloudX bids with supported third-party bids from Unity LevelPlay and PubMatic, and selecting the winning platform through CloudX arbitration.
  • CLXAd.adValues property — New read-only NSDictionary<NSString *, NSString *> exposing SDK-defined loaded-ad metadata. Values may be absent depending on ad format and network.

Changed

  • UnityAds adapter version range — Widened to accept Unity Ads 4.x patch releases (>= 4.17.0, < 5.0).
  • Publisher delegate main-queue threading is now documented contract — All CLXAdDelegate callbacks (and protocols that extend it) and CLXAdRevenueDelegate callbacks deliver on the main queue and may fire inline relative to the SDK call that triggered them. No runtime change.

Fixed

  • Native ad memory leak during long sessions — Long-lived publisher integrations that load many native ads no longer accumulate retained observers across native ad refresh cycles.
CLI

CloudX CLI 0.33

Config validation, line-item edits, and publishing

CloudX CLI 0.33 adds the ability to edit line items directly from your configuration workflow, publish reviewed drafts, and validate local YAML files or remote configs.To update an existing Homebrew installation to this release:

Added

  • Config validation — Added cloudx config validate [file] for validating local YAML files, plus remote validation of the live config, a published version, or a draft by ID. Use --strict to fail on warnings. Read the docs →
  • Line-item writes — Added cloudx config edit create-line-item, cloudx config edit update-line-item, and cloudx config edit delete-line-item for preparing line-item changes in a draft config. Draft edits run validation and never publish automatically. Read the docs →
  • Configuration publishing — Added cloudx config publish --id <draft-id> to publish a validated draft as the live config. Read the docs →
  • CLI upgrade notice — The CLI now shows a terminal notice when the CloudX API reports that a newer CLI version is available, with a link to update instructions.
APIDashboard

CloudX API — Public API release

CloudX now has a public API for programmatic access to reporting, auction inspection, and account configuration data. The API uses CloudX API keys as bearer tokens and is documented with an interactive OpenAPI reference. Read the docs →

Added

  • Reporting endpoints — Retrieve dashboard summaries, breakdown rows, bidder performance, app performance, ad-unit performance, and CSV-style exports.
  • Auction inspection endpoints — Inspect auctions, rounds, bids, ILRD rows, and related delivery details.
  • Configuration endpoints — Read live, draft, and published account configuration, including configuration history.

Dashboard — Frequency caps

CloudX Dashboard now supports SSP frequency caps for both ad units and segments.You can now:
  • cap a specific ad unit by hour, day, or session
  • cap traffic routed through a specific segment
  • set a default cap for requests that do not include any segments
Frequency caps are evaluated before the auction and counted on impression, so once capped inventory reaches its limit, CloudX returns no fill instead of continuing to serve. Ad-unit configuration is documented in Ad units.
CLI

CloudX CLI 0.32

To update an existing Homebrew installation to this release:

Added

  • API-key authenticationCLOUDX_API_KEY support for CI, scheduled jobs, scripts, and other non-interactive workflows. API keys are managed by administrators in Settings > API Keys. Read the docs →
  • CloudX breakdown reportingcloudx report breakdown --by <dimensions> --metrics <metrics> for CloudX-only aggregate reporting across requests, impressions, revenue, fill rate, eCPM, clicks, and CTR.
  • Report granularity and controlscloudx report dashboard and cloudx report export support --granularity daily|hourly; breakdown reports add hourly buckets, sorting, and filters with --granularity hourly, --top, --bottom, and --having.
  • Configurable request timeout — Global cloudx --timeout <duration> for API requests. The default remains 1m, and values are capped at 2m. Read the docs →
React Native

React Native SDK 3.2.0

This release updates the React Native SDK to use CloudX native SDK 3.2.0 on both iOS and Android. There are no required JavaScript API changes for publishers upgrading from 3.1.2.

Added

  • Magnite adapter support — adds Magnite adapter package support on both iOS and Android.
  • Improved diagnostics — expands native event visibility for dashboard and operational troubleshooting.
  • (Android) Bid-floor controls — adds support for native bid-floor controls in the ad request path.

Changed

  • Updated underlying native SDKs from 3.1.0 to 3.2.0.
  • (Android) Banner lifecycle handling — improves banner view attach and detach behavior for more consistent adapter behavior.

Fixed

  • (Android) Adapter discovery diagnostics — missing adapter dependencies now report clearer diagnostics.
  • (Android) Banner load errors — banner load failures now provide clearer diagnostics when a network reports a loaded banner without a renderable banner view.

Platform Support

  • iOS: CloudXCore ~> 3.2.0
  • Android: io.cloudx:sdk:3.2.0
CLI

CloudX CLI 0.31

Cross-mediator report sources

CloudX CLI 0.31 adds report source filtering for publishers that forward impression-level revenue data from external mediation platforms. Existing report commands stay CloudX-only by default, and --source can be used to opt into mediator ILRD where supported.To update an existing Homebrew installation to this release:

Added

  • Report source filtering — Added --source to cloudx report dashboard, cloudx report apps, and cloudx report ad-units. Use --source all for CloudX plus all available external mediator sources, --source applovin for one mediator, or --source cloudx,applovin for side-by-side comparison.
  • Source-aware report metrics — Dashboard, app, and ad-unit reports can now include external mediator ILRD for revenue, impressions, eCPM, and revenue share. Fill rate remains CloudX-only when external mediators are included because external ILRD does not include CloudX request counts.
  • Clearer source semantics--source uses the mediator/platform source from ILRD, such as applovin, not downstream demand network names such as ADMOB_BIDDING. Read the docs →
CLI

CloudX CLI 0.30

Auction list performance and timeout handling

CloudX CLI 0.30 focuses on making auction inspection more reliable during heavier searches and making timeout failures easier to understand.To update an existing Homebrew installation to this release:

Improved

  • Faster auction lists with ILRD filters — Improved cloudx auction list performance when working with ILRD-heavy searches, especially when narrowing results by external ILRD and mediator.
  • Longer default request timeout — Increased the default CLI timeout to 60 seconds, giving heavier requests more time to complete.
  • Clearer timeout errors — Timeout failures now show a clearer CLI message instead of a low-level networking error.
  • Better timeout visibility — Timed-out CLI requests are easier for CloudX support to identify and diagnose.
CLI

CloudX CLI 0.29

Auction and config inspection

CloudX CLI 0.29 expands the terminal workflow from reporting into production debugging. You can now inspect auctions, rounds, bids, ILRD payloads, live configs, drafts, and published config history without switching to the dashboard.To update an existing Homebrew installation to this release:

Added

  • Auction inspection — Added cloudx auction list, cloudx auction show, cloudx auction rounds, and cloudx auction bids for reviewing auction records, related rows, aggregate round metrics, bid and non-bid rows, floor sources, CloudX ILRD, and opted-in external mediator ILRD. Read the docs →
  • Config inspection — Added cloudx config show for live configs, published versions, drafts, and config rows addressed by ID, with YAML output by default and JSON output for automation. Read the docs →
  • Config history — Added cloudx config history for published config history, creator filtering, recent-change filtering, draft inclusion, and publish-time diff summaries.
  • Workflow examples — Updated CLI examples and overview pages with auction, config, JSON, and combined reporting workflows. See examples →
UnityDashboard

Unity SDK 4.0.0

What’s New

  • Added Unity Package Manager (UPM) consumer support so the SDK can be referenced from internal UPM packages. Runtime and editor scripts now ship with assembly definitions (CloudX.Sdk and CloudX.Sdk.Editor).
  • Removed the runtime dependency on Newtonsoft.Json. The SDK no longer requires com.unity.nuget.newtonsoft-json to be present in your project.

SDK Updates

Dashboard — A/B Testing

A/B testingStop guessing whether a new line item, bid floor, or network configuration will actually move the needle. A/B Testing lets you split impressions between your current setup and an edited variant, then watch them race head-to-head on the metrics that matter — revenue, eCPM, fill rate, and impressions — all in real time, in production.When the data is in, promoting the winner takes a click. Open any active ad unit, hit Create A/B test, and start optimizing your monetization strategy with the rigor your revenue deserves. Read the docs →
AndroidMCP

Android SDK 4.0.0

Breaking Changes

  • Adapter Version Compatibility - Adapters now declare their minimum CloudX SDK version. The SDK skips incompatible adapters during initialization.

Added

  • Independent Adapter Versions - CloudX adapters are now released independently from the core SDK, allowing compatible adapter updates to ship on their own release schedule.

Changed

  • Publisher Release Builds - Improved release-build compatibility by preserving the CloudX runtime classes required for SDK initialization and adapter loading.

Fixed

  • Release Build Initialization - Fixed an issue that could prevent SDK initialization in minified publisher builds.
The numbers you need, the way you ask. CloudX now has a hosted Model Context Protocol server that plugs straight into ChatGPT, Claude Code, Cursor, Codex, and any other MCP client of your choosing — so your AI assistant can pull live revenue, fill rate, eCPM, and bidder performance from CloudX without you copy-pasting between tabs.Ask “how did US iOS traffic perform last week?” and get the actual numbers back, filtered exactly the way you’d filter them in the dashboard. Ask “how do I integrate the Magnite adapter?” and get an answer grounded in our real docs. Read the docs →
AndroidUnity

Android SDK 3.2.0

Added

  • Magnite Adapter - Added Magnite adapter support for banner, interstitial, and rewarded ads.
  • Per-Request Bid Floor Overrides - Added APIs for per-request bid floor overrides so publishers can send request-scoped floor controls through the SDK bid pipeline.

Changed

  • Improved banner and MREC lifecycle handling across adapters for more consistent rendering, refresh, and cleanup behavior.

Fixed

  • Improved SDK resilience when optional adapter or network SDK dependencies are missing at runtime.
  • Fixed Vungle banner load errors so invalid banner load states are surfaced through SDK error callbacks.

Unity SDK 3.2.0

What’s New

  • Added DestroyInterstitial(adUnitId) and DestroyRewarded(adUnitId) to the Unity API so fullscreen ads can be explicitly destroyed and cleaned up

SDK Updates

  • Updated Android SDK from 3.1.0 to 3.2.0 — see Android SDK changelog for details
  • Updated iOS SDK from 3.1.0 to 3.2.0 — see iOS SDK changelog for details
  • Added Magnite adapter support for Android and iOS
iOSCLI

iOS SDK 3.2.0

Added

  • Magnite Adapter — New CloudXMagniteAdapter (Banner, MREC, Interstitial, Rewarded). Install: pod 'CloudXMagniteAdapter', '~> 3.2.0'.
  • Richer dashboard telemetry — Full telemetry overhaul. More robust event capture, new events, and increased observability.

CloudX CLI 0.28

CloudX in your terminal

CLI dashboard reportSome questions don’t need a browser. With the new CloudX CLI, your daily numbers are one keystroke away — cloudx report dashboard shows revenue, fill rate, eCPM, and trends right next to your prompt. Filter by country, platform, ad unit, or test traffic the same way you would in the dashboard.When you need data downstream, switch to --json for structured output or cloudx report export for CSV ready to pipe into a spreadsheet, a notebook, or another tool. Install with brew install cloudx, sign in once, and your reporting workflow follows you wherever you work. Read the docs →
React Native

React Native SDK 3.1.2

Major bump aligning the React Native SDK with the 3.1.0 native SDKs, and adds a manual privacy API in JavaScript.
Install 3.1.2 or later — 3.1.0 and 3.1.1 are not installable. Both earlier 3.1 versions were removed from npm after a release-build issue on iOS. 3.1.2 is the first installable release of the 3.1 line.
Native Ads support is tracked separately and is not part of this release.

Added

  • Manual Privacy APICloudX.setHasUserConsent(value) and CloudX.setDoNotSell(value) bridge to the native privacy APIs on iOS and Android. Accepts boolean to set, or null to clear a previously set value and fall back to the IAB storage.
  • Error Codes — added LOAD_NOT_ALLOWED_WHILE_SHOWING (303) and ADAPTER_INITIALIZATION_TIMEOUT (622) to CloudXErrorCode.

Changed

Updated underlying native SDKs from 2.2.3 to 3.1.0. For full platform-specific details, see the native changelogs:This SDK now pins iOS CloudXCore ~> 3.1.0 and Android io.cloudx:sdk:3.1.0, and all bundled adapters pin to the same major. The native Android SDK’s new Context requirement is handled by the bridge — no publisher code changes required.

Fixed

  • (iOS) Release-build compile error — resolves a compile error that prevented archiving an app against the earlier 3.1.0 and 3.1.1 builds for App Store submission.
  • Banner and MREC render delay — on some devices, a banner or MREC could report a successful load but stay blank until the next auto-refresh (~30 seconds later). The first impression now renders immediately on show.

Upgrading from 2.2.3

  • (iOS) Remove any manual top-inset workaround. If you passed the device’s top safe-area inset as yOffset to CloudXBannerAd.createAdWithOffsets (e.g., insets.top from react-native-safe-area-context), remove it; an extra offset now pushes the banner below the safe area.
  • (iOS) TOP_CENTER and BOTTOM_CENTER banners now position themselves inside the safe area automatically. Use CloudXBannerAd.createAd(adUnitId, CloudXAdPosition.TOP_CENTER) for the default placement.
  • Banner and MREC view lifecycle. Banner and MREC ads now load detached from your view hierarchy and attach to the presenting view controller (iOS) or root content view (Android) on showBanner / showMREC. Noted for publishers who inspect the native view hierarchy between create and show.
  • Pre-load banners and MRECs into memory. Because ads load detached, you can now pre-load a banner or MREC and show it later without it occupying a parent view in the meantime.

Platform Support

  • iOS: CloudXCore ~> 3.1.0
  • Android: io.cloudx:sdk:3.1.0
AndroidUnity

Android SDK 3.1.0

Added

  • Native Ads - Added native ad support with CloudX.createNativeAdLoader(), CloudXNativeAdLoader, CloudXNativeAd, CloudXNativeAdListener, and CloudXNativeLoaderConfiguration, backed by the Meta adapter.

Changed

  • Improved adapter initialization, privacy forwarding, and ad load/show reliability across supported networks.
  • Reduced startup and initialization work on the main thread to improve app launch stability and lower ANR risk.
  • Unity 2022 Meta Compatibility - adapter-meta now brings in Meta Audience Network 6.20.0 transitively by default for Unity 2022 compatibility. If your integration uses native ads, explicitly add Meta Audience Network 6.21.0 or newer in your app:

Fixed

  • Improved SDK resilience for missing network SDK dependencies and adapter load failures.

Unity SDK 3.1.0

What’s New

  • Revenue-paid callbacks are now delivered immediately and may run off the Unity main thread on Android and iOS

Integration Notes

  • Do not touch Unity scene or UI APIs directly inside OnAdRevenuePaid. Dispatch back to the main thread first if needed.

SDK Updates

iOS

iOS SDK 3.1.0

Added

  • Meta Reels & Native Ads — Meta Reels (9:16 vertical video) and other Meta native ad formats are now supported via CLXPublisherNative. This release supports Meta native ads only; additional bidder support is coming in a future release.
  • Per-Adapter Initialization Timeout — SDK initialization now supports per-adapter timeouts for more predictable startup behavior.

Fixed

  • Xcode 26 Compatibility — Resolved a build warning when compiling with Xcode 26.
iOS

iOS SDK 2.2.9

Fixed

  • Unity Ads Adapter — Fixed initialization, privacy consent forwarding, rewarded callbacks, and bid token error handling for improved reliability across regions.
AndroidUnity

Android SDK 3.0.0

Breaking Changes

  • CloudX.initialize() now requires an Android Context, and the public ad creation APIs now require Context as well: createBanner(), createMREC(), createInterstitial(), and createRewarded().

Changed

  • Removed automatic process-start initialization; apps now provide Context explicitly through SDK initialization and ad creation APIs.
  • Reduced SDK work before CloudX.initialize() is called, lowering main-thread startup overhead and ANR risk.

Unity SDK 3.0.0

SDK Updates

iOS

iOS SDK 2.2.8

Fixed

  • Crash Fix — Fixed a crash that could occur during concurrent ad event tracking on background threads
AndroidUnity

Android SDK 2.2.7

Fixed

  • Reduced startup ANR risk for apps that include the SDK before calling CloudX.initialize().

Unity SDK 2.2.7

What’s New

  • Added first-party metrics telemetry coverage across Android SDK call sites through the updated Android SDK
  • Fixed iOS banner display after deferred initialization and improved Vungle adapter runtime reliability through the updated iOS SDK

Integration Notes

  • The Unity integration flow and banner/MREC placement/custom-data ordering guidance introduced in 2.2.6 remain unchanged in this release

SDK Updates

AndroidiOSUnity

Android SDK 2.2.6

Changed

  • Improved ad lifecycle, revenue, and crash reporting reliability across SDK and network-adapter events.
  • Improved banner, interstitial, and rewarded event attribution so placement and custom data are tracked consistently.

Fixed

  • Improved error reporting for bid response parsing, adapter initialization, and ad load failure paths.

iOS SDK 2.2.7

Fixed

  • Deferred Banner Display — Fixed an issue where banners created before SDK initialization completed could fail to display after initialization succeeded
  • Vungle Adapter Reliability — Fixed an issue where Vungle rewarded and interstitial ads could crash at runtime due to a method being incorrectly stripped during linking

Unity SDK 2.2.6

What’s New

  • Added isAdReady support across fullscreen adapters through the updated Android and iOS SDKs
  • Added Unity Ads privacy consent forwarding through the updated iOS SDK

Integration Notes

  • For Unity banner and MREC ads, call SetBannerPlacement(...) / SetBannerCustomData(...) and SetMrecPlacement(...) / SetMrecCustomData(...) before CreateBanner(...) or CreateMrec(...) if you want those values applied to the first ad request

SDK Updates

AndroidiOS

Android SDK 2.2.5

Added

  • Added CloudXErrorCode.LOAD_NOT_ALLOWED_WHILE_SHOWING for fullscreen load() calls made while the same ad instance is actively showing.
  • Added fullscreen adapter readiness checks across interstitial and rewarded adapters.

Changed

  • Improved fullscreen ad readiness handling so expired or invalidated network ads are no longer reported as ready.
  • Improved fullscreen ad reuse behavior to avoid serving stale cached ads.

Fixed

  • Fixed fullscreen load() being accepted during an active show; it now fails immediately with onAdLoadFailed(..., LOAD_NOT_ALLOWED_WHILE_SHOWING).
  • Fixed stale fullscreen ads being reported as ready after the network SDK had already invalidated or expired the underlying ad object.
  • Fixed Mintegral GDPR consent propagation for CMP-managed integrations.

iOS SDK 2.2.6

Added

  • Privacy Consent for Unity Ads — Unity Ads adapter now supports GDPR and CCPA privacy consent forwarding
  • isAdReady Support — Fullscreen ad adapters now support isAdReady for reliably querying ad availability before calling show

Fixed

  • Banner Visibility Accuracy — Fixed an issue where setting banner.hidden = YES did not pause ad refresh. Hidden banners could continue loading ads without being impression-eligible, potentially impacting CPMs.
  • Improved Dependency Compatibility — Widened third-party SDK version constraints (VungleAds, FBAudienceNetwork, InMobiSDK) to prevent CocoaPods dependency conflicts when integrating alongside other mediation SDKs
  • Fullscreen Ad Reliability — Fixed an issue where ad lifecycle callbacks could be silently lost in rare scenarios
  • iOS 16 Crash Fix — Fixed a crash on iOS 16 devices related to session tracking
Unity

Unity SDK 2.2.4

What’s New

  • Added SetHasUserConsent(bool?) and SetDoNotSell(bool?) for manual privacy overrides before initialization
  • Added automatic NSUserTrackingUsageDescription injection during the iOS post-process step when the app has not defined one yet

Fixes

  • Fixed Android banner view initialization so newly created banner views start hidden until you show them
  • Fixed iOS interstitial and rewarded show-failure callbacks so OnAdShowFailed now includes both the failed CloudXAd and the corresponding CloudXError, matching the Unity callback contract
  • Updated the Unity demo app to initialize banner and MREC views once and retry fullscreen ads after both load failures and show failures

SDK Updates

AndroidiOSReact Native

Android SDK 2.2.4

Added

  • Server-Driven Location Sharing - Added server-controlled location sharing with publisher opt-out support and reduced coordinate precision.
  • Added server-controlled remote log collection to help diagnose publisher integration issues.
  • Added content-language targeting support in bid requests.
  • Added more granular no-fill reasons in SDK error messages.

Changed

  • Improved SDK diagnostic and crash reporting reliability for ad lifecycle events.

Fixed

  • Fixed release-build rules so CloudX adapters are preserved correctly in minified apps.
  • Fixed Mintegral adapter crash on Android API 23.

iOS SDK 2.2.4

Changed

  • Server-Driven Location Controls — Location coordinate sharing in bid requests is now controlled via the CloudX dashboard (account-scoped). No SDK code changes required for publishers.
  • Improved Bid Request Data — Content language is now included in bid requests for improved ad targeting

React Native SDK 2.2.3

Added

  • Unity Ads Adapter — Unity Ads now available for banner, interstitial, and rewarded ads (iOS and Android)
  • Mintegral Adapter — Mintegral adapter now available as a standard release (iOS and Android)

Improved

  • Fullscreen Ad Reliability — Fixed issues where loading a fullscreen ad while another was showing could silently fail (iOS), and ad reload now works correctly in hidden/display-failed callbacks (Android)
  • Error Diagnostics — Improved error visibility for no-bid scenarios, making it easier to diagnose fill rate issues
  • Reduced SDK Footprint — (Android) Removed appcompat and webkit transitive dependencies; renderer now bundled in the core SDK module

Changed

Updated underlying native SDKs from 2.0.0 to 2.2.3. For full platform-specific details, see the native changelogs:

Platform Support

  • iOS: CloudXCore ~> 2.2.3
  • Android: io.cloudx:sdk:2.2.3
Unity

Unity SDK 2.2.3

SDK Updates

  • Updated Android SDK from 2.2.2 to 2.2.3 — see Android SDK changelog for details
  • Updated iOS SDK from 2.2.2 to 2.2.3 — see iOS SDK changelog for details
  • Added Unity Ads adapter support for Android and iOS
Android

Android SDK 2.2.3

Added

  • Added server-controlled diagnostic log collection for integration support.

Changed

  • Renamed the Unity adapter artifact to adapter-unityads and aligned Unity Ads naming across SDK setup and documentation.

Fixed

  • Fixed Unity Ads network name casing to match server bidder configuration.
iOSFlutter

iOS SDK 2.2.3

Added

  • Unity Ads Adapter — Unity Ads adapter now available for banner, interstitial, and rewarded ads

Fixed

  • Unity Ads Initialization — Fixed an issue where the Unity Ads adapter could fail to initialize correctly in some configurations

Flutter SDK 2.2.3

First public release on pub.dev. The Dart package major.minor.patch matches the CloudX native SDKs it ships against (iOS CloudXCore, Android io.cloudx:sdk).

Requirements

  • Dart SDK: >=2.17.1 <4.0.0 (see the package pubspec on pub.dev)
  • Flutter: >=3.0.0
  • iOS: 13.0+
  • Android: minSdk 23 (API 23)
The Dart floor is set low on purpose so apps on older stable Flutter lines can adopt cloudx_flutter without a full toolchain jump.

Included in this release

  • Banner, MREC, interstitial, and rewarded ads; programmatic overlay APIs and inline CloudXAdView
  • Listener callbacks, targeting key/values, impression-level revenue (onAdRevenuePaid), and related lifecycle events
  • Privacy helpers CloudX.setHasUserConsent and CloudX.setDoNotSell (nullable bool? clears overrides and defers to CMP where applicable)
  • Native pins: CloudXCore 2.2.3 (iOS), io.cloudx:sdk 2.2.3 (Android)

Host app: network adapters

The published plugin is core-only. Declare only the ad-network adapters you need in CocoaPods and Gradle, all at 2.2.3 (Meta, Vungle, InMobi, Mintegral, Unity Ads, renderer, etc.). For Unity Ads, add CloudXUnityAdsAdapter and io.cloudx:adapter-unityads. See the Flutter integration guide for copy-paste snippets.

Android: Mintegral

If you depend on io.cloudx:adapter-mintegral, you must add Mintegral’s Maven repository to Gradle — artifacts are not on Maven Central. See Android integration — Mintegral Maven repository.
AndroidUnity

Android SDK 2.2.2

Added

  • Improved SDK initialization diagnostics by reporting adapter metadata.

Fixed

  • Fixed InMobi bid token retrieval by ensuring token collection runs on the main thread.

Unity SDK 2.2.2

SDK Updates

  • Updated Android SDK from 2.2.1 to 2.2.2 — see Android SDK changelog for details
  • Updated iOS SDK from 2.0.0 to 2.2.2 — see iOS SDK changelog for details
  • Lowered iOS minimum deployment target from 15.0 to 13.0
  • Added Mintegral adapter support (Android + iOS)
iOS

iOS SDK 2.2.2

Added

  • Manual Privacy API — New setHasUserConsent: and setDoNotSell: methods for publisher-controlled privacy consent
  • Mintegral Adapter — Mintegral adapter now available as a standard release

Fixed

  • Improved Error Visibility — Increased error visibility for no-bid scenarios, making it easier to diagnose fill rate issues
  • Fullscreen Ad Loading — Fixed an issue where loading a fullscreen ad while another was showing could silently fail
  • Fullscreen Failure Callbacks — Fixed missing ad unit ID in fullscreen ad failure callbacks
  • Renderer Impression Tracking — Fixed viewability tracking accuracy in CloudX Renderer

Changed

  • Mintegral SDK — Upgraded from 8.0.7 to 8.0.8
AndroidUnity

Android SDK 2.2.1

Changed

  • Hardened the Mintegral adapter against null values and ad load exceptions across supported ad formats.
  • Bumped Mintegral SDK from 17.0.61 to 17.0.91.

Fixed

  • Fixed adapter bid extras collection so an exception from one adapter no longer prevents extras from subsequent adapters being included.

Unity SDK 2.2.1

SDK Updates

  • Updated Android SDK from 2.2.0 to 2.2.1 — see Android SDK changelog for details
  • Added Mintegral adapter and Maven repository for Android
AndroidUnity

Android SDK 2.2.0

Added

  • Impression-Level Revenue Data - Added impression-level revenue tracking with CloudX auction correlation via AppLovin integration.
  • Ad Click Tracking - Added click notification support when users tap ads.
  • Manual Privacy API - Added CloudX.setHasUserConsent() and CloudX.setDoNotSell() with adapter privacy forwarding.
  • Kotlin Suspend Initialization - Added a suspend CloudX.initialize(context, config) overload for Kotlin callers.
  • Device-Level Reporting - Added Android ID based device-level reporting for DAU/MAU analytics when available.
  • Adapter Error Diagnostics - Added adapter error reporting across banner, interstitial, and rewarded ads.
  • Network SDK Crash Reporting - Added crash reporting for crashes originating from supported ad network SDKs.
  • Creative Type Support - Added creative type support in the CloudX renderer.

Changed

  • Moved the CloudX renderer into the core SDK, so publishers no longer need a separate CloudX renderer adapter module.
  • Removed appcompat and webkit transitive dependencies from the SDK to reduce dependency surface area and APK size.
  • Improved reporting delivery reliability by retaining events for retry on transient send failures.
  • Bumped Vungle SDK from 7.6.1 to 7.7.1.
  • Bumped InMobi SDK from 11.1.0 to 11.1.1, including an upstream BroadcastReceiver leak fix.

Fixed

  • Fixed location data handling for geo-based targeting and reporting.
  • Fixed incorrect INVALID_APP_KEY errors for non-config HTTP responses.
  • Improved retry classification for transient network and server errors.

Unity SDK 2.2.0

SDK Updates

React Native

React Native SDK 2.0.0

First stable release of the CloudX React Native SDK.

Added

  • Full SDK integration with banner, MREC, interstitial, and rewarded ad formats
  • Programmatic overlay APIs for banner (CloudXBannerAd) and MREC (CloudXMRECAd)
  • Fullscreen ad modules: CloudXInterstitialAd and CloudXRewardedAd
  • React hooks: useCloudXInterstitial, useCloudXRewarded, useCloudXBanner
  • Privacy compliance support (CCPA, GDPR, GPP via IAB shared storage)
  • User targeting with key-value pairs (setUserKeyValue, setAppKeyValue)
  • Impression-level revenue tracking via addAdRevenuePaidListener
  • App Tracking Transparency (ATT) support for iOS 14+
  • Display failure events (addAdFailedToDisplayEventListener) for interstitial and rewarded
  • Full TypeScript type definitions with CloudX-prefixed namespace
  • Fabric (New Architecture) and Paper (Legacy) support

Fixed (iOS — since 2.0.0-beta.1)

  • Fixed duplicate onInterstitialHidden / onRewardedAdHidden callbacks firing twice on close
  • Fixed double revenue callback for rewarded ads
  • Fixed thread-safety crash in bid token dictionary construction
  • showInterstitial / showRewarded now emit display failure events when topViewController is nil (previously silent return)
  • didFailToLoadAd: now broadcasts to all fullscreen listeners when adUnitId is nil (previously silent)
  • rewardAmount sent as NSNumber instead of NSString (type alignment with Android and TypeScript)
  • Improved diagnostic logging for load/failure paths

Platform Support

  • iOS: CloudXCore ~> 2.2.0-beta
  • Android: io.cloudx:sdk:2.0.0
AndroidUnity

Android SDK 2.0.1

Changed

  • Improved Unity 2022.3 compatibility by removing database runtime dependencies from SDK event persistence.
  • Downgraded Meta Audience Network SDK from 6.21.0 to 6.20.0 to avoid Unity 2022.3 build incompatibilities.

Fixed

  • Fixed a concurrency issue that could occur during impression tracking.
  • Fixed Meta rewarded ad handling for apps using singleTask launch mode.

Unity SDK 2.0.1

This patch release adds full compatibility with Unity Engine 2022.3.

Compatibility

  • Added support for Unity Engine 2022.3 LTS

SDK Updates

React Native

React Native SDK 2.0.0-beta.1

Added

  • Initial full SDK integration with CloudX Core SDK
  • Banner ads via CloudXBannerAd module
  • MREC ads (300x250) via CloudXMRECAd module
  • Interstitial ads via CloudXInterstitialAd module
  • Rewarded ads via CloudXRewardedAd module
  • React hooks: useCloudXInterstitial, useCloudXRewarded, useCloudXBanner
  • Privacy compliance support (CCPA, GDPR, GPP)
  • User targeting with key-value pairs
  • Impression-level revenue tracking
  • App Tracking Transparency (iOS)
  • Full TypeScript type definitions
  • Fabric (New Architecture) and Paper (Legacy) support

Platform Support

  • iOS: CloudXCore ~> 2.1.0-beta
  • Android: io.cloudx:sdk:2.0.0
Unity

Unity SDK 2.0.0

Breaking Changes

  • Banner and MREC ads no longer auto-load after creation. You must now call LoadBanner() or LoadMrec() explicitly after CreateBanner() or CreateMrec()
  • CloudXAd property renames:
    • PlacementName is now AdUnitId
    • BidderName is now NetworkName

What’s New

  • Added placement and custom data support for all ad formats:
    • SetBannerPlacement(adUnitId, placement) and SetBannerCustomData(adUnitId, customData)
    • SetMRecPlacement(adUnitId, placement) and SetMRecCustomData(adUnitId, customData)
    • ShowInterstitial(adUnitId, placement?, customData?) now accepts optional placement and customData parameters
    • ShowRewarded(adUnitId, placement?, customData?) now accepts optional placement and customData parameters
  • New CloudXAd properties: AdFormat, Placement, NetworkPlacement

SDK Updates

  • Updated Android SDK from 0.12.1 to 2.0.0
  • Updated Android adapters from 0.12.1 to 2.0.0
  • Updated iOS CloudXCore from 1.3.0 to 2.0.0
  • Updated iOS CloudXRenderer from 1.3.0 to 2.0.0
  • Updated iOS adapters from 1.3.0 to 2.0.0
AndroidiOS

Android SDK 2.0.0

This release replaces placement names with Ad Unit IDs from the CloudX dashboard. Update your createBanner(), createMREC(), createInterstitial(), and createRewarded() calls to use the ad unit ID instead of a placement name.

Added

  • Rewarded Ads - Added rewarded ads with CloudX.createRewarded(), CloudXRewardedAd, CloudXRewardedListener, and CloudXReward.
  • InMobi Adapter - Added InMobi adapter support for banner, MREC, interstitial, and rewarded ads.
  • Vungle Rewarded Ads - Added rewarded ad support to the Vungle adapter.
  • Added CloudX.isInitialized() to check SDK initialization state.
  • Added CloudX.getVersion() to get the SDK version string.
  • Added setPlacement() and setCustomData() on CloudXAdView for tracking.
  • Added show(activity, placement, customData) overloads on fullscreen ads for tracking.
  • Added CloudXSdkConfiguration in the onInitialized() callback.
  • Added CloudXAd.networkPlacement for network-specific placement IDs.
  • Added new error codes: NETWORK_NO_CONNECTION, AD_ALREADY_SHOWING, DONT_KEEP_ACTIVITIES_ENABLED, AD_NOT_READY, and INVALID_APP_KEY.

Breaking Changes

  • Bumped minSdk from 21 to 23.
  • Replaced CloudXInitializationParams with CloudXInitializationConfiguration.
  • Renamed placementName parameters to adUnitId in createBanner(), createMREC(), createInterstitial(), and createRewarded().
  • Renamed CloudXAd.placementId to adUnitId.
  • Removed CloudXAd.placementName.
  • Renamed CloudXAd.bidderName to networkName.
  • Renamed CloudXErrorCode.INVALID_PLACEMENT to INVALID_AD_UNIT.
  • Changed onAdLoadFailed(placementName, cloudXError) to onAdLoadFailed(adUnitId, cloudXError).
  • Changed onAdDisplayFailed(cloudXError) to onAdDisplayFailed(cloudXAd, cloudXError).
  • Changed onInitialized() to onInitialized(configuration: CloudXSdkConfiguration).
  • Removed the testMode initialization parameter; test mode is now server-controlled.
  • Changed show() to show(activity) for interstitial and rewarded ads.

Changed

  • Updated Meta Audience Network SDK from 6.17.0 to 6.21.0.

Fixed

  • Fixed ad reload behavior in onAdHidden and onAdDisplayFailed callbacks.
  • Ensured all load() and show() callbacks are delivered on the UI thread.

iOS SDK 2.0.0

This release replaces placement names with Ad Unit IDs from the CloudX dashboard. Update your createBannerWithAdUnitId:, createMRECWithAdUnitId:, createInterstitialWithAdUnitId:, and createRewardedWithAdUnitId: calls to use the ad unit ID instead of a placement name.

Added

  • Rewarded ads with createRewardedWithAdUnitId:delegate: and CLXRewardedDelegate
  • InMobi adapter (SDK 11.1) with support for banner, MREC, interstitial, and rewarded ads
  • CLXAd.networkPlacement property for network-specific placement ID

Breaking Changes

  • Renamed placement parameter to adUnitId in createBannerWithAdUnitId:, createMRECWithAdUnitId:, createInterstitialWithAdUnitId:, createRewardedWithAdUnitId:
  • Renamed CLXAd.placement to adUnitId
  • Renamed CLXAd.bidderName to networkName
  • Renamed CLXErrorCodeInvalidPlacement to CLXErrorCodeInvalidAdUnit
  • Changed bannerAdView:didFailWithError: to include ad unit ID in error
  • Removed testMode parameter from initializeSDKWithAppKey:completion: - test mode is now server-controlled via dashboard

Changed

  • Meta Audience Network SDK updated from 6.17.0 to 6.21.0
  • Vungle SDK updated from 7.4.2 to 7.6.0

Fixed

  • Fixed IFA (Identifier for Advertisers) collection
  • Fixed country/geo-targeting data collection
Unity

Unity SDK 0.12.1

What’s New

  • Added support for iOS platform

Performance Improvements

  • Android: BidToken is now generated on a background thread for improved performance

SDK Updates

  • Updated Android SDK from 0.12.0 to 0.12.1

Improvements

  • Renamed internal UnityMainThreadDispatcher class to avoid namespace collisions with third-party packages
Android

Android SDK 0.12.1

Fixed

  • Fixed an ANR risk in the Meta adapter caused by bid token collection on the main thread.

Android SDK 0.11.1

Fixed

  • Fixed an ANR risk in the Meta adapter caused by bid token collection on the main thread.
Unity

Unity SDK 0.12.0

Initial release of CloudX Unity SDK
AndroidiOS

Android SDK 0.12.0

Breaking Changes

  • Removed CloudXError.effectiveMessage; use message directly instead.
  • Removed setLoggingEnabled(); use setMinLogLevel(CloudXLogLevel.NONE) to disable logging.
  • Removed CloudXPrivacy; privacy is now handled automatically through standard privacy signals.

Changed

  • Enhanced GDPR support with GPP Section 2 parsing and vendor consent checking.
  • Simplified TCF purpose checks to only require purposes 1 and 2.
  • Added CCPA support via GPP with legacy US Privacy fallback.
  • Removed COPPA handling.
  • Added CloudXLogLevel.NONE for disabling logs.

Fixed

  • Fixed geo API failure handling during initialization.

iOS SDK 1.3.0

Added

  • Banner Refresh Retry - Banners now automatically retry loading after failure when hidden

Fixed

  • App Extension Compatibility - SDK now works correctly in App Extensions (no UIApplication calls)
  • Rewarded Delegate Callbacks - Fixed callback ordering bug
  • Symbol Collisions - All category methods now prefixed with clx_ to prevent conflicts

Changed

  • CloudXCore now distributed as Dynamic Framework - Enables crash symbolication for SDK issues
Android

Android SDK 0.11.0

Changed

  • Migrated the SDK HTTP client from Ktor 3.0.3 to OkHttp 4.12.0.
  • Added destroyed-state guards across ad formats.
iOS

iOS SDK 1.2.1

Added

  • Visual Debugger Button - New debugging tool for development and QA
  • High-ROI Key-Value Targeting Examples - Enhanced demo apps with targeting signal examples

Fixed

  • Corrected vendored_frameworks paths in podspecs
Android

Android SDK 0.10.0

Added

  • Vungle Adapter - Added Vungle adapter support for banner and interstitial ads.

Changed

  • Simplified the log tag to CloudX for easier logcat filtering.
  • Added public API entry logging for easier integration debugging.
  • SDK initialization now fails early with a clear error when no adapters are found.

Fixed

  • Fixed banner refresh stopping after load failure.
AndroidiOS

Android SDK 0.9.0

Added

  • Added ad revenue tracking via CloudXAdRevenueListener.onAdRevenuePaid().

Changed

  • Upgraded Ktor from 2.3.8 to 3.0.3 for improved compatibility with apps using Ktor 3.x.

Fixed

  • Fixed memory leaks in ad lifecycle management.
  • Improved SDK stability.

iOS SDK 1.2.0

🚀 First Official Release

Initial release of the CloudX iOS SDK with support for banner, MREC, and interstitial ads.
Android

Android SDK 0.6.0

Added

  • Added testMode support to CloudXInitializationParams for requesting test ads during development.
Android

Android SDK 0.4.0

Added

  • Initial alpha release of CloudX Android SDK.
  • Added banner and MREC ad support.
  • Added interstitial ad support.
  • Added real-time bidding with CloudX mediation.
  • Added CloudX and Meta Audience Network adapter support.
  • Added privacy compliance support for GDPR, CCPA, US Privacy, TCF, and GPP signals.
  • Added session depth tracking for bid optimization.
  • Added ad lifecycle callbacks and error handling.
  • Added debug logging with configurable log levels.