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

Внимание.

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

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

YandexMobileAdsSDK

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

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

GoogleMobileAdsSDK

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

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

iOS

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

Добавление адаптеров в приложение

Примечание.

Перед подключением адаптера необходимо подключить Yandex Mobile Ads SDK. Иначе загрузка рекламы будет завершаться с ошибкой.

Библиотека YandexMobileAdsAdMobAdapters адаптирована для работы с системой управления зависимостями CocoaPods и поддерживает статический способ подключения.

Чтобы подключить библиотеку, добавьте в Podfile проекта зависимость:
pod 'YandexMobileAdsAdMobAdapters', '5.9.1.0'

Настройка медиации в 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 — укажите YMAAdMobCustomEventBanner, YMAAdMobCustomEventInterstitial, YMAAdMobCustomEventNative или YMAAdMobCustomEventRewarded.

    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 iOS SDK

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

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

Примечание.

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

Полноэкранная реклама
Выполните шаги, следуя документации Google Mobile Ads для полноэкранной рекламы.
Реклама с вознаграждением
Выполните шаги, следуя документации Google Mobile Ads для рекламы с вознаграждением.
Нативная реклама
  1. Запросите нативную рекламу, следуя документации Google Mobile Ads.
  2. Настройте рекламную view, следуя документации Google Mobile Ads.
  3. Реализуйте протокол YMAAdMobCustomEventNativeAdView в классе view, который используется для отображения рекламы.
  4. Создайте view для компонентов РСЯ, которые вы хотите отобразить.
    Примечание.

    Методы протокола nativeAgeLabel и nativeWarningLabel обязательно должны возвращать объекты UIView, которые будут отображены на экране в случае, если их текст не равен nil.

  5. Получите значения дополнительных компонентов для РСЯ с помощью свойства extraAssets класса GADUnifiedNativeAd. Значения компонентов установлены для значений ключей в YMAAdMobNativeAdExtraAssets.h.

    Значения компонентов можно использовать, чтобы скрыть или показать соответствующие view.

    self.nativeAgeLabel.hidden = self.ad.extraAssets[kYMAAdMobNativeAdAgeExtraAsset] == nil;

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