AdTrue AppLovin MAX Adapter — Android
Integrate AdTrue 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 the App Open ad format for custom network adapters.
Prerequisites
- The AppLovin MAX SDK already integrated in your app (AppLovin SDK 13.x)
- Android
minSdk24 or higher - The Google Mobile Ads SDK (
com.google.android.gms:play-services-ads) — the adapter declares it as a dependency, so Gradle pulls it in automatically
1. Add the Dependency
settings.gradle(.kts) (repositories):
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven("https://repo.adtrue.com/maven")
}
}
app/build.gradle(.kts):
dependencies {
implementation("com.adtrue.sdk:max-adapter:1.0.1")
implementation("com.applovin:applovin-sdk:13.6.4")
implementation("com.google.android.gms:play-services-ads:25.4.0")
}
The adapter is published on the AdTrue Maven repository at https://repo.adtrue.com/maven (no authentication required).
2. Configure the MAX Custom Network
In the AppLovin MAX dashboard, add AdTrue as a Custom Network, then configure a Custom Adapter for each ad unit:
| Field | Value |
|---|---|
| Network Name | AdTrue Custom Adapter |
| Android Class Name | com.adtrue.sdk.adapter.max.AdTrueAdapter |
| iOS Class Name | AdTrueAdapter |
| Placement / Parameter | Your AdTrue 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 AdTrue adapter:
import com.adtrue.sdk.adapter.max.AdTrueAdapter
AdTrueAdapter.setDebug(true)
Filter logs in Logcat:
adb logcat -s AdTrueAdapter:V
Example output:
AdTrueAdapter: Debug mode enabled | AdTrue MAX Adapter v1.0.1
AdTrueAdapter: [Banner] Loading ad with unit: 1234567
AdTrueAdapter: [Banner] Ad loaded successfully
AdTrueAdapter: [Banner] Impression recorded
AdTrueAdapter: [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
- Maven coordinates:
com.adtrue.sdk:max-adapter:1.0.1 - Maven repository: https://repo.adtrue.com/maven
- Adapter class:
com.adtrue.sdk.adapter.max.AdTrueAdapter
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 AdTrue 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 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 com.adtrue.sdk.adapter.max.AdTrueAdapter.
Gradle cannot resolve com.adtrue.sdk:max-adapter:
Make sure maven("https://repo.adtrue.com/maven") is declared in dependencyResolutionManagement.repositories (or allprojects.repositories), not only under pluginManagement.
Documentation
Support
Contact your AdTrue account manager or email [email protected]