Vorabladen von Anzeigen (Beta)

Das Vorabladen von Anzeigen ist eine von Google verwaltete Funktion zum Laden von Anzeigen in Google Mobile Ads SDK (Legacy), mit der das Laden und Caching von Anzeigen für Sie verwaltet wird. Das Vorabladen von Anzeigen erfordert eine Änderung bei der Verwaltung des Ladens von Anzeigen. Wenn Sie die Leistung durch das Vorabladen von Anzeigen optimieren möchten, deaktivieren Sie das benutzerdefinierte Caching und delegieren Sie diese Aufgabe an Google Mobile Ads SDK (Legacy).

Das Vorabladen von Anzeigen bietet gegenüber dem manuellen Laden von Anzeigen folgende Vorteile:

  • Referenzverwaltung: Geladene Anzeigen werden gespeichert, sodass Sie keine Referenzen verwalten müssen, bis Sie bereit sind, sie zu präsentieren.
  • Automatisches Aktualisieren: Es wird automatisch eine neue Anzeige geladen, wenn Sie eine aus dem Cache abrufen.
  • Verwaltete Wiederholungsversuche: Fehlgeschlagene Anfragen werden automatisch mit exponentiellem Backoff wiederholt.
  • Ablaufbehandlung: Anzeigen werden automatisch aktualisiert, bevor sie ablaufen (in der Regel nach einer Stunde).
  • Cache-Optimierung: Wenn Sie eine Cache-Größe von mehr als eins verwenden, optimiert Google Mobile Ads SDK (Legacy) die Cache-Reihenfolge, um die beste Anzeige auszuliefern.

In diesem Leitfaden wird beschrieben, wie Sie vorab geladene Anzeigen konfigurieren, die Verfügbarkeit von vorab geladenen Anzeigen prüfen und die vorab geladene Anzeige einblenden.

Vorbereitung

Bevor Sie mit dieser Anleitung fortfahren, müssen Sie Google Mobile Ads SDK (Legacy) einrichten.

Anzeigen vorab laden

Rufen Sie beim Start der App einmal die Methode start auf. Nachdem Sie die Methode start aufgerufen haben, werden Anzeigen Google Mobile Ads SDK (Legacy) automatisch vorab geladen und fehlgeschlagene Anfragen für vorab geladene Konfigurationen werden wiederholt.

Im folgenden Beispiel wird das Vorabladen von Anzeigen gestartet:

Kotlin

// Define a PreloadConfiguration.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").build()
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration)

Java

// Define a PreloadConfiguration.
PreloadConfiguration configuration = new PreloadConfiguration.Builder("AD_UNIT_ID").build();
// Start the preloading with a given preload ID, preload configuration.
InterstitialAdPreloader.start("AD_UNIT_ID", configuration);

Ersetzen Sie AD_UNIT_ID durch die ID Ihres Anzeigenblocks.

Vorab geladene Anzeige abrufen und ausliefern

Wenn Sie das Vorabladen von Anzeigen verwenden, werden im Google Mobile Ads SDK (Legacy) zwischengespeicherte Anzeigen gespeichert. Wenn Sie eine Anzeige einblenden möchten, rufen Sie die Methode pollAd auf. Google Mobile Ads SDK (Legacy) ruft eine verfügbare Anzeige ab und lädt die nächste Anzeige automatisch im Hintergrund vor.

Rufen Sie die Methode pollAd erst auf, wenn Sie bereit sind, eine Anzeige einzublenden. Wenn Anzeigen im Cache gespeichert werden, kann Google Mobile Ads SDK (Legacy) abgelaufene Anzeigen automatisch aktualisieren und den Cache optimieren.

Im folgenden Beispiel wird eine vorab geladene Anzeige abgerufen und angezeigt:

Kotlin

// pollAd() returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID")

// [Optional] Interact with the ad as needed.
ad?.onPaidEventListener = OnPaidEventListener {
  // [Optional] Send the impression-level ad revenue information to your preferred
  // analytics server directly within this callback.
}

// Show the ad immediately.
ad?.show(activity)

Java

// pollAd() returns the next available ad and loads another ad in the background.
InterstitialAd ad = InterstitialAdPreloader.pollAd("AD_UNIT_ID");

if (ad != null) {
  // [Optional] Interact with the ad object as needed.
  ad.setOnPaidEventListener(
      adValue -> {
        // [Optional] Send the impression-level ad revenue information to your preferred
        // analytics server directly within this callback.
      });

  // Show the ad immediately.
  ad.show(activity);
}

