Skip to main content
Version: v2.0

Changelog

Latest changes to PremiumAds mediation adapters (Google and AppLovin MAX, Android + iOS) and integration documentation.

2026-08-27 — Android adapter v1.0.11

Fixed

  • NoSuchMethodError: setRequestAgent crash on Google Mobile Ads SDK 22.x when loading Banner, Interstitial, or Native ads. The adapter is compiled against GMA 23.x, whose AdRequest.Builder hierarchy was refactored in 23.0.0, so the compiled setRequestAgent call site doesn't exist in 22.x at runtime. 1.0.11 adds a compatibility layer that calls the method directly and falls back to reflection on LinkageError, restoring support for apps still on GMA SDK 22.x. Verified across all six ad formats (Banner, Interstitial, Native, Rewarded, Rewarded Interstitial, App Open) on GMA 22.2.0 and 25.1.0.
  • Published Kotlin metadata pinned to 1.9 (kotlin-stdlib 1.9.24 in the POM), so projects building with Kotlin < 2.2 resolve the adapter without metadata-version errors.

Upgrade via Gradle: net.premiumads.sdk:admob-adapter-v2:1.0.11 (JFrog Maven).

2026-08-17 — iOS MAX adapter v1.0.1

Fixed

  • Duplicate Objective-C class warnings (Class GADRewardedAd is implemented in both...) when integrating PremiumAdsMaxAdapter 1.0.0 alongside the app's own GoogleMobileAds dependency. The 1.0.0 XCFramework was packaged as a dynamic framework with the Google Mobile Ads SDK statically linked into it (390 duplicated GAD* classes at runtime); 1.0.1 repackages the framework as a static archive containing only adapter code, so GAD* symbols resolve against the app's own GoogleMobileAds at link time. Also shrinks the shipped binary from ~7.6 MB to ~0.8 MB. Upgrade via CocoaPods (pod update PremiumAdsMaxAdapter, run pod repo update first if 1.0.1 isn't visible) or SPM (bump to 1.0.1).

Added

  • New AppLovin MAX adapter release line: Android net.premiumads.sdk:max-adapter:1.0.0 (JFrog Maven), iOS PremiumAdsMaxAdapter 1.0.1 (CocoaPods trunk / SPM). Supported formats: Banner, MREC, Interstitial, Rewarded, Native (App Open is not supported by MAX custom adapters).

2026-07-03 — iOS adapter v1.0.9

Fixed

  • Duplicate Objective-C class warnings (Class GADGestureRecognizer is implemented in both...) when integrating PremiumAdsGoogleAdapter alongside a direct GoogleMobileAds dependency. The 1.0.8 XCFramework was accidentally packaged as a dynamic library with the Google Mobile Ads SDK linked into it; 1.0.9 repackages the framework as a static archive containing only adapter code, so GAD* symbols resolve against the app's own GoogleMobileAds at link time. Also reduces app size by a few MB. Upgrade via CocoaPods (pod update PremiumAdsGoogleAdapter) or SPM (bump to 1.0.9).
  • Framework Info.plist now reports the real adapter version in CFBundleShortVersionString (previously hardcoded 1.0).

2026-05-21

Documentation

Fixed

  • Xcode 26 build failing with framework 'PremiumAdsGoogleAdapter' not found when Podfile.lock is pinned to iOS adapter 1.0.6. The 1.0.6 XCFramework was built before Xcode 26's stricter framework validation. Resolution: bump to 1.0.8 (Xcode 26-compatible):
    cd <project>/build/ios/proj
    pod install --repo-update
    The --repo-update flag is required to refresh the local CocoaPods Specs cache so 1.0.8 becomes visible.

2026-05-04 — iOS adapter v1.0.8

  • Fixed XCFramework build for Xcode 26: rewrote scripts/build-xcframework.sh to handle the SwiftPM xcodebuild archive regression on Xcode 26 (manual assembly from PackageFrameworks/<fw>.framework + .swiftmodule + resource bundle into a single redistributable framework with auto-generated Headers/ and Modules/module.modulemap).
  • Embedded PrivacyInfo.xcprivacy at both framework root and inside the resource bundle (Apple's privacy scanner checks both locations).
  • Bumped SwiftPM Package.swift and Podfile minimum dependency Google-Mobile-Ads-SDK to >= 13.0.

2026-04-29 — Android adapter v1.0.10

  • Added ProGuard repackaging rules to prevent obfuscated class collisions:
    -repackageclasses 'net.premiumads.sdk.adapter.internal'
    -allowaccessmodification
    Previously, R8 placed obfuscated internal classes in default packages (a/, b/, c/), which collided at runtime with other R8-obfuscated AARs (notably io.adjoe:foundation).
  • Verified all 43 classes properly namespaced under net/premiumads/sdk/adapter/ (public API) and net/premiumads/sdk/adapter/internal/ (obfuscated implementation). Public API contract for Google Mediation reflection remains unchanged.

2026-04-21 — Android NextGen adapter v1.0.0 (GA)

Dedicated mediation adapter for Google's NextGen Mobile Ads SDK (com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk), separate artifact from the legacy admob-adapter-v2.

implementation("net.premiumads.sdk:admob-adapter-nextgen:1.0.0")
  • Wired AppOpenAdEventCallback to mediation lifecycle.
  • Reset version line to align with NextGen SDK 1.0.0 GA (previously was being tracked alongside the legacy adapter line).

Limitation — Native ads disabled in NextGen adapter: the legacy mediation click bridge isn't wired to NativeAdView.onInterceptTouchEvent in NextGen SDK 1.0.0, so native ad clicks don't dispatch correctly. Publishers needing native ads should stay on the legacy admob-adapter-v2 on play-services-ads:23.6.0. We're tracking SDK-side resolution with Google.

2026-04-17 — Android adapter v1.0.9

  • Compatibility fix for Google Mobile Ads SDK v25 (formerly v23.x). Adapter no longer crashes on initialization when host app uses GMA SDK v25 manifest entries.