Interstitial-Anzeigen mit Prämie (Beta)

Interstitial-Anzeigen mit Prämie sind ein Anzeigenformat, bei dem Prämien für ausgelieferte Anzeigen automatisch an natürlichen App-Übergängen. Im Gegensatz zu Anzeigen mit Prämie müssen aktiviert werden, damit Sie ein Interstitial mit Prämie sehen können. In diesem Leitfaden erfahren Sie, wie Sie Interstitial-Anzeigen mit Prämie aus Ad Manager in eine Flutter-App um.

Vorbereitung

  • Flutter-Plug-in 1.1.0 oder höher
  • Schließen Sie Erste Schritte ab. Ihr Die Flutter App sollte bereits über das Flutter-Plug-in für Google Mobile Ads verfügen importiert.

Verwenden Sie immer Testanzeigen

Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.

Die einfachste Methode zum Laden von Testanzeigen ist die Verwendung unserer speziellen Test-Anzeigenblock-ID für Interstitial-Anzeigen mit Prämie:

  • /21775744923/example/rewarded-interstitial

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

Anzeige laden

Im folgenden Beispiel wird eine Interstitial-Anzeige mit Prämie geladen:

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardeInterstitialdAd;

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

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

Ereignisse für Interstitial-Anzeigen mit Prämie

Mit FullScreenContentCallback können Sie auf Lebenszyklusereignisse achten, z. B. wenn die Anzeige ausgeliefert oder geschlossen wird. Festlegen RewardedInterstitialAd.fullScreenContentCallback, bevor die Anzeige für erhalten Benachrichtigungen für diese Ereignisse. In diesem Beispiel werden alle Methoden implementiert und eine Nachricht wird in der Konsole protokolliert:

class RewardedInterstitialExampleState extends State<RewardedInterstitialExample> {
  RewardedInterstitialAd? _rewardedInterstitialAd;

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

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedInterstitialAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        adLoadCallback: RewardedInterstitialAdLoadCallback(
          // 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.
            _rewardedInterstitialAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugprint('RewardedInterstitialAd failed to load: $error');
          },
        ));
  }
}

Displayanzeige

Ein RewardedInterstitialAd wird als Overlay über dem gesamten App-Content angezeigt. und statisch platziert sind. und kann daher nicht zum Baum des Flutter-Widgets hinzugefügt werden. Durch Aufrufen von show() können Sie festlegen, wann die Anzeige ausgeliefert werden soll. RewardedInterstitialAd.show() nimmt einen OnUserEarnedRewardCallback entgegen, der aufgerufen wird, wenn der Nutzer eine Prämie erhält. Implementieren Sie dies und belohnen Sie für das Ansehen einer Anzeige.

_rewardedInterstitialAd.show(onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
  // Reward the user for watching an ad.
});

Sobald show() aufgerufen wurde, kann ein auf diese Weise dargestelltes Ad nicht mehr entfernt werden und erfordert Nutzereingaben. Ein RewardedInterstitialAd kann nur einmal angezeigt werden. Nachfolgende Aufrufe zum Anzeigen werden ausgelöst onAdFailedToShowFullScreenContent

Eine Anzeige muss entsorgt werden, wenn kein Zugriff mehr darauf erforderlich ist. Die Best Practice wann dispose() aufgerufen werden soll, finden Sie in der FullScreenContentCallback.onAdDismissedFullScreenContent und FullScreenContentCallback.onAdFailedToShowFullScreenContent-Callbacks.

Fertig! In Ihrer App können jetzt Interstitial-Anzeigen mit Prämie ausgeliefert werden.