В этом руководстве показано, как интегрировать адаптер-медиатор с вашим приложением для 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) .