Mit wenigen Änderungen am Code können Sie native und Banneranzeigen in Ihren Anzeigenanfragen kombinieren.
Vorbereitung
- Version 11.0.0 oder höher des Google Mobile Ads SDK
- Führen Sie die Schritte unter Jetzt starten aus.
Anzeigen werden geladen
Benutzerdefiniert gerenderte native Anzeigen werden mit der Klasse AdLoader
geladen, die eine eigene AdLoader.Builder
-Klasse hat, um sie beim Erstellen anzupassen. Wenn Sie dem AdLoader
beim Erstellen Listener hinzufügen, gibt eine App an, welche Arten von Anzeigenformaten sie empfangen kann. Die AdLoader
fordert dann nur diese Typen an.
Das AdLoader
-Objekt kann auch so konfiguriert werden, dass Anzeigenanfragen gestellt werden, die entweder zu einer Banner- oder zu einer nativen Anzeige führen können. Wenn Sie der AdLoader
beim Erstellen eine OnAdManagerAdViewLoadedListener
hinzufügen, wird festgelegt, dass Banneranzeigen mit nativen Anzeigen konkurrieren sollen, um die Anfrage zu erfüllen.
Der folgende Code zeigt, wie Sie ein AdLoader
erstellen, mit dem entweder eine native oder eine Banneranzeige in einer einzigen Anfrage geladen werden kann:
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()
Mit der Methode forAdManagerAdView()
oben wird die AdLoader
für die Anzeige von Banneranzeigen vorbereitet. Beim Aufrufen von forAdManagerAdView()
muss eine Liste mit gültigen Anzeigengrößen mit variabler Länge zusammen mit einer OnAdManagerAdViewLoadedListener
angegeben werden.
Damit eine gültige Anzeigenanfrage gesendet werden kann, muss mindestens eine gültige Anzeigengröße angegeben werden. Wenn eine Banneranzeige erfolgreich geladen wurde, wird die onAdManagerAdViewLoaded()
-Methode des angegebenen Listener-Objekts aufgerufen.
AdViewOptions festlegen
Die letzte Funktion, die bei der Erstellung der AdLoader
oben verwendet wurde, ist eine weitere optionale Methode, 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()
Mit dem AdManagerAdViewOptions
-Objekt können Publisher bestimmte Optionen für Banner festlegen, die über das AdLoader
geladen werden. Dazu gehören:
setManualImpressionsEnabled()
- Ermöglicht manuelle Impressionsberichte für Google Ad Manager-Reservierungen. Bei Apps, die manuelle Impressionen verwenden, kann die Anwendung selbst bestimmen, wann eine Impression erfasst werden soll. Dazu muss sie
AdManagerAdView.recordManualImpression()
aufrufen.