Начало работы

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

Предварительные условия

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

Впервые в медиации? Прочтите Обзор медиации AdMob .

Для ставок:Google Mobile Ads SDK 18.3.0 или выше.

Инициализируйте SDK мобильной рекламы

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

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

Джава

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
                Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap();
                for (String adapterClass : statusMap.keySet()) {
                    AdapterStatus status = statusMap.get(adapterClass);
                    Log.d("MyApp", String.format(
                            "Adapter name: %s, Description: %s, Latency: %d",
                            adapterClass, status.getDescription(), status.getLatency()));
                }

                // Start loading ads here...
            }
        });
    }
}

Котлин

import com.google.android.gms.ads.MobileAds

MobileAds.initialize(this) { initializationStatus ->
  val statusMap =
    initializationStatus.adapterStatusMap
  for (adapterClass in statusMap.keys) {
    val status = statusMap[adapterClass]
    Log.d("MyApp", String.format(
      "Adapter name: %s, Description: %s, Latency: %d",
      adapterClass, status!!.description, status.latency))
  }

  // Start loading ads here...
}

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

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

Джава

public void onAdLoaded() {
  Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}

Котлин

override fun onAdLoaded() {
  Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}

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

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

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

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

Посредничество нативной рекламы

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

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

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

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

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