Verfügbar

Anzeigen mit Prämie sind Anzeigen, mit denen Nutzer im Austausch mit ihnen interagieren können. für In-App-Prämien. In diesem Leitfaden erfahren Sie, wie sich AdMob-Anzeigen mit Prämie in eine Flutter-App einbinden lassen.

Immer mit Testanzeigen testen

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 Anzeigen mit Prämie:

Android

ca-app-pub-3940256099942544/5224354917

iOS

ca-app-pub-3940256099942544/1712485313

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 jedoch vor dem Veröffentlichen Ihrer

Anzeige laden

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

class RewardedExampleState extends State<RewardedExample> {
  RewardedAd? _rewardedAd;

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

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

Ereignisse für Anzeigen mit Prämie

Mit FullScreenContentCallback können Sie den Lebenszyklus überwachen Ereignisse wie das Ein- oder Ausblenden einer Anzeige. Festlegen RewardedAd.fullScreenContentCallback, bevor die Anzeige ausgeliefert wird, um Benachrichtigungen für diese Ereignisse. In diesem Beispiel werden die einzelnen Methoden implementiert und ein an die Konsole senden:

class RewardedExampleState extends State<RewardedExample> {
  RewardedAd? _rewardedAd;

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

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedAd.load(
        adUnitId: adUnitId,
        request: const AdRequest(),
        adLoadCallback: RewardedAdLoadCallback(
          // 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.
            _rewardedAd = ad;
          },
          // Called when an ad request failed.
          onAdFailedToLoad: (LoadAdError error) {
            debugPrint('RewardedAd failed to load: $error');
          },
        ));
  }
}

Displayanzeige

Ein RewardedAd wird als Overlay über allen App-Inhalten angezeigt und ist statisch platziert. Daher kann es dem Flutter-Widget-Baum nicht hinzugefügt werden. Sie können durch Aufrufen von show() festlegen, wann die Anzeige ausgeliefert werden soll. RewardedAd.show() verwendet ein OnUserEarnedRewardCallback, das aufgerufen wird, wenn erhält der Nutzer eine Prämie. Implementieren Sie dies und belohnen Sie die Nutzenden sich eine Anzeige ansieht.

_rewardedAd.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 RewardedAd kann nur angezeigt werden einmal. 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 wann dispose() aufgerufen werden soll, finden Sie in der FullScreenContentCallback.onAdDismissedFullScreenContent und FullScreenContentCallback.onAdFailedToShowFullScreenContent-Callbacks.

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

Vollständiges Beispiel auf GitHub

Mit Prämie