Verfügbarkeit von Preloading-Anzeigen prüfen

Wählen Sie eine der folgenden Optionen aus, um die Verfügbarkeit von Anzeigen zu prüfen:

Verfügbarkeit vorab geladener Anzeigen abrufen

Im folgenden Beispiel wird die Verfügbarkeit von Anzeigen geprüft:

Kotlin

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

Java

// Verify that a preloaded ad is available.
if (!InterstitialAdPreloader.isAdAvailable("AD_UNIT_ID")) {
  // No ads are available to show.
}

Verfügbarkeit vorab geladener Anzeigen überwachen

Registrieren Sie sich für Vorablade-Ereignisse, um benachrichtigt zu werden, wenn Anzeigen erfolgreich vorab geladen wurden, das Vorabladen fehlgeschlagen ist oder der Anzeigencache erschöpft ist.

Vorablade-Ereignisse sind für Analysezwecke gedacht. In Callbacks für Vorablade-Ereignisse:

  • Nicht start anrufen.
  • Rufen Sie pollAd nur auf, wenn die Anzeige sofort eingeblendet wird.

Im folgenden Beispiel werden Anzeigenereignisse registriert:

Kotlin

// Define a callback to receive preload events.
val callback =
  object : PreloadCallbackV2() {
    override fun onAdPreloaded(preloadId: String, responseInfo: ResponseInfo?) {
      // Called when preloaded ads are available.
    }

    override fun onAdsExhausted(preloadId: String) {
      // Called when no preloaded ads are available.
    }

    override fun onAdFailedToPreload(preloadId: String, adError: AdError) {
      // Called when preloaded ads failed to load.
    }
  }

Java

// Define a callback to receive preload events.
PreloadCallbackV2 callback =
    new PreloadCallbackV2() {
      @Override
      public void onAdPreloaded(
          @NonNull String preloadId, @Nullable ResponseInfo responseInfo) {
        // Called when preloaded ads are available.
      }

      @Override
      public void onAdsExhausted(@NonNull String preloadId) {
        // Called when no preloaded ads are available.
      }

      @Override
      public void onAdFailedToPreload(@NonNull String preloadId, @NonNull AdError adError) {
        // Called when preloaded ads failed to load.
      }
    };

Vorabladen von Anzeigen beenden

Wenn Sie in der Sitzung keine Anzeigen mehr für eine Vorablade-ID ausliefern müssen, können Sie das Vorabladen von Anzeigen beenden. Wenn Sie das Vorabladen von Anzeigen für eine bestimmte Vorablade-ID beenden möchten, rufen Sie destroy mit einer Vorablade-ID auf. Wenn Sie das Vorabladen für alle Vorablader beenden möchten, rufen Sie destroyAll auf.

Kotlin

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID")
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll()

Java

// Stops the preloading and destroy preloaded ads.
InterstitialAdPreloader.destroy("AD_UNIT_ID");
// Stops the preloading and destroy all ads.
InterstitialAdPreloader.destroyAll();

Puffergröße festlegen

Die Puffergröße bestimmt die Anzahl der vorab geladenen Anzeigen, die im Speicher gehalten werden. Standardmäßig optimiert Google die Puffergröße, um den Arbeitsspeicherverbrauch und die Latenz bei der Anzeigenbereitstellung auszugleichen. Wenn in Ihrer App Anzeigen ausgeliefert werden, bevor die nächste Anzeige geladen wird, können Sie eine benutzerdefinierte Puffergröße festlegen, um die Anzahl der im Arbeitsspeicher gehaltenen Anzeigen zu erhöhen.

Kotlin

// Define a PreloadConfiguration and set the buffer size to 2 preloaded ads.
val configuration = PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(2).build()

Java

// Define a PreloadConfiguration and set the buffer size to 2 preloaded ads.
PreloadConfiguration configuration =
    new PreloadConfiguration.Builder("AD_UNIT_ID").setBufferSize(2).build();

Limits für den Vorab-Cache

Google Mobile Ads SDK (Legacy) erzwingt ein appweites Limit für die Gesamtzahl der vorab geladenen Anzeigen für alle Anzeigenblöcke und Preload-IDs:

  • Standardlimit: Google Mobile Ads SDK (Legacy) speichert maximal 6 vorab geladene Anzeigen im Arbeitsspeicher. Dieses Limit gilt für alle Formate und Vorablade-IDs.
  • Wir empfehlen, für jede Vorablade-ID eine Puffergröße von zwei beizubehalten.