Skip to main content
Version: v2.0

PremiumAds AppLovin MAX Adapter — iOS

Integrate PremiumAds as a mediation ad source in your iOS app through AppLovin MAX.

Supported formats: Banner, MREC, Interstitial, Rewarded, Native

App Open is not supported. AppLovin MAX does not support App Open ad format for custom network adapters.

Prerequisites

  • iOS 13.0+
  • The AppLovin MAX SDK already integrated in your app (AppLovinSDK >= 13.0)
  • The Google Mobile Ads SDK (Google-Mobile-Ads-SDK >= 13.0) — typically pulled in as part of a standard MAX integration

The adapter does not bundle either dependency — it links against the MAX and Google Mobile Ads SDKs already present in your app target.

1. Add the Dependency

Add to your Podfile:

pod 'PremiumAdsMaxAdapter', '~> 1.0.1'
pod 'AppLovinSDK'
pod 'Google-Mobile-Ads-SDK'

Then:

pod install

PremiumAdsMaxAdapter is published on CocoaPods trunk.

Do not use version 1.0.0. The 1.0.0 XCFramework accidentally embedded the Google Mobile Ads SDK, causing duplicate Objective-C class warnings (Class GAD... is implemented in both...) and potential runtime crashes. Always use 1.0.1 or later. If pod install can't find 1.0.1, run pod repo update first.

Swift Package Manager (alternative)

In Xcode, choose File → Add Package Dependencies… and enter:

https://github.com/premium-ads/max-adapter-ios-spm.git

Select version 1.0.1 or later, then add PremiumAdsMaxAdapter as a dependency of your app target.

Or add it directly to Package.swift:

dependencies: [
.package(url: "https://github.com/premium-ads/max-adapter-ios-spm.git", from: "1.0.1"),
]

The SPM package distributes the adapter as a prebuilt XCFramework binary.

2. Configure the MAX Custom Network

In the AppLovin MAX dashboard, add PremiumAds as a Custom Network, then configure a Custom Adapter for each ad unit:

FieldValue
Network NamePremiumAds Custom Adapter
iOS Class NamePremiumAdsAdapter
Android Class Namenet.premiumads.sdk.adapter.max.PremiumAdsAdapter
Placement / ParameterYour PremiumAds ad unit ID

The same class name works for all supported ad formats. The adapter auto-detects the format from the MAX mediation request.

3. Load Ads

The adapter is invoked automatically by the AppLovin MAX SDK — no extra code needed. Use the standard MAX iOS APIs to load Banner, MREC, Interstitial, Rewarded, and Native ads. See the AppLovin MAX iOS integration guide for the ad-loading APIs.

4. Debug Logging (Optional)

Enable verbose debug logging from the PremiumAds adapter:

PremiumAdsAdapter.setDebug(true)

Filter logs in the Xcode console for the [PremiumAdsAdapter] prefix:

[PremiumAdsAdapter] Debug mode enabled | PremiumAds MAX Adapter v1.0.1
[PremiumAdsAdapter] [Banner] Loading ad with unit: 1234567
[PremiumAdsAdapter] [Banner] Ad loaded successfully
[PremiumAdsAdapter] [Banner] Impression recorded
[PremiumAdsAdapter] [Banner] Click recorded

5. GDPR / TCF v2.0

The adapter automatically reads IAB TCF v2.0 consent from UserDefaults. If you integrate AppLovin's CMP (or any TCF-compliant CMP), no additional adapter code is required.

Source & Releases

Troubleshooting

New ad units / waterfall changes don't take effect immediately: Changes to ad units or waterfall configuration in the MAX dashboard take 30–60 minutes to propagate. Wait before retesting.

Ads never load / NO FILL (HTTP 204): A NO FILL response (204) means the waterfall has no eligible line item for the requesting app/device at that moment — this is expected behavior, not an error. Check that:

  • Your PremiumAds ad unit has active, funded demand for the test device/geo.
  • Test ads are enabled if you're testing on a non-approved device — see Test Ads.

Adapter never receives requests: Verify the app's bundle ID matches exactly the app configured in the MAX dashboard. A mismatched bundle identifier silently prevents the waterfall from routing traffic to your ad units.

pod install fails to find PremiumAdsMaxAdapter:

pod repo update
pod install

Adapter class not found in MAX log: Confirm the iOS class name in the MAX Custom Network config is exactly PremiumAdsAdapter.

Using Google Ad Manager (GAM) line-item targeting: If PremiumAds demand flows through a GAM line item targeting the MAX iOS adapter, verify the GAM line item's custom targeting key/value matches the MAX ad unit's mediation group, and that the line item is active and not paused.

Documentation

Support

Contact your PremiumAds account manager or email [email protected]