Documentation Index
Fetch the complete documentation index at: https://docs.cloudx.io/llms.txt
Use this file to discover all available pages before exploring further.
April 28, 2026
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.SdkandCloudX.Sdk.Editor). - Removed the runtime dependency on
Newtonsoft.Json. The SDK no longer requirescom.unity.nuget.newtonsoft-jsonto be present in your project.
SDK Updates
- Updated Android SDK from 3.2.0 to 4.0.0 — see Android SDK changelog for details
April 24, 2026
Android SDK 3.2.0
Added
- Magnite Adapter — Added
adapter-magnitewith banner, interstitial, and rewarded support, plus privacy forwarding, bid extras, and metadata integration for Magnite demand - Per-Request Bid Floor Overrides — Added an Android API for per-request bid floor overrides and expanded bid request extras handling so publishers can send request-scoped floor controls through the SDK bid pipeline
Changed
- Adapter Integration Surface — Replaced adapter listener
extraInfomaps withBundle, renamed extras types to clearerPub/Adapterprefixes, and now source SDK version reporting from adapter params instead ofBuildConfigso adapters receive the version actually used by the request - Banner Lifecycle Ownership — Moved banner view attach and detach handling out of individual adapters and into the SDK delegate so banner integrations behave more consistently across networks
- Telemetry Payload Alignment — Aligned Android telemetry with the iOS and backend wire contract, added app version and build number to
TelemetrySdkContext, restored gzip compression on telemetry endpoints, and now forwards raw ILRD ad format values to the backend
Fixed
- Adapter Discovery Hardening — Centralized reflective adapter loading and now tracks discovery failures explicitly, improving resilience when network SDK classes or adapter objects are missing at runtime
- Vungle Banner Load Errors — Banner load callbacks now surface
INVALID_LOAD_STATEwhen Vungle reportsonAdLoaded()without a banner view instance, instead of leaving that path ambiguous
Unity SDK 3.2.0
What’s New
- Added
DestroyInterstitial(adUnitId)andDestroyRewarded(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
April 22, 2026
April 21, 2026
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 API —
CloudX.setHasUserConsent(value)andCloudX.setDoNotSell(value)bridge to the native privacy APIs on iOS and Android. Acceptsbooleanto set, ornullto clear a previously set value and fall back to the IAB storage. - Error Codes — added
LOAD_NOT_ALLOWED_WHILE_SHOWING(303) andADAPTER_INITIALIZATION_TIMEOUT(622) toCloudXErrorCode.
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 iOSCloudXCore ~> 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 used
CloudXBannerAd.createAdWithOffsetsand passed the device’s top safe-area inset as theyOffset(for example,insets.topfromreact-native-safe-area-context), remove it.TOP_CENTERandBOTTOM_CENTERbanners already position themselves inside the safe area automatically, so an additional offset will push the banner below the safe area on devices with a notch or Dynamic Island. UseCloudXBannerAd.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) when you call
showBanner/showMREC. This is invisible through the JavaScript API — mentioned here only for publishers who inspect the native view hierarchy between create and show. A side effect is that you can now pre-load a banner into memory 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
April 17, 2026
Android SDK 3.1.0
Added
- Native Ads — Added native ad support with
CloudX.createNativeAdLoader(),CloudXNativeAdLoader,CloudXNativeAd,CloudXNativeAdListener, andCloudXNativeLoaderConfiguration, backed by the Meta adapter andNATIVE_REELad unit parsing support - Trusted Event Timestamps — Added
clientTrustedTimestampto telemetry event headers so backend processing can distinguish SDK-side event creation time from delivery time
Changed
- Adapter Communication Improvements — Reworked adapter initialization, bid extras, privacy forwarding, and load/show communication around explicit params objects and callback-based async flows
- Startup And Threading Safety — Moved user-agent resolution off singleton startup, allowed adapter initialization to run in parallel with timeout handling, and reduced cumulative main-thread work during initialization to lower ANR and deadlock risk
- Telemetry Payload Improvements — Restructured telemetry payloads, expanded config, latency, identity, and storage-guard handling, and disabled gzip on telemetry request bodies
- Runtime Hardening — Improved resilience for missing network SDK dependencies during adapter class loading, Unity Ads initialization, banner threading, bid token formatting, banner/native load exception handling, and ad preview bid asset fallback
- Unity 2022 Meta Compatibility —
adapter-metanow brings in Meta Audience Network6.20.0transitively by default for Unity 2022 compatibility. If your integration uses native ads, explicitly add Meta Audience Network6.21.0or newer in your app
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
- Updated Android SDK from 3.0.0 to 3.1.0 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.8 to 3.1.0 — see iOS SDK changelog for details
April 16, 2026
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.
April 9, 2026
April 6, 2026
Android SDK 3.0.0
Breaking Changes
- Explicit Android Context On Public SDK APIs —
CloudX.initialize()now requires an AndroidContext, and the public creation APIs now requireContextas well:createBanner(),createMREC(),createInterstitial(), andcreateRewarded() - Adapter Factory Interfaces Now Take Raw Context — Adapter factory interfaces now take
context: Contextdirectly instead ofCloudXContextProvider; external adapters must update their factorycreate()signatures and replacecontextProvider.getContext()with the passedcontext
Changed
- Explicit Context Flow Across The SDK — The SDK no longer relies on process-startup context bootstrapping. Context now flows explicitly through initialization, ad creation, privacy handling, HTTP client setup, and internal singleton access
- Lower Startup Overhead And ANR Risk — The SDK startup initializer was removed from the manifest, reducing main-thread work during app launch and lowering ANR risk
- Correct Privacy Initialization Order — Privacy forwarding now resolves consent in the correct initialization order and reacts to post-init manual privacy changes through
ManualPrivacyState.onChanged - Expanded First-Party Metrics Telemetry — First-party metrics telemetry is now wired through the public SDK entry points and internal runtime call sites with typed telemetry metrics, config-driven sampling, and buffered delivery through
MetricsTelemetryTracker
Removed
- Legacy Startup Context Bootstrap — Removed the internal startup context bootstrap path, including
ApplicationContext,CloudXStartup,CloudXContextProvider, and the internalContextProviderindirection layer - ActivityLifecycleService Startup Path — Removed
ActivityLifecycleServiceand its startup registration path from the SDK startup flow
Unity SDK 3.0.0
SDK Updates
- Updated Android SDK from 2.2.7 to 3.0.0 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.7 to 2.2.8 — see iOS SDK changelog for details
April 3, 2026
April 2, 2026
Android SDK 2.2.7
Added
- First-Party Metrics Telemetry Across SDK Call Sites — Metrics telemetry is now wired through SDK call sites, HTTP timing instrumentation, and telemetry collectors, so method calls and internal SDK metrics flow through the first-party metrics telemetry pipeline alongside the existing metrics tracker
Changed
- Metric Timestamps Now Reflect Event Creation Time — Metric timestamps are now stamped when the metric event is created instead of when the tracker later enqueues it, so timing data reflects when the SDK action actually happened
- Explicit Activity Lifecycle Service Initialization — Activity lifecycle tracking now initializes through
ActivityLifecycleService.instance(context), and Jetpack Startup now passes the real application context directly when registering lifecycle tracking
Fixed
- Publisher Startup ANR Risk — Fixed publisher startup ANR risk in
ActivityLifecycleServiceinitialization by removing the previous lazy singleton and global lookup path from the startup flow - Missing SDK Metrics Telemetry Events — Fixed SDK metrics telemetry gaps by wiring
MetricsTelemetryTrackerthrough runtime call sites that were previously only reported through the legacy metrics path
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.6remain unchanged in this release
SDK Updates
- Updated Android SDK from 2.2.6 to 2.2.7 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.6 to 2.2.7 — see iOS SDK changelog for details
April 1, 2026
Android SDK 2.2.6
Added
- Lifecycle Event Telemetry — The SDK now sends first-party telemetry for init, bid request, load success, loss, impression, click, reward, and error events in parallel with the legacy tracker flow
- Crash Telemetry Pipeline — SDK crashes are now cached and sent through both the legacy crash tracker and the newer first-party crash telemetry tracker on the next launch
Changed
- Placement And Custom Data In Telemetry — Banner, interstitial, and rewarded lifecycle telemetry now includes the
placementandcustomDatavalues attached to the ad instance at event time - Crash Cache Behavior — Crash telemetry payloads are now cached even when the crash endpoint is not configured; endpoint presence only controls whether pending payloads are sent
- Telemetry Endpoint Naming — Remote log endpoint config now uses
sdkLogEndpointURLnaming to match the server contract
Removed
- Session Init Tracking — Removed the old session endpoint and internal session tracker flow; SDK initialization no longer sends the legacy session init event
Fixed
- SDK Error Visibility In Telemetry — Bid-response parsing failures, adapter initialization failures, and ad-loading failures are now recorded in first-party telemetry instead of only in the legacy tracker path
- Crash Tracker Isolation — A failure in one crash tracker no longer prevents the other crash tracker from caching or sending its payload
- Native Ads Excluded From Release — The native ads work from commit
f6d049327f249fa1728fbb9e754484f460e40fbdwas intentionally excluded from the published2.2.6release
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
isAdReadysupport 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(...)andSetMrecPlacement(...)/SetMrecCustomData(...)beforeCreateBanner(...)orCreateMrec(...)if you want those values applied to the first ad request
SDK Updates
- Updated Android SDK from 2.2.4 to 2.2.6 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.4 to 2.2.6 — see iOS SDK changelog for details
March 30, 2026
Android SDK 2.2.5
Added
- SDK Init Telemetry — Added first-party SDK init tracking via
sdkInitEndpointURL - Bid Request Telemetry — Added first-party bid request tracking via
sdkBidReqEndpointURL - Explicit Load Failure While Showing — Added
LOAD_NOT_ALLOWED_WHILE_SHOWINGso fullscreenload()calls fail clearly when invoked while the same ad instance is already being shown
Changed
- Adapter-Owned Fullscreen Readiness — Fullscreen readiness now comes from the underlying network adapter instead of relying only on whether the SDK still holds a cached fullscreen ad reference
- Stale Fullscreen Reload Handling —
FullscreenAdManager.load()now reuses a cached fullscreen ad only if the adapter still reports it as ready; otherwise the stale ad is destroyed and a fresh load begins - Static Fullscreen Expiration — Static fullscreen ads now track when they loaded and stop reporting ready after one hour
Fixed
- Dropped Internal Tracking Events — Fixed impression, click, reward, and error internal tracking being lost when adapters fire callbacks back-to-back and the delegate coroutine scope is cancelled before event emission completes
- Load During Active Show — Fixed fullscreen
load()being accepted during an active show; it now fails immediately withonAdLoadFailed(..., LOAD_NOT_ALLOWED_WHILE_SHOWING) - Stale Fullscreen Readiness — Fixed fullscreen ads being reported as ready after the underlying network SDK had already invalidated or expired the ad object
- Mintegral CMP Consent Propagation — Fixed CMP-managed GDPR consent for Mintegral by calling
setConsentStatus(context)when manual consent is not set, allowing the Mintegral SDK to read the TCF string from shared storage
iOS SDK 2.2.6
Added
- Privacy Consent for Unity Ads — Unity Ads adapter now supports GDPR and CCPA privacy consent forwarding
isAdReadySupport — Fullscreen ad adapters now supportisAdReadyfor reliably querying ad availability before calling show
Fixed
- Banner Visibility Accuracy — Fixed an issue where setting
banner.hidden = YESdid 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
March 27, 2026
Unity SDK 2.2.4
What’s New
- Added
SetHasUserConsent(bool?)andSetDoNotSell(bool?)for manual privacy overrides before initialization - Added automatic
NSUserTrackingUsageDescriptioninjection 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
OnAdShowFailednow includes both the failedCloudXAdand the correspondingCloudXError, 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
- Updated Android SDK from 2.2.3 to 2.2.4 — see Android SDK changelog for details
- Updated iOS SDK from 2.2.3 to 2.2.4 — see iOS SDK changelog for details
March 26, 2026
Android SDK 2.2.4
Added
- Granular No-Fill Diagnostics — No-fill error messages now include per-network non-bid reasons, making it easier to diagnose fill rate issues
- Improved Bid Request Data — Content language is now included in bid requests for improved ad targeting
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.
Fixed
- ProGuard Compatibility — Fixed consumer ProGuard rules not being applied correctly for adapter modules
- Mintegral Stability — Fixed a crash in the Mintegral adapter on Android 6.0 (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
appcompatandwebkittransitive 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
March 23, 2026
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
March 20, 2026
Android SDK 2.2.3
Added
- Remote log collection via metrics pipeline with server-controlled filters and collection limits
- Added Unity Ads adapter publishing to both GitHub Packages RC workflows and Maven Central release workflows
Changed
- Renamed the Unity adapter artifact/module to
adapter-unityadsand aligned Unity Ads naming across the SDK, build setup, and documentation - Refactored
CXLoggerto a handler-based architecture and simplified scoped logging internals - Removed the demo app dependency on the SDK’s internal
CXLogger
Fixed
- Fixed Unity Ads network name casing to match the server bidder configuration
March 19, 2026
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 packagepubspecon pub.dev) - Flutter:
>=3.0.0 - iOS: 13.0+
- Android: minSdk 23 (API 23)
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.setHasUserConsentandCloudX.setDoNotSell(nullablebool?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, addCloudXUnityAdsAdapter and io.cloudx:adapter-unityads. See the Flutter integration guide for copy-paste snippets.Android: Mintegral
If you depend onio.cloudx:adapter-mintegral, you must add Mintegral’s Maven repository to Gradle — artifacts are not on Maven Central. See Android integration — Mintegral Maven repository.March 17, 2026
Android SDK 2.2.2
Added
- Adapter metadata in config request
- Metrics tracking for bid token collection
- Session init event sent after SDK initialization
Fixed
- InMobi bid token retrieval now runs on 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)
March 16, 2026
iOS SDK 2.2.2
Added
- Manual Privacy API — New
setHasUserConsent:andsetDoNotSell: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
March 11, 2026
Android SDK 2.2.1
Changed
- Hardened Mintegral adapter with defensive null checks and exception guards across all ad format factories and bumped Mintegral SDK from 17.0.61 to 17.0.91
Fixed
- Fixed non-local return in
BidRequestProvider.createBidRequest()that caused adapter extras to be silently skipped when an adapter threw an exception
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
March 10, 2026
Android SDK 2.2.0
Added
- Ad click tracking — notifies server when a user taps an ad
- Manual privacy API —
setHasUserConsent()andsetDoNotSell()for apps that manage consent directly, with automatic forwarding to all ad network adapters - Kotlin coroutine support — suspend
initialize()overload for cleaner Kotlin integration - Network SDK crash reporting — detects and reports crashes from ad network SDKs
- Creative Type support in the CloudX renderer
- Adapter error metrics tracked across all ad formats
Changed
- CloudX renderer moved into the core SDK module
- Removed
appcompatandwebkittransitive dependencies, reducing SDK footprint - Metrics are retained on transient failures (5xx, network, timeout) and retried automatically
- Bumped Vungle SDK from 7.6.1 to 7.7.1
- Bumped InMobi SDK from 11.1.0 to 11.1.1
Fixed
- Fixed geo location data being read from processed headers instead of raw headers
- Fixed
INVALID_APP_KEYerror incorrectly surfacing for non-config HTTP responses
Unity SDK 2.2.0
SDK Updates
- Updated Android SDK from 2.0.1 to 2.2.0 — see Android SDK changelog for details
March 5, 2026
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:
CloudXInterstitialAdandCloudXRewardedAd - 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/onRewardedAdHiddencallbacks firing twice on close - Fixed double revenue callback for rewarded ads
- Fixed thread-safety crash in bid token dictionary construction
showInterstitial/showRewardednow emit display failure events whentopViewControlleris nil (previously silent return)didFailToLoadAd:now broadcasts to all fullscreen listeners whenadUnitIdis nil (previously silent)rewardAmountsent asNSNumberinstead ofNSString(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
March 4, 2026
Android SDK 2.0.1
This patch release adds compatibility with Unity Engine 2022.3.Changed
- Improved internal event persistence with a lighter file-based storage layer, resolving Unity Engine 2022.3 build compatibility
- Downgraded Meta Audience Network SDK from 6.21.0 to 6.20.0 for Unity Engine 2022.3 compatibility
Fixed
- Fixed a rare concurrent access issue in session metrics tracking
- Fixed Meta rewarded ad
Activitybeing destroyed prematurely in apps usingsingleTasklaunch 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
- Updated Android SDK from 2.0.0 to 2.0.1 — see Android SDK changelog for details
February 26, 2026
React Native SDK 2.0.0-beta.1
Added
- Initial full SDK integration with CloudX Core SDK
- Banner ads via
CloudXBannerAdmodule - MREC ads (300x250) via
CloudXMRECAdmodule - Interstitial ads via
CloudXInterstitialAdmodule - Rewarded ads via
CloudXRewardedAdmodule - 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
February 5, 2026
Unity SDK 2.0.0
Breaking Changes
- Banner and MREC ads no longer auto-load after creation. You must now call
LoadBanner()orLoadMrec()explicitly afterCreateBanner()orCreateMrec() CloudXAdproperty renames:PlacementNameis nowAdUnitIdBidderNameis nowNetworkName
What’s New
- Added placement and custom data support for all ad formats:
SetBannerPlacement(adUnitId, placement)andSetBannerCustomData(adUnitId, customData)SetMRecPlacement(adUnitId, placement)andSetMRecCustomData(adUnitId, customData)ShowInterstitial(adUnitId, placement?, customData?)now accepts optional placement and customData parametersShowRewarded(adUnitId, placement?, customData?)now accepts optional placement and customData parameters
- New
CloudXAdproperties: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
February 4, 2026
Android SDK 2.0.0
This release replaces placement names with Ad Unit IDs from the CloudX dashboard. Update yourcreateBanner(), createMREC(), createInterstitial(), and createRewarded() calls to use the ad unit ID instead of a placement name.Added
- Rewarded ads with
CloudX.createRewarded(),CloudXRewardedAd,CloudXRewardedListener, andCloudXReward - InMobi adapter (SDK 11.1.0) with support for banner, MREC, interstitial, and rewarded ads
- Vungle rewarded ads (SDK 7.6.1) support added to existing Vungle adapter
CloudX.isInitialized()to check SDK initialization stateCloudX.getVersion()to get the SDK version stringsetPlacement()andsetCustomData()methods onCloudXAdViewfor trackingshow(activity, placement, customData)overloads on fullscreen ads for trackingCloudXSdkConfigurationreturned inonInitialized()callbackCloudXAd.networkPlacementproperty for network-specific placement ID- New error codes:
NETWORK_NO_CONNECTION,AD_ALREADY_SHOWING,DONT_KEEP_ACTIVITIES_ENABLED,AD_NOT_READY,INVALID_APP_KEY
Breaking Changes
- Bumped
minSdkfrom 21 to 23 (Android 6.0 Marshmallow) - Replaced
CloudXInitializationParamswithCloudXInitializationConfigurationbuilder pattern - Renamed
placementNameparameter toadUnitIdincreateBanner(),createMREC(),createInterstitial(),createRewarded() - Renamed
CloudXAd.placementIdtoadUnitId - Removed
CloudXAd.placementNameproperty - Renamed
CloudXAd.bidderNametonetworkName - Renamed
CloudXErrorCode.INVALID_PLACEMENTtoINVALID_AD_UNIT - Changed
onAdLoadFailed(placementName, cloudXError)toonAdLoadFailed(adUnitId, cloudXError) - Changed
onAdDisplayFailed(cloudXError)toonAdDisplayFailed(cloudXAd, cloudXError)- now includes the ad object - Changed
onInitialized()toonInitialized(configuration: CloudXSdkConfiguration) - Removed
testModeparameter - test mode is now server-controlled - Changed
show()toshow(activity)for interstitial and rewarded ads - Activity parameter now required
Changed
- Meta Audience Network SDK updated from 6.17.0 to 6.21.0
Fixed
- Ad reload now works correctly in
onAdHiddenandonAdDisplayFailedcallbacks - All
load()andshow()calls now guarantee callbacks on the UI thread
iOS SDK 2.0.0
This release replaces placement names with Ad Unit IDs from the CloudX dashboard. Update yourcreateBannerWithAdUnitId:, createMRECWithAdUnitId:, createInterstitialWithAdUnitId:, and createRewardedWithAdUnitId: calls to use the ad unit ID instead of a placement name.Added
- Rewarded ads with
createRewardedWithAdUnitId:delegate:andCLXRewardedDelegate - InMobi adapter (SDK 11.1) with support for banner, MREC, interstitial, and rewarded ads
CLXAd.networkPlacementproperty for network-specific placement ID
Breaking Changes
- Renamed
placementparameter toadUnitIdincreateBannerWithAdUnitId:,createMRECWithAdUnitId:,createInterstitialWithAdUnitId:,createRewardedWithAdUnitId: - Renamed
CLXAd.placementtoadUnitId - Renamed
CLXAd.bidderNametonetworkName - Renamed
CLXErrorCodeInvalidPlacementtoCLXErrorCodeInvalidAdUnit - Changed
bannerAdView:didFailWithError:to include ad unit ID in error - Removed
testModeparameter frominitializeSDKWithAppKey: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
January 15, 2026
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
UnityMainThreadDispatcherclass to avoid namespace collisions with third-party packages
December 23, 2025
December 14, 2025
Android SDK 0.12.0
Breaking Changes
- Removed
CloudXError.effectiveMessage- usemessagedirectly instead - Removed
setLoggingEnabled()- usesetMinLogLevel(CloudXLogLevel.NONE)to disable logging - Removed
CloudXPrivacyclass - privacy is now handled automatically via GPP/TCF
Changed
- Enhanced GDPR support with GPP Section 2 parsing and vendor consent checking
- Simplified TCF purpose checks to only require purposes 1 and 2 (removed 3-4)
- Added CCPA support via GPP with legacy USPrivacy fallback
- Removed COPPA handling
- Added
CloudXLogLevel.NONEenum value 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
December 9, 2025
December 4, 2025
December 3, 2025
Android SDK 0.10.0
Added
- Vungle adapter (SDK 7.6.1) with support for banner and interstitial ads
Changed
- Simplified log tag to “CloudX” for easier logcat filtering
- Added entry logging to public API functions for better debugging
- SDK initialization now fails early with clear error when no adapters are found
Fixed
- Fixed banner refresh stopping after load failure
November 26, 2025
Android SDK 0.9.0
Added
- Ad revenue tracking via new
CloudXAdRevenueListenerinterface withonAdRevenuePaidcallback
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
- Various bug fixes and stability improvements
November 3, 2025
Android SDK 0.6.1
Fixed
- Fixed release script to update Chinese README (README.zh-CN.md) version numbers
October 27, 2025
Android SDK 0.5.0
Fixed
- Fixed release promotion script to properly sync file deletions from release branch to main
Android SDK 0.4.0
Added
- Initial alpha release of CloudX Android SDK
- Support for Banner (320x50) and MREC (300x250) ad formats
- Support for Interstitial fullscreen ads
- Real-time bidding with intelligent ad mediation
- CloudX and Meta Audience Network adapter support
- Privacy compliance for GDPR, CCPA (via GPP), and COPPA
- IAB TCF, USPrivacy, and GPP string support
- Session depth tracking for bid optimization
- Comprehensive ad lifecycle callbacks and error handling
- Debug logging with configurable log levels