Dzięki kilku zmianom w kodzie możesz łączyć reklamy natywne i banery reklamowe w żądaniach reklam.
Wymagania wstępne
- Pakiet SDK do reklam mobilnych Google w wersji 11.0.0 lub nowszej.
- Wykonaj instrukcje w sekcji Pierwsze kroki.
Wczytywanie reklamy
Reklamy natywne renderowane niestandardowo są wczytywane za pomocą klasy AdLoader
, która ma własną klasę AdLoader.Builder
, aby umożliwić jej dostosowywanie podczas tworzenia. Dodając do AdLoader
odbiorców podczas tworzenia, aplikacja określa, jakie formaty reklam jest gotowa odbierać. Następnie AdLoader
wysyła żądania tylko tych typów.
Obiekt AdLoader
możesz też skonfigurować tak, aby wysyłał żądania reklam, które mogą prowadzić do wyświetlenia banera reklamowego lub reklamy natywnej. Dodanie parametru OnAdManagerAdViewLoadedListener
do parametru AdLoader
podczas jego tworzenia określa, że banery reklamowe powinny konkurować z reklamami natywnymi o wypełnienie żądania.
Ten kod pokazuje, jak utworzyć AdLoader
, który może wczytywać reklamę natywną lub baner w jednym żądaniu:
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, and so on. } }) .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build();
Kotlin
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, and so on. } }) .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual options settings. .build()) .build()
Metoda forAdManagerAdView()
powoduje przygotowanie AdLoader
do wyświetlania reklam banerowych. Podczas wywoływania forAdManagerAdView()
należy podać listę prawidłowej długości z wartościami OnAdManagerAdViewLoadedListener
.
Aby przesłać prawidłowe żądanie reklamy, musisz podać co najmniej 1 prawidłowy rozmiar reklamy. Gdy baner reklamowy zostanie wczytany, wywoływana jest metoda onAdManagerAdViewLoaded()
określonego obiektu listenera.
Ustawianie opcji AdViewOptions
Ostatnią funkcją uwzględnioną w przykładzie AdLoader
jest inna opcjonalna metoda, withAdManagerAdViewOptions()
:
Java
.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Kotlin
.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder() // Methods in the AdManagerAdViewOptions.Builder class can be // used here to specify individual banner options settings. .build()
Obiekt AdManagerAdViewOptions
umożliwia wydawcom konfigurowanie konkretnych opcji banerów wczytywanych przez AdLoader
, takich jak:
setManualImpressionsEnabled()
- Włącza ręczne raportowanie wyświetleń w przypadku rezerwacji w usłudze Google Ad Manager. Aplikacje korzystające z ręcznych wyświetleń mogą samodzielnie określać, kiedy należy je rejestrować, i robić to za pomocą wywołania funkcji
AdManagerAdView.recordManualImpression()
.