Медиация рекламы с использованием AdMob

Внимание.

Это архивная версия документации. Актуальная документация по всем платформам находится здесь.

Поддерживаемые версии библиотек и платформ:

YandexMobileAdsSDK

Минимальная поддерживаемая версия: 5.10.0.

Максимальная поддерживаемая версия: 6.0.0 (не включая).

GoogleMobileAdsSDK

Минимальная поддерживаемая версия: 22.1.0.

Максимальная поддерживаемая версия: 22.2.0 (не включая).

Подключение адаптера для AdMob-медиации

Подключение с использованием Gradle

В файл build.gradle добавьте следующие зависимости на уровне приложения:

implementation 'com.yandex.android:mobileads:5.10.0'
implementation 'com.yandex.ads.adapter:admob-mobileads:5.10.0.0'
implementation 'com.google.android.gms:play-services-ads:22.1.0'
Примечание.

Если вы используете proguard в работе вашего проекта, обязательно добавьте в файл proguard.cfg следующие строки:

-keep class com.admob.mobileads.** {
    *;
}

Настройка медиации в AdMob

Для каждого Ad Unit , созданного в AdMob, необходимо получить adUnitId в партнерском интерфейсе Яндекса. Затем необходимо настроить медиацию в веб-интерфейсе AdMob:

Создание Ad Unit

  1. Перейдите в раздел вашего приложения.

  2. В разделе Ad units выберите Add ad unit.

  3. Выберите необходимый формат рекламы (в примере рассматривается формат Rewarded) и нажмите Select.

  4. Задайте имя и настройте параметры Ad Unit, затем нажмите кнопку Create Ad Unit.

  5. Проверьте, что Ad unit ID получен и нажмите кнопку Done.

Настройка медиации

  1. Перейдите в раздел Mediation и нажмите кнопку Create Mediation Group.

  2. Выберите формат рекламы и платформу приложения для созданного Ad Unit.

  3. Задайте имя создаваемой Mediation group и перейдите к добавлению Ad Unit.

  4. Выберите ваше приложение, созданный Ad Unit и добавьте его.

  5. Добавленный Ad Unit должен отобразиться в разделе Ad Units. Перейдите к добавлению пользовательского события (кнопка Add Custom Event).

  6. Задайте имя, настройте eCPM и выберите Continue.

  7. Добавьте пользовательское событие и заполните следующие поля:

    Class Name — укажите com.admob.mobileads.YandexBanner, com.admob.mobileads.YandexInterstitial, com.admob.mobileads.YandexRewarded или com.admob.mobileads.YandexNative.

    Parameter — укажите пользовательское событие в формате JSON, как указано в таблице Параметры пользовательского события.

  8. Сохраните изменения.

Параметры пользовательского события
Параметр Обязательный Тип Описание Пример
adUnitId Да string adUnitId, полученный в Партнерском интерфейсе Яндекса {"adUnitId": "R-M-XXXXXX"}
openLinksInApp Нет boolean

Отвечает за то, как будет открыта веб-ссылка:

  • true — веб-ссылки будут открываться в приложении,
  • false или отсутствие — веб-ссылки будут открываться в браузере
{"adUnitId": "R-M-XXXXXX", "openLinksInApp": true}
adWidth Нет number Ширина баннера. Может использоваться для передачи размера, не поддерживаемого AdMob. Должна соответствовать размерам баннера, выбранным в Партнерском интерфейсе Яндекса {"adUnitId": "R-M-XXXXXX", "adWidth": 300, "adHeight": 50}
adHeight Нет number Высота баннера. Может использоваться для передачи размера, не поддерживаемого AdMob. Должна соответствовать размерам баннера, выбранным в Партнерском интерфейсе Яндекса {"adUnitId": "R-M-XXXXXX", "adWidth": 300, "adHeight": 50}
Параметры пользовательского события
Параметр Обязательный Тип Описание Пример
adUnitId Да string adUnitId, полученный в Партнерском интерфейсе Яндекса {"adUnitId": "R-M-XXXXXX"}
openLinksInApp Нет boolean

Отвечает за то, как будет открыта веб-ссылка:

  • true — веб-ссылки будут открываться в приложении,
  • false или отсутствие — веб-ссылки будут открываться в браузере
{"adUnitId": "R-M-XXXXXX", "openLinksInApp": true}
adWidth Нет number Ширина баннера. Может использоваться для передачи размера, не поддерживаемого AdMob. Должна соответствовать размерам баннера, выбранным в Партнерском интерфейсе Яндекса {"adUnitId": "R-M-XXXXXX", "adWidth": 300, "adHeight": 50}
adHeight Нет number Высота баннера. Может использоваться для передачи размера, не поддерживаемого AdMob. Должна соответствовать размерам баннера, выбранным в Партнерском интерфейсе Яндекса {"adUnitId": "R-M-XXXXXX", "adWidth": 300, "adHeight": 50}

Запрос и отображение рекламы при помощи Google Mobile Ads Android SDK

Баннерная реклама
Выполните шаги, следуя документации AdMob для баннерной рекламы.
Адаптивная баннерная реклама

Выполните шаги, следуя документации AdMob для адаптивной баннерной рекламы.

Примечание.

Не передавайте параметры пользовательского события adWidth и adHeight. Тогда будут использоваться размеры, указанные в AdMob.

Полноэкранная реклама
Выполните шаги, следуя документации AdMob для полноэкранной рекламы.
Реклама с вознаграждением
Выполните шаги, следуя документации AdMob для рекламы с вознаграждением.
Нативная реклама
  1. Выполните шаги, следуя документации AdMob для нативной рекламы.
  2. Создайте объект класса Bundle. Добавьте в него пару ключ-значение: в качестве ключа задайте константу из класса YandexNativeAdAsset, а в качестве значения — идентификатор соответствующей ей view.

    Примечание.

    В Bundle необходимо обязательно передать идентификаторы view для AGE, SPONSORED и WARNING. Остальные идентификаторы опциональны.

  3. В запрос AdLoader, при помощи метода customEventExtrasBundle передайте YandexNative.class и объект Bundle (из предыдущего шага).

    final Bundle extras = new Bundle();
    extras.putInt(YandexNativeAdAsset.AGE, R.id.age);
    extras.putInt(YandexNativeAdAsset.DOMAIN, R.id.domain);
    extras.putInt(YandexNativeAdAsset.FAVICON, R.id.favicon);
    extras.putInt(YandexNativeAdAsset.FEEDBACK, R.id.feedback);
    extras.putInt(YandexNativeAdAsset.RATING, R.id.domain);
    extras.putInt(YandexNativeAdAsset.REVIEW_COUNT, R.id.review_count);
    extras.putInt(YandexNativeAdAsset.SPONSORED, R.id.sponsored);
    extras.putInt(YandexNativeAdAsset.WARNING, R.id.warning);
    
    adLoader.loadAd(new AdRequest.Builder()
            .addCustomEventExtrasBundle(YandexNative.class, extras)
            .build());

Примеры использования рекламы можно скачать по ссылкам.