AppLovin MAX Adapter Integration
Overview
The Nexverse AppLovin MAX Mediation Adapter allows publishers to serve Nexverse ads through AppLovin MAX by configuring Nexverse as a custom SDK network.
With this setup, MAX includes Nexverse in the mediation waterfall for supported ad units and requests ads from the Nexverse adapter when Nexverse is reached in the waterfall.
Supported ad formats:
- Banner
- MERC
- Interstitial
- Rewarded
- Native
How MAX Custom Networks Work
In MAX, a custom SDK network is a mediation network that you register manually in the MAX dashboard by providing the adapter class names for Android and iOS. After the custom network is created, you enable it inside the relevant ad unit waterfall and pass the required server parameters to the adapter.
For the Nexverse MAX adapter:
- Placement ID is passed from the MAX ad unit mapping as the Third-Party Ad Placement ID
- account_id and app_id are passed through Custom Parameters / Server Parameters
- Native ads can additionally use extra local parameters depending on the requested assets
Prerequisites
Before starting the integration, ensure the following:
- Your app already has an AppLovin MAX account
- You have created the required MAX ad units
- You have a Nexverse publisher account
- You have the following values from the Nexverse dashboard:
- Account ID
- App ID
- Placement ID
If you have not created your Nexverse app and placement yet, complete Nexverse onboarding first: App Onboarding Guide
Important Notes
- AppLovin MAX custom networks are not eligible for in-app bidding
- AppLovin MAX custom networks are not eligible for auto-CPM
- You must manually create the custom network first, then enable it inside each ad unit waterfall
- Test the integration with the MAX Mediation Debugger before release
Android Integration
Step 1: Integrate the AppLovin MAX SDK
Integrate the AppLovin MAX Android SDK in your app first. Follow the official MAX Android integration guide for the latest SDK requirements and supported setup.
Step 2: Add the Nexverse Android Adapter
Add the Nexverse MAX adapter to your Android app.
Include Maven Central in your top-level build.gradle file -
Add Dependencies
Core SDK Dependency
- Add the following dependency in your module’s
build.gradlefile,dependenciessection:
Optional Dependencies
Depending on the Ad formats you want to support, you may need to add additional dependencies.
Video Banner Ads:
If you want to support video Ads on Media3 or Exo player, you will need to add one of the following dependencies:
Media3 Dependency:
or ExoPlayer Dependency:
Choose either Media3 or ExoPlayer based on your app’s requirements. Both libraries are not needed simultaneously.
If you are not using these libraries, our SDK will utilize Android’s native media view.
Add Permissions
Add the required permissions in your AndroidManifest.xml file:
<!-- Required permissions -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Step 3: Sync Gradle
After updating dependencies:
- Click Sync Now in Android Studio
- Ensure the project builds successfully
Step 4: Confirm Android Adapter Class Name
In the MAX dashboard, use this Android adapter class name for the Nexverse custom network:
ai.nexverse.sdk.mediation.adapters.MaxMediationAdapter
MAX Dashboard Configuration
Step 1: Create the Nexverse Custom Network
In the MAX dashboard:
- Go to MAX > Mediation > Manage > Networks
- Scroll to the bottom
- Click Click here to add a Custom Network
- Configure the custom network as follows:
| Field | Value |
|---|---|
| Network Type | SDK |
| Name | Nexverse |
| Android Adapter Class Name | ai.nexverse.sdk.mediation.adapters.MaxMediationAdapter |
| iOS Adapter Class Name | MaxMediationAdapter (replace if your exported class name is different) |
Save the custom network.
Step 2: Create or Open the Target MAX Ad Unit
- Go to MAX > Mediation > Manage > Ad Units
- Create a new ad unit or open an existing one
- Choose the correct platform and ad format
Create separate ad units for each format you want to monetize through Nexverse.
Step 3: Enable Nexverse in the Waterfall
Inside the target ad unit:
- Find the waterfall for the required ad format
- Locate the Nexverse custom network you created
- Enable the network in the waterfall
- Set a manual CPM for the placement
Because this is a custom network, you manage CPM manually.
Server Parameters / Custom Parameters
The Android adapter expects the following values from MAX:
| Parameter | Required | Description |
|---|---|---|
account_id |
Yes | Nexverse publisher account ID |
app_id |
Yes | Nexverse app ID |
| Third-Party Ad Placement ID | Yes | Nexverse placement ID |
Example Mapping
Use the MAX network placement/mapping UI to pass:
Third-Party Ad Placement ID
your_nexverse_placement_id
Custom Parameters
{
"account_id": <account id>,
"app_id": <app id>
}
placement_id is not read from custom parameters in the Android adapter shown above. MAX passes it separately as the Third-Party Ad Placement ID.Ad Format Notes
Banner
- Supported through the adapter
- MAX banner maps to a
320x50Nexverse banner in the current Android implementation
MREC
- Supported through the adapter
- MAX MREC maps to a
300x250Nexverse ad size in the current Android implementation
Leaderboard
- The Android adapter maps MAX Leader ads to
728x90
Interstitial
- Supported through the adapter
- Requires a valid Nexverse placement ID configured in MAX
Rewarded
- Supported through the adapter
- Reward callbacks are forwarded from the Nexverse adapter to MAX
Native
- Supported through the adapter
- Native requests may require additional local extra parameters depending on the assets requested by your MAX native view layout
Native Ad Parameters
For native ads, the Android adapter can consume additional local parameters such as:
context_typecontext_sub_typeplacement_typeredirection_typetitle_requiredtitle_lengthicon_requiredicon_widthicon_heighticon_min_widthicon_min_heightimage_requiredimage_widthimage_heightimage_min_widthimage_min_heightsponsored_requiredsponsored_lengthdesc_requiredcta_required
Only use these if your MAX native integration needs asset-level control and your app is explicitly passing local extras to the adapter.
Privacy and Consent
The Android adapter forwards privacy information to Nexverse from MAX when available.
In the current Android implementation:
- GDPR applicability is inferred from MAX user consent state
- The consent string is forwarded to the Nexverse SDK when present
Make sure your CMP flow and MAX privacy configuration are set up correctly before requesting ads.
Testing the Integration
Before release:
- Initialize the MAX SDK successfully
- Confirm the custom network appears in MAX Mediation Debugger
- Verify the Nexverse custom network is enabled in the target ad unit waterfall
- Verify
account_id,app_id, and placement ID are all correct - Test each ad format separately
Troubleshooting
Custom Network Does Not Appear in Waterfall
- Ensure the custom network was created first under Networks
- Ensure the ad format is supported by the target ad unit
- Ensure the network is enabled for that ad unit
Adapter Not Loading
- Verify the Android class name:
ai.nexverse.sdk.mediation.adapters.MaxMediationAdapter
- Ensure the adapter binary is included in the app
- Ensure the Nexverse SDK dependency is present
SDK Not Initialized
Check that:
account_idis validapp_idis valid- The Nexverse SDK initializes successfully before ad load completes
No Fill
Check that:
- The Nexverse placement ID is correct
- The placement is active in Nexverse
- The waterfall CPM is configured appropriately
- The ad format matches the Nexverse placement configuration
Native Load Fails
Check that:
- Required native assets are configured correctly
- Any local extra parameters passed from the app are valid
- The native placement supports the requested asset set
Support
For Nexverse integration help:
Email
support@nexverse.ai
Support Portal
https://nexverse.ai
For MAX dashboard behavior, waterfall setup, and Mediation Debugger issues, refer to the official AppLovin MAX documentation.