Skip to main content
Version: v2.0

PremiumAds AppLovin MAX Adapter — Android

Integrate PremiumAds as a mediation ad source in your Android 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

  • The AppLovin MAX SDK already integrated in your app
  • The Google Mobile Ads SDK (com.google.android.gms:play-services-ads) — typically pulled in as part of a standard MAX integration
  • Android minSdk compatible with your MAX SDK version

1. Add the Dependency

settings.gradle / build.gradle (repositories):

repositories {
google()
mavenCentral()
maven { url 'https://repo.premiumads.net/artifactory/mobile-ads-sdk/' }
}

app/build.gradle:

dependencies {
implementation 'net.premiumads.sdk:max-adapter:1.0.0'
implementation 'com.applovin:applovin-sdk:13.0.1'
implementation 'com.google.android.gms:play-services-ads:24.0.0'
}

The adapter is published on the PremiumAds JFrog Maven repository at https://repo.premiumads.net/artifactory/mobile-ads-sdk/.

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
Android Class Namenet.premiumads.sdk.adapter.max.PremiumAdsAdapter
iOS Class NamePremiumAdsAdapter
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 Android APIs to load Banner, MREC, Interstitial, Rewarded, and Native ads. See the AppLovin MAX Android integration guide for the ad-loading APIs.

4. Debug Logging (Optional)

Enable verbose debug logging from the PremiumAds adapter:

import net.premiumads.sdk.adapter.max.PremiumAdsAdapter

PremiumAdsAdapter.setDebug(true)

Filter logs in Logcat:

adb logcat -s PremiumAdsAdapter:V

Example output:

PremiumAdsAdapter: Debug mode enabled | PremiumAds MAX Adapter v1.0.0
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 SharedPreferences. If you integrate AppLovin's CMP (or any TCF-compliant CMP), no additional adapter code is required.

ProGuard / R8

The adapter ships its own consumer ProGuard rules inside the AAR — no manual configuration needed.

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/package ID matches exactly the app configured in the MAX dashboard. A mismatched application ID silently prevents the waterfall from routing traffic to your ad units.

Adapter class not found in MAX log: Confirm the Android class name in the MAX Custom Network config is exactly net.premiumads.sdk.adapter.max.PremiumAdsAdapter.

Using Google Ad Manager (GAM) line-item targeting: If PremiumAds demand flows through a GAM line item targeting the MAX Android 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]