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 Cachen von Anzeigen für Sie verwaltet wird. Für das Vorabladen von Anzeigen ist eine Änderung der Art und Weise erforderlich, wie Sie das Laden von Anzeigen verwalten. Wenn Sie die Leistung durch das Vorabladen von Anzeigen optimieren möchten, deaktivieren Sie das benutzerdefinierte Caching und übertragen Sie diese Aufgabe an Google Mobile Ads SDK (Legacy).

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

  • Referenzverwaltung:Hier werden geladene Anzeigen gespeichert, sodass Sie Referenzen nicht verwalten müssen, bis Sie bereit sind, sie zu präsentieren.
  • Automatisches Neuladen:Eine neue Anzeige wird automatisch 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 1 verwenden, optimiert Google Mobile Ads SDK (Legacy) die Cache-Reihenfolge, um die beste Anzeige auszuliefern.

In dieser Anleitung wird beschrieben, wie Sie das Vorabladen von 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 die Methode start einmal auf, wenn die App gestartet wird. Nachdem Sie die Methode start aufgerufen haben, lädt Google Mobile Ads SDK (Legacy) automatisch Anzeigen vor und wiederholt fehlgeschlagene Anfragen für vorab geladene Konfigurationen.

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 Ihre Anzeigenblock-ID.

Vorab geladene Anzeige abrufen und einblenden

Wenn Sie das Vorabladen von Anzeigen verwenden, werden die im Cache gespeicherten Anzeigen in Google Mobile Ads SDK (Legacy) 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 auszuliefern. 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 Anzeigenverfügbarkeit zu prüfen:

Verfügbarkeit vorab geladener Anzeigen abrufen

Im folgenden Beispiel wird geprüft, ob Anzeigen verfügbar sind:

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 prüfen

Registrieren Sie sich für Preload-Ereignisse, um benachrichtigt zu werden, wenn Anzeigen erfolgreich vorab geladen werden, das Vorabladen fehlschlägt oder der Anzeigen-Cache erschöpft ist.

Vorablade-Ereignisse sind für Analysezwecke vorgesehen. Innerhalb von Preload-Ereignis-Callbacks:

  • Rufen Sie start nicht an.
  • Rufen Sie pollAd nur auf, wenn die Anzeige sofort eingeblendet wird.

Im folgenden Beispiel wird die Registrierung für Anzeigenereignisse gezeigt:

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 für eine Preload-ID in der Sitzung keine Anzeigen mehr ausliefern müssen, können Sie das Vorabladen von Anzeigen beenden. Wenn Sie das Vorabladen von Anzeigen für eine bestimmte Vorabladungs-ID beenden möchten, rufen Sie destroy mit einer Vorabladungs-ID auf. Wenn Sie das Vorabladen für alle Preloader 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 steuert die Anzahl der vorab geladenen Anzeigen, die im Arbeitsspeicher gehalten werden. Standardmäßig optimiert Google die Puffergröße, um den Arbeitsspeicherverbrauch und die Latenz beim Ausliefern von Anzeigen 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 gespeicherten 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 das Vorabladen von Cache

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

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