Посредничество AdMob – это функция, которая позволяет показывать рекламу в ваших приложениях из нескольких источников, включая сеть AdMob, сторонние рекламные сети и кампании AdMob . Посредничество AdMob помогает максимизировать заполняемость и монетизацию, отправляя запросы объявлений в несколько сетей, чтобы вы могли найти наилучшую доступную сеть для показа рекламы. Тематическое исследование .
Предпосылки
Прежде чем вы сможете интегрировать посредничество для формата рекламы, вам необходимо интегрировать этот формат рекламы в свое приложение:
- Рекламные баннеры
- Межстраничные объявления
- Объявления с вознаграждением
- Межстраничные объявления с вознаграждением
- Нативные объявления
Новичок в медиации? Читать Обзор агрегатора AdMob .
Для ставок: Google Mobile Ads SDK 18.3.0или выше.
Инициализируйте Mobile Ads 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 также запускает обновление в зависимости от частоты обновления рекламного блока вашего баннера.
Посредничество в рекламе с вознаграждением
Мы рекомендуем переопределить все значения вознаграждения по умолчанию, установив значения вознаграждения в пользовательском интерфейсе AdMob . Для этого установите флажок Применить ко всем сетям в группах посредничества , чтобы вознаграждение было одинаковым во всех сетях. Некоторые рекламные сети вообще не предоставляют значение или тип вознаграждения. Переопределяя значение вознаграждения, вознаграждение остается неизменным независимо от того, в какой рекламной сети была показана реклама.
Дополнительную информацию о настройке значений вознаграждения в пользовательском интерфейсе AdMob см. в разделе о создании рекламного блока с вознаграждением .
Посредничество в нативной рекламе
Ниже приведены некоторые рекомендации, которые следует учитывать при реализации собственного агрегатора.
- Политика представления нативной рекламы
- Каждая рекламная сеть имеет свои правила. При использовании посредничества важно помнить, что ваше приложение по-прежнему должно соблюдать правила сети-посредника, предоставившей рекламу.
- Используйте
loadAd()
вместоloadAds()
- В настоящее время метод
loadAds()
обслуживает только объявления Google. Вместо этого для опосредованных объявлений используйтеloadAd()
.
CCPA и GDPR
Если вам необходимо соблюдать Закон штата Калифорния о конфиденциальности потребителей (CCPA) или Общий регламент по защите данных (GDPR) , следуйте инструкциям в настройках CCPA или GDPR, чтобы добавить своих партнеров-посредников в список рекламных партнеров AdMob конфиденциальности и обмена сообщениями CCPA или GDPR. . Невыполнение этого требования может привести к тому, что партнеры не смогут показывать рекламу в вашем приложении.
Узнайте больше о том , как включить обработку данных с ограничениями по закону CCPA и получить согласие GDPR с помощью SDK Google User Messaging Platform (UMP) .