Google Mobile Ads SDK поддерживает монетизацию ваших приложений с помощью ресурса Ad Exchange . В этом руководстве показано, как настроить приложения для всех форматов объявлений, поддерживаемых Ad Exchange.
Предварительные условия
- Выполните предварительные условия .
- Настройте свое приложение для Google Mobile Ads SDK.
Настройте свое приложение для доступа к Ad Exchange
Добавьте идентификатор приложения Менеджера рекламы ( указанный в пользовательском интерфейсе Менеджера рекламы ) в файл AndroidManifest.xml вашего приложения с помощью тега <meta-data>
с android:name="com.google.android.gms.ads.APPLICATION_ID"
. Для android:value
вставьте свой собственный идентификатор приложения Менеджера рекламы, заключенный в кавычки.
<manifest>
<application>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
Также обратите внимание, что отсутствие добавления тега <meta-data>
, как показано выше, приводит к сбою с сообщением:
Missing application ID.
Затем вы можете инициализировать Google Mobile Ads SDK и выбрать формат объявления для отображения. В оставшейся части этого руководства используется формат баннера , чтобы проиллюстрировать, как можно загрузить объявление из Ad Exchange. Те же действия можно применить к любым форматам объявлений, поддерживаемым Google Mobile Ads SDK.
Загрузите объявление из Ad Exchange
В своем приложении вместо идентификатора рекламного блока можно использовать код веб-ресурса Ad Exchange с косой чертой в конце.
Например, чтобы загрузить рекламный баннер, разместив AdManagerAdView
в макете Activity
:
# main_activity.xml
...
<com.google.android.gms.ads.admanager.AdManagerAdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adManagerAdView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-mb-app-pub-5629679302779023/">
</com.google.android.gms.ads.admanager.AdManagerAdView>
Обратите внимание, что отсутствие добавления косой черты в конце кода веб-ресурса Ad Exchange, как показано выше, приводит к ошибке запроса объявления с сообщением:
Invalid Request. Cannot determine request type. Is your ad unit id correct?
Также обратите внимание, что вы можете преобразовать код веб-ресурса Ad Exchange в рекламный блок. После этого вы можете использовать интерфейс Менеджера рекламы, чтобы создать тег Ad Exchange и скопировать его в свое приложение. Созданный тег должен содержать код веб-ресурса Ad Exchange, за которым следуют идентификаторы дочерних рекламных блоков без косой черты, например: ca-mb-app-pub-5629679302779023/banner
Альтернативно вы можете создать AdManagerAdView
программно:
Ява
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");
// TODO: Add adView to your view hierarchy.
Котлин
val adView = AdManagerAdView(this)
adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"
// TODO: Add adView to your view hierarchy.
После создания AdManagerAdView
вы можете вызвать метод loadAd()
в классе AdManagerAdView
и настроить поведение вашего объявления с помощью рекламных событий .
Вот и все! Теперь ваше приложение готово к загрузке и отображению рекламных баннеров из Ad Exchange.
Кроме того, вы можете использовать веб-ресурс Ad Exchange для загрузки и отображения других форматов объявлений из Ad Exchange, следуя соответствующим руководствам:
(Только для одобренных европейских издателей) Добавьте минимальные цены.
Вы можете отправить запрос на использование функции «Минимальная цена» .
После одобрения вы можете включить в запрос объявления общественный или частный этаж, используя параметры pubf
и pvtf
соответственно. В следующем примере кода замените «123» минимальными ценами в микро и валютой вашей сети по умолчанию . Пример применения микрометров: если валютой по умолчанию является доллар США, ввод «6000000» будет эквивалентен 6 долларам США.
Ява
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
Котлин
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
.build();