Посредничество 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) .