Anfragen für benutzerdefiniert gerenderte native Anzeigen und Banneranzeigen kombinieren

Mit nur wenigen Änderungen am Code können Sie in Ihren Anzeigenanfragen native und Banneranzeigen kombinieren.

Voraussetzungen

  • Version 11.0.0 oder höher des Google Mobile Ads SDK
  • Schließen Sie Erste Schritte ab.

Anzeige wird geladen

Benutzerdefiniert gerenderte native Anzeigen werden mithilfe der AdLoader-Klasse geladen, die eine eigene AdLoader.Builder-Klasse hat, um sie bei der Erstellung anzupassen. Wenn Sie der AdLoader beim Erstellen Listener hinzufügen, gibt eine App an, welche Arten von Anzeigenformaten sie empfangen kann. AdLoader fordert dann nur diese Typen an.

Das AdLoader-Objekt kann auch so konfiguriert werden, dass Anzeigenanfragen gesendet werden, die entweder zu einer Banner- oder nativen Anzeige führen können. Wenn Sie dem AdLoader beim Erstellen ein OnAdManagerAdViewLoadedListener hinzufügen, wird festgelegt, dass Banneranzeigen mit nativen Anzeigen konkurrieren sollen, um die Anfrage auszuführen.

Der folgende Code zeigt, wie Sie ein AdLoader erstellen, mit dem entweder eine native oder eine Banneranzeige in einer einzelnen Anfrage geladen werden kann:

Java

AdLoader adLoader = new AdLoader.Builder(context, "/6499/example/nativeandbanner")
    .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, "/6499/example/nativeandbanner")
    .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 AdLoader für den Empfang von Banneranzeigen vorbereitet. Beim Aufrufen von forAdManagerAdView() muss eine Liste gültiger Anzeigengrößen mit variabler Länge zusammen mit einem OnAdManagerAdViewLoadedListener angegeben werden.

Damit eine gültige Anzeigenanfrage gestellt werden kann, muss mindestens eine gültige Anzeigengröße angegeben werden. Wurde eine Banneranzeige geladen, wird die Methode onAdManagerAdViewLoaded() des angegebenen Listener-Objekts aufgerufen.

AdViewOptions festlegen

Die letzte Funktion, die oben zum Erstellen von AdLoader enthalten ist, 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 vom AdLoader geladen werden, z. B.:

setManualImpressionsEnabled()
Aktiviert manuelle Berichte zu Impressionen für Google Ad Manager-Reservierungen. Apps, die manuelle Impressionen verwenden, können selbst bestimmen, wann eine Impression erfasst werden soll, und dies durch Aufrufen von AdManagerAdView.recordManualImpression() tun.