Share your feedback about the Google Mobile Ads SDK! Take the annual survey.

Integrating AppLovin with Open Bidding Mediation

This guide is intended for publishers who want to use the Google Mobile Ads SDK to load and display ads from AppLovin Ads via Open Bidding mediation. It covers how to add AppLovin to an ad unit's mediation configuration and how to integrate the AppLovin SDK and adapter into an Android app.

Supported ad formats and features

The AdMob mediation adapter for AppLovin has the following capabilities for open bidding:

Formats
Banners
Interstitials
Rewarded Video
Native Advanced
Features
Smart Banners

Requirements

  • Android API level 14 or later
  • Google Mobile Ads SDK 18.1.1 or higher
  • AppLovin Android SDK version 8.1.0 or higher

Step 1: Set up AppLovin

Sign up or log in to your AppLovin account.

To set up your AdMob ad unit, you'll need your AppLovin SDK Key. To find it, go to the AppLovin Dashboard and click on the Account tab. In the dropdown list under Account, select Keys.

Step 2: Configure mediation settings for your AdMob ad unit

You need to add AppLovin to the mediation configuration for your ad unit.

First, sign in to your AdMob account. Next, navigate to the Mediation tab. If you have an existing mediation group you'd like to modify, click the name of that mediation group to edit it, and skip ahead to Add AppLovin as an ad source.

To create a new mediation group, select Create Mediation Group.

Enter your ad format and platform, then click Continue.

Give your mediation group a name, and select locations to target. Next, set the mediation group status to Enabled, and then click Add Ad Units.

Associate this mediation group with one or more of your existing AdMob ad units. Then click Done.

You should now see the ad units card populated with the ad units you selected:

Add AppLovin as an ad source

In the Ad Sources card, select Add Ad Network. Select AppLovin (Open Bidding). Then enter the SDK Key obtained in the earlier section.

Using rewarded video ads

In the settings for your rewarded video ad unit, provide values for the reward amount and reward type. Then, to ensure you provide the same reward to the user no matter which ad network is served, check the Apply to all networks in Mediation groups box.

If you don't apply this setting, the AppLovin adapter passes back the reward specified in the AppLovin dashboard when creating the placement.

For more information on setting reward values for AdMob ad units, see Create an ad unit.

Step 3: Import the AppLovin SDK and adapter

Add the following implementation dependency with the latest version of the AppLovin SDK and adapter in the app-level build.gradle file:

...
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'com.google.android.gms:play-services-ads:18.2.0'
    implementation 'com.applovin:applovin-sdk:9.8.0'
    implementation 'com.google.ads.mediation:applovin:9.8.0.0'
}
...

Manual integration

  • Download the AppLovin Android SDK, extract the applovin-sdk-9.8.0.jar, and add it to your project.

  • Download the latest AppLovin adapter .aar file from Bintray and add it to your project.

Verify adapter installation

To verify that the adapter is included in your app, try to import AppLovinMediationAdapter in one of your source files and confirm that your app still compiles:

import com.google.ads.mediation.applovin.AppLovinMediationAdapter;

If your app can't find this class, then the adapter isn't actually imported into your project.

Verify your adapter and SDK versions

To log the adapter and SDK versions, use the following code snippet:

ApplovinMediationAdapter adapter = new ApplovinMediationAdapter();
VersionInfo adapterVersion = adapter.getVersionInfo();
VersionInfo sdkVersion = adapter.getSDKVersionInfo();
// Log the adapter patch version to 3 digits to represent the x.x.x.x versioning
// used by adapters.
Log.d("TAG", String.format(
    "Adapter version: %d.%d.%03d",
    adapterVersion.getMajorVersion(),
    adapterVersion.getMinorVersion(),
    adapterVersion.getMicroVersion()));
Log.d("TAG", String.format(
    "SDK version: %d.%d.%d",
    sdkVersion.getMajorVersion(),
    sdkVersion.getMinorVersion(),
    sdkVersion.getMicroVersion()));

Step 4: Additional code required

Modify Android manifest

Include the following Activities in your AndroidManifest.xml under the application tag:

<activity android:name="com.applovin.adview.AppLovinInterstitialActivity"
          android:configChanges="orientation|screenSize"/>

<activity android:name="com.applovin.adview.AppLovinConfirmationActivity"
          android:configChanges="orientation|screenSize"/>

Optional steps

Under the Google EU User Consent Policy, you must ensure that certain disclosures are given to, and consents obtained from, users in the European Economic Area (EEA) regarding the use of device identifiers and personal data. This policy reflects the requirements of the EU ePrivacy Directive and the General Data Protection Regulation (GDPR). When seeking consent, you must identify each ad network in your mediation chain that may collect, receive, or use personal data and provide information about each network's use. Google currently is unable to pass the user's consent choice to such networks automatically.

The section below shows you how to enable or disable personalized ads for AppLovin.

In SDK version 8.0.1, AppLovin added the setHasUserContent and setIsAgeRestrictedUser methods. The following sample code shows how to pass consent information to the AppLovin SDK. It is recommended that you call these methods prior to requesting ads via the Google Mobile Ads SDK.

import com.applovin.sdk.AppLovinPrivacySettings;
//…

AppLovinPrivacySettings.setHasUserConsent(true, context);

Additionally, if the user is known to be in an age-restricted category, you can also set the below flag to true.

AppLovinPrivacySettings.setIsAgeRestrictedUser(true, context);

See AppLovin's privacy settings for more details.

Network-specific parameters

The AppLovin adapter supports setMuteAudio() which can disable audio on video ads. This method can be called from an AppLovinExtrasBundleBuilder object:

Java

Bundle extras = new AppLovinExtrasBundleBuilder()
       .setMuteAudio(true)
       .build();
AdRequest request =  new AdRequest.Builder()
       .addNetworkExtrasBundle(ApplovinAdapter.class, extras)
       .build();

Kotlin

val extras = AppLovinExtrasBundleBuilder()
       .setMuteAudio(true)
       .build()
val request = AdRequest.Builder()
       .addNetworkExtrasBundle(ApplovinAdapter::class.java, extras)
       .build()