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 с косой чертой в конце. Например, ca-mb-app-pub-5629679302779023/
.
В следующем примере код веб-ресурса Ad Exchange добавляется к запросу баннерной рекламы:
Котлин
val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()
BannerAd.load(
adRequest,
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
bannerAd = ad
activity?.runOnUiThread {
binding.bannerViewContainer.addView(ad.getView(requireActivity()))
}
}
}
)
Ява
BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
AdSize.BANNER).build();
BannerAd.load(
adRequest,
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
bannerAd = ad;
runOnUiThread(
() -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
}
});
Обратите внимание, что отсутствие завершающей косой черты в коде веб-ресурса 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
.
Вот и всё! Теперь ваше приложение готово к загрузке и показу баннерной рекламы из Ad Exchange.
Кроме того, вы можете использовать веб-ресурс Ad Exchange для загрузки и отображения других форматов рекламы из Ad Exchange, следуя соответствующим руководствам:
(Только для одобренных европейских издателей) Добавить минимальные цены
Вы можете подать заявку на функцию «Ценовые ниши» .
После одобрения вы можете включить в запрос объявления публичный или частный этаж, используя параметры pubf
и pvtf
соответственно. В следующем примере кода замените «123» на минимальные цены в микро и валюту вашей сети по умолчанию . Пример применения микро: если вашей валютой по умолчанию являются доллары США, ввод «6000000» будет эквивалентен 6 долларам США.
Котлин
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
.setGoogleExtrasBundle(extras)
.build();
Ява
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
.setGoogleExtrasBundle(extras)
.build();