Skip to main content

[4.4.0] - 2026-07-28

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.

[4.3.0] - 2026-07-21

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.

[4.2.0] - 2026-07-07

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.

[4.1.7] - 2026-06-25

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.

[4.1.6] - 2026-06-25

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.

[4.1.5] - 2026-06-19

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.

[4.1.4] - 2026-06-18

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.

[4.1.3] - 2026-05-31

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.

[4.1.2] - 2026-05-28

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.

[4.1.1] - 2026-05-26

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.

[4.1.0] - 2026-05-22

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.

[4.0.0] - 2026-04-27

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.

[3.2.0] - 2026-04-24

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.

[3.1.0] - 2026-04-17

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.

[3.0.0] - 2026-04-06

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.

[2.2.7] - 2026-04-02

Fixed

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

[2.2.6] - 2026-04-01

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.

[2.2.5] - 2026-03-30

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.

[2.2.4] - 2026-03-26

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.

[2.2.3] - 2026-03-20

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.

[2.2.2] - 2026-03-17

Added

  • Improved SDK initialization diagnostics by reporting adapter metadata.

Fixed

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

[2.2.1] - 2026-03-11

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.

[2.2.0] - 2026-03-10

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.

[2.0.1] - 2026-03-04

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.

[2.0.0] - 2026-02-04

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.

[0.12.1] - 2025-12-23

Fixed

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

[0.12.0] - 2025-12-14

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.

[0.11.1] - 2025-12-23

Fixed

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

[0.11.0] - 2025-12-09

Changed

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

[0.10.0] - 2025-12-03

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.

[0.9.0] - 2025-11-26

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.

[0.6.0] - 2025-11-03

Added

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

[0.4.0] - 2025-10-27

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.