Внеся несколько изменений в свой код, вы можете объединить нативную и баннерную рекламу в запросах на показ рекламы.
Предварительные требования
- Версия 11.0.0 или выше SDK Google Mobile Ads.
- Пройдите руководство по началу работы .
Загрузить рекламу
Настраиваемая нативная реклама загружается с помощью класса AdLoader , который имеет собственный класс AdLoader.Builder для его персонализации во время создания. Добавляя обработчики событий к AdLoader при его создании, приложение указывает, какие типы рекламных форматов оно готово принимать. Затем AdLoader запрашивает только эти типы.
Объект AdLoader также можно настроить для отправки запросов на показ рекламы, результатом которых может быть либо баннерная реклама, либо нативная реклама. Добавление обработчика события OnAdManagerAdViewLoadedListener к объекту AdLoader при его создании указывает, что баннерная реклама должна конкурировать с нативной рекламой за выполнение запроса.
Приведенный ниже код демонстрирует, как создать AdLoader , который может загружать либо нативную рекламу, либо баннерную рекламу за один запрос:
Java
AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner") .forNativeAd(new NativeAd.OnNativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { // Show the ad. } }) .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() { @Override public void onAdManagerAdViewLoaded(AdManagerAdView adView) { // Show the banner ad. } }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(new AdListener() { @Override public void onAdFailedToLoad(LoadAdError error) { // Handle the failure by logging, altering the UI, etc. } }) .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build();
Котлин
val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner") .forNativeAd { nativeAd -> // Show the ad. } .forAdManagerAdView({ adView -> // Show the banner ad. }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE) .withAdListener(object: AdListener() { override fun onAdFailedToLoad(adError: LoadAdError) { // Handle the failure by logging, altering the UI, etc. } }) .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build()
Метод forAdManagerAdView() подготавливает AdLoader к приему баннерной рекламы. При вызове метода forAdManagerAdView() необходимо указать список допустимых размеров рекламы переменной длины вместе с OnAdManagerAdViewLoadedListener .
Для корректного запроса на показ рекламы необходимо указать как минимум один допустимый размер объявления. После успешной загрузки баннерной рекламы вызывается метод onAdManagerAdViewLoaded() указанного объекта-слушателя.
Установите объект AdViewOptions.
Последняя функция, включенная в создание AdLoader , — это еще один необязательный метод, withAdManagerAdViewOptions() :
Java
.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Котлин
.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Объект AdManagerAdViewOptions позволяет издателям устанавливать определенные параметры для баннеров, загружаемых AdLoader , например:
-
setManualImpressionsEnabled() - Включает ручную запись показов для резервирования в Google Ad Manager. Приложения, использующие ручную запись показов, могут самостоятельно определять, когда следует записывать показ, и могут сделать это, вызвав метод
AdManagerAdView.recordManualImpression().