Interstitial

Plattform auswählen:Android iOS Unity Flutter

Interstitial-Anzeigen sind Vollbildanzeigen, die die Benutzeroberfläche ihrer Host-App überlagern. Sie werden in der Regel an natürlichen Übergangspunkten innerhalb einer App angezeigt, beispielsweise zwischen Aktivitäten oder in den Pausen zwischen den Levels eines Spiels. Wenn in einer App eine Interstitial-Anzeige eingeblendet wird, kann der Nutzer entweder auf die Anzeige tippen und zur Zielseite weitergeleitet werden oder die Anzeige schließen und zur App zurückkehren.

In dieser Anleitung wird beschrieben, wie Sie Interstitial-Anzeigen in eine Flutter-App einbinden.

Immer Testanzeigen verwenden

Verwenden Sie beim Entwickeln und Testen Ihrer Apps Testanzeigen anstelle von Live-Anzeigen. Andernfalls kann es zu einer Kontosperrung kommen.

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

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

Die Testanzeigenblöcke sind so konfiguriert, dass für jede Anfrage Testanzeigen zurückgegeben werden. Sie können sie beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Denken Sie daran, sie vor der Veröffentlichung Ihrer App durch Ihre eigenen Anzeigenblock-IDs zu ersetzen.

Anzeige laden

Im folgenden Beispiel wird eine Interstitial-Anzeige geladen:

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

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // 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('InterstitialAd failed to load: $error');
          },
        ));
  }
}

Ereignisse für Interstitial-Anzeigen

Mit FullScreenContentCallback können Sie auf Lebenszyklusereignisse wie das Einblenden oder Schließen der Anzeige reagieren. Legen Sie InterstitialAd.fullScreenContentCallback fest, bevor die Anzeige ausgeliefert wird, um Benachrichtigungen für diese Ereignisse zu erhalten. In diesem Beispiel wird jede Methode implementiert:

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

  // TODO: replace this test ad unit with your own ad unit.
  final adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/1033173712'
    : 'ca-app-pub-3940256099942544/4411468910';

  /// Loads an interstitial ad.
  void loadAd() {
    InterstitialAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: InterstitialAdLoadCallback(
          // 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('InterstitialAd failed to load: $error');
          },
        ));
  }
}

Interstitial-Anzeige einblenden

Ein InterstitialAd wird als Overlay über allen App-Inhalten angezeigt und ist statisch platziert. Es kann daher nicht dem Flutter-Widget-Baum hinzugefügt werden. Sie können festlegen, wann die Anzeige ausgeliefert werden soll, indem Sie show() aufrufen.

_interstitiaAd.show();

Nachdem show() aufgerufen wurde, kann ein so angezeigtes Ad nicht programmatisch geschlossen werden. Dazu ist eine Nutzereingabe erforderlich. Ein InterstitialAd kann nur einmal angezeigt werden. Bei nachfolgenden Aufrufen von „show“ wird onAdFailedToShowFullScreenContent ausgelöst.

Eine Anzeige muss verworfen werden, wenn der Zugriff darauf nicht mehr erforderlich ist. Die Best Practice für den Aufruf von dispose() ist in den Callbacks FullScreenContentCallback.onAdDismissedFullScreenContent und FullScreenContentCallback.onAdFailedToShowFullScreenContent.

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

Nächste Schritte

Vollständiges Beispiel auf GitHub

Interstitial