Integration Yandex Mediation

Warning

Be sure to update to the latest adapter versions (Yandex Mediation and adapters for third-party mediation networks). Otherwise, errors from improper adapter integration might occur, preventing the ad from being served.

Yandex Mediation is a platform that automatically selects ads from a variety of ad networks using ML algorithms, which helps you maximize your revenue. All settings are preconfigured, so you can start using it immediately without having to set up each network individually.

If you've been using the Yandex Mobile Ads SDK with a single Yandex network, migrating to Yandex Mediation requires no code changes. You only need to preset the sections of third-party advertising networks' web interfaces.

Prerequisites

To prepare your app, follow the steps described in the next sections.

App requirements

  • Use Android Studio 2021 or higher.
  • Use Android Gradle Plugin version 8.7.0 or higher.
  • Check that your app's build file uses the following values:
    • minSdkVersion 21 or higher.
    • compileSdkVersion 34 or higher.
  • To load any type of ad, Android version 4.1 or higher is required.
  • Video ads are only served for devices with Android 5 or higher.
  • If you're using the AppMetrica SDK in your app, make sure that you have version 7.14.3 or higher installed (within the same major version).

Set up the app in your Boost account

Register your app as a Boost app by following these steps:

  1. Log in for the Boost.
  2. Register your app in the Boost.

Integration

To connect individual adapters, enable the Yandex Ads SDK, then follow the specific instructions for each adapter:

  1. Set up mediation in the Boost interface.

  2. Add a YandexMobileAds dependency to the build.gradle file of your app module:

    dependencies {
        ...
        implementation 'com.yandex.android:mobileads:x.x.x' // add supported version
    
        // Add dependencies on Yandex Mediation adapters.
    
    }
    
  3. Add Java 8 support to the build.gradle file of your app module:

    android {
    
        compileOptions{
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    
  4. Add the following code to the build.gradle file in your app's module:

    // IronSource
    maven {
           url 'https://android-sdk.is.com/'
    }
    
    // Pangle
    maven {
           url 'https://artifact.bytedance.com/repository/pangle'
    }
    
    // Tapjoy
    maven {
           url "https://sdk.tapjoy.com/"
    }
    
    // Mintegral
    maven {
           url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"
    }
    
    // Chartboost
    maven {
           url "https://cboost.jfrog.io/artifactory/chartboost-ads/"
    }
    
    // AppNext
    maven {
           url "https://dl.appnext.com/"
    }
    
  5. Set up permission to use an advertising ID (for apps using SDK versions older than 4.5.0).

    How to set up permission to use the ad ID

    Advertising IDs are unique IDs provided by Google Play services. They're used to serve ads to users who consent to personalized ads. Users can opt out of personalized ads or reset the ID in the settings. In this case, ad networks can't use it to serve relevant ads.

    If your app uses a Yandex Mobile Ads SDK version lower than 4.5.0, add the com.google.android.gms.permission.AD_ID permission to your app's AndroidManifest.xml file:

    <manifest>
        <application>
        <!-- For apps targeting Android 13 or higher &Yandex Mobile Ads SDKversions lower than 4.5.0 -->
            <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
        </application>
    </manifest>
    

    Starting with version 4.5.0, Yandex Mobile Ads SDK adds the com.google.android.gms.permission.AD_ID permission by default. This means you don't need to specify it in your app's main manifest. With this permission, you can use the advertising ID to serve more relevant ads from ad networks.

    You can remove the permission, if necessary. For example, you may need to do this if a policy, such as the Families Policy, doesn't allow using the ID to serve ads.

    To prevent the permission from being added to your app's main manifest, add the following to the AndroidManifest.xml file:

    <manifest>
        <application>
            <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
        </application>
    </manifest>
    

    Warning

    Lack of permission and access to the ID may impact your revenue, because your app may serve less relevant ads.

  6. Connect the required adapters separately using the appropriate packages.