Пользовательские события позволяют добавить каскадное посредничество для рекламной сети, которая не является поддерживаемой рекламной сетью . Это можно сделать путем внедрения специального адаптера событий для рекламной сети, которую вы хотите интегрировать.
Полный пример проекта пользовательского события можно найти в нашем репозитории GitHub .
Предварительные условия
Прежде чем вы сможете создавать собственные события, вам необходимо сначала интегрировать в свое приложение один из следующих форматов объявлений:
Создайте собственное событие в пользовательском интерфейсе
Пользовательское событие сначала необходимо создать в пользовательском интерфейсе AdMob. См. инструкции вДобавление специального события .
Вам необходимо предоставить следующее:
- Имя класса
Полное имя класса, реализующего специальный адаптер событий, например
com.google.ads.mediation.sample.customevent.SampleCustomEvent
. Мы рекомендуем использовать один класс адаптера для всех форматов рекламы настраиваемых мероприятий.- Этикетка
Уникальное имя, определяющее источник объявления.
- Параметр
Необязательный строковый аргумент, передаваемый вашему пользовательскому адаптеру событий.
Инициализируйте адаптер
При инициализации Google Mobile Ads SDKinitialize()
вызывается для всех поддерживаемых сторонних адаптеров и пользовательских событий, настроенных для приложения в пользовательском интерфейсе AdMob . Используйте этот метод для выполнения любой необходимой настройки или инициализации необходимого стороннего SDK для вашего специального события.
Джава
package com.google.ads.mediation.sample.customevent; import com.google.android.gms.ads.AdFormat; import com.google.android.gms.ads.mediation.Adapter; import com.google.android.gms.ads.mediation.InitializationCompleteCallback; import com.google.android.gms.ads.mediation.MediationConfiguration; ... public class SampleAdNetworkCustomEvent extends Adapter { private static final String SAMPLE_AD_UNIT_KEY = "parameter"; private InitializationCompleteCallback initializationCallback; @Override public void initialize(Context context, InitializationCompleteCallback initializationCompleteCallback, List<MediationConfiguration> mediationConfigurations) { // This is where you will initialize the SDK that this custom // event is built for. Upon finishing the SDK initialization, // call the completion handler with success. initializationCompleteCallback.onInitializationSucceeded(); } }
Номера версий отчета
Все пользовательские события должны передавать в Google Mobile Ads SDK версию самого адаптера специальных событий и версию стороннего SDK, с которым взаимодействует пользовательское событие. Версии сообщаются как объектыVersionInfo
:
Джава
package com.google.ads.mediation.sample.customevent; public class SampleCustomEvent extends Adapter { @Override public VersionInfo getVersionInfo() { String versionString = new VersionInfo(1, 2, 3); String[] splits = versionString.split("\\."); if (splits.length >= 4) { int major = Integer.parseInt(splits[0]); int minor = Integer.parseInt(splits[1]); int micro = Integer.parseInt(splits[2]) * 100 + Integer.parseInt(splits[3]); return new VersionInfo(major, minor, micro); } return new VersionInfo(0, 0, 0); } @Override public VersionInfo getSDKVersionInfo() { String versionString = SampleAdRequest.getSDKVersion(); String[] splits = versionString.split("\\."); if (splits.length >= 3) { int major = Integer.parseInt(splits[0]); int minor = Integer.parseInt(splits[1]); int micro = Integer.parseInt(splits[2]); return new VersionInfo(major, minor, micro); } return new VersionInfo(0, 0, 0); } }
Запросить объявление
Чтобы запросить объявление, обратитесь к инструкциям, специфичным для формата объявления: