Медиация рекламы с использованием AdMob
Это архивная версия документации. Актуальная документация по всем платформам находится здесь.
Поддерживаемые версии библиотек и платформ:
Минимальная поддерживаемая версия: 5.10.0.
Максимальная поддерживаемая версия: 6.0.0 (не включая).
Минимальная поддерживаемая версия: 22.1.0.
Максимальная поддерживаемая версия: 22.2.0 (не включая).
Поддерживаемые форматы рекламы
- Баннерная реклама (Banner)
- Адаптивная баннерная реклама (Adaptive Banner)
- Полноэкранная реклама (Interstitial)
- Реклама с вознаграждением (Rewarded)
- Нативная реклама (Native)
Подключение адаптера для 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
Перейдите в раздел вашего приложения.
В разделе Ad units выберите Add ad unit.
Выберите необходимый формат рекламы (в примере рассматривается формат Rewarded) и нажмите Select.
Задайте имя и настройте параметры Ad Unit, затем нажмите кнопку Create Ad Unit.
Проверьте, что Ad unit ID получен и нажмите кнопку Done.
Настройка медиации
Перейдите в раздел Mediation и нажмите кнопку Create Mediation Group.
Выберите формат рекламы и платформу приложения для созданного Ad Unit.
Задайте имя создаваемой Mediation group и перейдите к добавлению Ad Unit.
Выберите ваше приложение, созданный Ad Unit и добавьте его.
Добавленный Ad Unit должен отобразиться в разделе Ad Units. Перейдите к добавлению пользовательского события (кнопка Add Custom Event).
Задайте имя, настройте eCPM и выберите Continue.
Добавьте пользовательское событие и заполните следующие поля:
Class Name — укажите com.admob.mobileads.YandexBanner, com.admob.mobileads.YandexInterstitial, com.admob.mobileads.YandexRewarded или com.admob.mobileads.YandexNative.
Parameter — укажите пользовательское событие в формате JSON, как указано в таблице Параметры пользовательского события.
Сохраните изменения.
Параметр | Обязательный | Тип | Описание | Пример |
---|---|---|---|---|
adUnitId | Да | string | adUnitId, полученный в Партнерском интерфейсе Яндекса | {"adUnitId": "R-M-XXXXXX"} |
openLinksInApp | Нет | boolean | Отвечает за то, как будет открыта веб-ссылка:
| {"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 | Отвечает за то, как будет открыта веб-ссылка:
| {"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 для нативной рекламы.
Создайте объект класса
Bundle
. Добавьте в него пару ключ-значение: в качестве ключа задайте константу из класса YandexNativeAdAsset, а в качестве значения — идентификатор соответствующей ей view.Примечание.В
Bundle
необходимо обязательно передать идентификаторы view дляAGE
,SPONSORED
иWARNING
. Остальные идентификаторы опциональны.В запрос
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());
Выполните шаги, следуя документации AdMob для адаптивной баннерной рекламы.
Не передавайте параметры пользовательского события adWidth
и adHeight
. Тогда будут использоваться размеры, указанные в AdMob.
Примеры использования рекламы можно скачать по ссылкам.