Interstitial

Interstitial-Anzeigen sind Vollbildanzeigen, die die Benutzeroberfläche ihrer Host-App verdecken. Sie werden normalerweise an natürlichen Übergangspunkten innerhalb einer App eingeblendet, z. B. zwischen Aktivitäten oder während der Pause zwischen Leveln in einem Spiel. Wenn in einer App eine Interstitial-Anzeige eingeblendet wird, kann der Nutzer entweder auf die Anzeige tippen und so weiter zum Ziel gelangen oder sie schließen und zur App zurückkehren.

In diesem Leitfaden erfahren Sie, wie Sie Interstitial-Anzeigen in eine Flutter-App einbinden.

Immer mit Testanzeigen testen

Verwenden Sie beim Entwickeln und Testen Ihrer Apps Testanzeigen und keine Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.

Am einfachsten lassen sich Testanzeigen mit unserer Testanzeigenblock-ID für Interstitials laden:

  • /6499/example/interstitial

Die Testanzeigenblöcke sind so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. Sie können sie beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Ersetzen Sie sie jedoch vor dem Veröffentlichen Ihrer App durch Ihre Anzeigenblock-IDs.

Anzeige laden

Im folgenden Beispiel wird eine Interstitial-Anzeige geladen:

class InterstitialExampleState extends State<InterstitialExample> {
  AdManagerInterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/6499/example/interstitial';

  /// Loads an interstitial ad.
  void loadAd() {
    AdManagerInterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdManagerAdRequest(),
        adLoadCallback: AdManagerInterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('AdManagerInterstitialAd failed to load: $error');
          },
        ));
  }
}

Ereignisse für Interstitial-Anzeigen

Mit FullScreenContentCallback können Sie Lebenszyklusereignisse beobachten, z. B. wann die Anzeige eingeblendet oder geschlossen wird. Legen Sie AdManagerInterstitialAd.fullScreenContentCallback fest, bevor die Anzeige ausgeliefert wird, um Benachrichtigungen zu diesen Ereignissen zu erhalten. In diesem Beispiel werden die einzelnen Methoden implementiert:

class InterstitialExampleState extends State<InterstitialExample> {
  AdManagerInterstitialAd? _interstitialAd;

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = '/6499/example/interstitial';

  /// Loads an interstitial ad.
  void loadAd() {
    AdManagerInterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdManagerAdRequest(),
        adLoadCallback: AdManagerInterstitialAdLoadCallback(
          // Called when an ad is successfully received.
          onAdLoaded: (ad) {
             ad.fullScreenContentCallback = FullScreenContentCallback(
                // Called when the ad showed the full screen content.
                onAdShowedFullScreenContent: (ad) {},
                // Called when an impression occurs on the ad.
                onAdImpression: (ad) {},
                // Called when the ad failed to show full screen content.
                onAdFailedToShowFullScreenContent: (ad, err) {
                  // Dispose the ad here to free resources.
                  ad.dispose();
                },
                // Called when the ad dismissed full screen content.
                onAdDismissedFullScreenContent: (ad) {
                  // Dispose the ad here to free resources.
                  ad.dispose();
                },
                // Called when a click is recorded for an ad.
                onAdClicked: (ad) {});

            debugPrint('$ad loaded.');
            // Keep a reference to the ad so you can show it later.
            _interstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('AdManagerInterstitialAd failed to load: $error');
          },
        ));
  }
}

Interstitial-Anzeige einblenden

Ein AdManagerInterstitialAd wird als Overlay über allen App-Inhalten angezeigt und statisch platziert. Daher kann es der Struktur des Flutter-Widgets nicht hinzugefügt werden. Durch Aufrufen von show() können Sie festlegen, wann die Anzeige ausgeliefert werden soll.

_interstitiaAd.show();

Sobald show() aufgerufen wurde, kann eine auf diese Weise angezeigte Ad nicht programmatisch geschlossen werden und erfordert eine Nutzereingabe. Ein AdManagerInterstitialAd kann nur einmal angezeigt werden. Nachfolgende Aufrufe, die angezeigt werden sollen, lösen onAdFailedToShowFullScreenContent aus.

Eine Anzeige muss entsorgt werden, wenn kein Zugriff mehr darauf erforderlich ist. Die Best Practice für den Aufruf von dispose() sind die Callbacks FullScreenContentCallback.onAdDismissedFullScreenContent und FullScreenContentCallback.onAdFailedToShowFullScreenContent.

Fertig! In Ihrer App können jetzt Interstitial-Anzeigen ausgeliefert werden.

Nächste Schritte