Начать

В этом руководстве показано, как интегрировать адаптер-медиатор с вашим приложением для Android.

Предпосылки

Прежде чем интегрировать медиацию для формата рекламы, вам необходимо интегрировать этот формат рекламы в свое приложение:

Впервые знакомитесь с медиацией? Прочитайте «Введение в медиацию» .

Для участия в торгах: Google Mobile Ads SDK 18.3.0 или выше.

Инициализировать Google Mobile Ads SDK

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

В следующем примере кода показано, как можно проверить статус инициализации каждого адаптера перед выполнением запроса на рекламу.

Ява

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()));
  }
}

Котлин

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",
    )
  }
}

Проверьте, какой класс сетевого адаптера загрузил рекламу.

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

Ява

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

Котлин

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

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

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

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

Используйте баннерную рекламу с посредничеством

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

Используйте нативную рекламу с посредничеством

Ниже приведены некоторые рекомендации, которые следует учитывать при внедрении собственного посредничества.

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

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

Если вам необходимо соблюдать законы США о конфиденциальности или Общий регламент по защите данных (GDPR) , следуйте инструкциям в настройках законодательства США или GDPR, чтобы добавить партнёров-посредников в список рекламных партнёров в разделе «Конфиденциальность и сообщения» Менеджера рекламы. Несоблюдение этих требований может привести к тому, что партнёры не смогут показывать рекламу в вашем приложении.

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