Как настроить медиацию AdMob

Медиация AdMob – это функция, которая позволяет показывать в приложениях объявления из различных источников, таких как сеть AdMob и внешние рекламные сети. Медиация AdMob позволяет повысить заполняемость и увеличить доход, отправляя запросы в несколько рекламных сетей с целью выбора наиболее подходящей. Пример использования.

Требования

Чтобы интегрировать посредничество для определенного формата объявлений, сначала нужно интегрировать этот формат в приложение:

Вы только начали работать с медиацией? Прочитайте статью Обзор медиации AdMob.

Для назначения ставок: Google Mobile Ads SDK (Legacy) 18.3.0 или более поздней версии.

Инициализация Google Mobile Ads SDK (Legacy)

В кратком руководстве по началу работы рассказывается, как инициализировать Google Mobile Ads SDK (Legacy). Во время этого вызова инициализации также инициализируются адаптеры медиации. Важно дождаться завершения инициализации, прежде чем загружать объявления, чтобы убедиться, что все рекламные сети участвуют в первом запросе объявления.

В приведенном ниже образце кода показано, как проверить статус инициализации каждого адаптера перед отправкой запроса объявления.

Java

public void initialize(Context context) {
  new Thread(
          () ->
              // Initialize the Google Mobile Ads SDK on a background thread.
              MobileAds.initialize(context, this::logAdapterStatus))
      .start();
}

private void logAdapterStatus(InitializationStatus initializationStatus) {
  // Check each adapter's initialization status.
  Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap();
  for (Map.Entry<String, AdapterStatus> entry : statusMap.entrySet()) {
    String adapterClass = entry.getKey();
    AdapterStatus status = entry.getValue();
    Log.d(
        TAG,
        String.format(
            "Adapter name: %s, Description: %s, Latency: %d",
            adapterClass, status.getDescription(), status.getLatency()));
  }
}

Kotlin

fun initialize(context: Context) {
  CoroutineScope(Dispatchers.IO).launch {
    // Initialize the Google Mobile Ads SDK on a background thread.
    MobileAds.initialize(context, ::logAdapterStatus)
  }
}

private fun logAdapterStatus(initializationStatus: InitializationStatus) {
  // Check each adapter's initialization status.
  for ((adapterClass, status) in initializationStatus.adapterStatusMap) {
    Log.d(
      TAG,
      "Adapter: $adapterClass, Status: ${status.description}, Latency: ${status.latency}ms",
    )
  }
}

Как узнать, какой класс адаптера рекламной сети загрузил объявление

Ниже приведен пример кода, который регистрирует название класса рекламной сети для баннера:

Java

ResponseInfo responseInfo = ad.getResponseInfo();
String adapterClassName = null;
if (responseInfo != null) {
  adapterClassName = responseInfo.getMediationAdapterClassName();
}
Log.d(TAG, "Adapter class name: " + adapterClassName);

Kotlin

Log.d(TAG, "Adapter class name:" + ad.responseInfo?.mediationAdapterClassName)

Подробная информация об этом методе приведена в ResponseInfoдокументации по getMediationAdapterClassName().

Инициализируйте объект объявления с помощью экземпляра Activity

В конструкторе нового объекта объявления (например, AdView) необходимо передать объект типа Context. Этот Context передается другим рекламным сетям при использовании медиации. Некоторые рекламные сети требуют более строгого Context типа Activity и могут не показывать объявления без экземпляра Activity. Поэтому при инициализации рекламных объектов мы рекомендуем передавать экземпляр Activity, чтобы обеспечить единообразное взаимодействие с медиативными рекламными сетями.

Отключите обновление во всех интерфейсах сторонних источников объявлений для рекламных блоков с баннерами, используемых в медиации AdMob. Это предотвратит двойное обновление, поскольку AdMob также запускает обновление на основе частоты обновления рекламного блока для баннеров.

Как использовать нативные объявления с медиацией AdMob

Ниже приведены рекомендации по реализации медиации для нативных объявлений.

Правила в отношении показа нативных объявлений
У каждой рекламной сети свои правила. При использовании медиации важно помнить, что ваше приложение должно соответствовать правилам медиативной сети, которая предоставила объявление.
Используйте loadAd() вместо loadAds()
Метод loadAds() позволяет показывать только объявления Google. Для объявлений с медиацией используйте loadAd().

Законы штатов США о конфиденциальности и GDPR

Если вам нужно соблюдать законы штатов США о конфиденциальности или Генеральный регламент ЕС о защите персональных данных (GDPR), выполните инструкции в разделе Настройки законов штатов США или Настройки GDPR, чтобы добавить партнеров по медиации в список рекламных партнеров для соблюдения законов штатов США или GDPR в разделе "Конфиденциальность и сообщения" в AdMob. В противном случае партнеры не смогут показывать рекламу в вашем приложении.

Узнайте больше о том, как включить ограничение обработки данных (RDP) и получить согласие по GDPR с помощью Google User Messaging Platform (UMP) SDK.