Verfügbar

Anzeigen mit Prämie sind Anzeigen, mit denen Nutzer interagieren können, um In-App-Prämien zu erhalten. In diesem Leitfaden erfahren Sie, wie Sie Anzeigen mit Prämie von Ad Manager in eine Flutter-App einbinden.

Immer mit Testanzeigen testen

Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen anstelle von Produktionsanzeigen. Andernfalls kann dein Konto gesperrt werden.

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

  • /6499/example/rewarded

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 einfach durch Ihre eigenen Anzeigenblock-IDs, bevor Sie Ihre App veröffentlichen.

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 = '/6499/example/rewarded';

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        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 auf Lebenszyklus-Ereignisse warten, z. B. das Ein- oder Ausblenden der Anzeige. Legen Sie RewardedAd.fullScreenContentCallback fest, bevor die Anzeige ausgeliefert wird, um bei diesen Ereignissen Benachrichtigungen zu erhalten. In diesem Beispiel wird jede Methode implementiert und eine Nachricht in der Console protokolliert:

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

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

  /// Loads a rewarded ad.
  void loadAd() {
    RewardedAd.loadWithAdManagerAdRequest(
        adUnitId: adUnitId,
        adManagerAdRequest: const AdManagerAdRequest(),
        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 dem gesamten App-Inhalt angezeigt und statisch platziert. Daher kann er nicht zum Flutter-Widget-Baum hinzugefügt werden. Sie können festlegen, wann die Anzeige ausgeliefert wird, indem Sie show() aufrufen. RewardedAd.show() verwendet eine OnUserEarnedRewardCallback, die aufgerufen wird, wenn der Nutzer eine Prämie erhält. Implementieren Sie dies und belohnen Sie den Nutzer für das Ansehen einer Anzeige.

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

Sobald show() aufgerufen wurde, kann ein auf diese Weise angezeigtes Ad nicht mehr programmatisch entfernt werden und erfordert eine Nutzereingabe. Ein RewardedAd kann nur einmal angezeigt werden. Nachfolgende Aufrufe zum Anzeigen lösen onAdFailedToShowFullScreenContent aus.

Eine Anzeige muss entsorgt werden, wenn kein Zugriff mehr darauf benötigt wird. In den Callbacks FullScreenContentCallback.onAdDismissedFullScreenContent und FullScreenContentCallback.onAdFailedToShowFullScreenContent wird empfohlen, wann dispose() aufgerufen werden sollte.

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