Interstitial mit Prämie

Plattform auswählen:Android iOS Unity Flutter

Interstitials mit Prämie sind ein auf Incentives basierendes Anzeigenformat, das automatisch an natürlichen Übergangspunkten in einer App ausgeliefert wird. Sie können damit Nutzer, die sich die Werbung ansehen, mit Prämien belohnen. Anders als bei Anzeigen mit Prämie müssen Nutzer nicht zustimmen, sich Interstitials mit Prämie anzusehen. In diesem Leitfaden wird beschrieben, wie Sie Anzeigen mit Prämie in einer Flutter-App einbinden.

Vorbereitung

  • Flutter-Plug-in 1.1.0 oder höher
  • Führen Sie die Schritte unter Jetzt starten aus. In Ihrer Flutter-App sollte das Google Mobile Ads Flutter-Plug-in bereits importiert sein.

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

Android

ca-app-pub-3940256099942544/5354046379

iOS

ca-app-pub-3940256099942544/6978759866

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

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: const AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (RewardedInterstitialAd ad) {
      // Called when an ad is successfully received.
      debugPrint('Ad was loaded.');
      // Keep a reference to the ad so you can show it later.
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (LoadAdError error) {
      // Called when an ad request failed.
      debugPrint('Ad failed to load with error: $error');
    },
  ),
);

Ersetzen Sie _adUnitId durch Ihre Anzeigenblock-ID.

Ereignisse für Interstitial-Anzeigen mit Prämie

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

ad.fullScreenContentCallback = FullScreenContentCallback(
  onAdShowedFullScreenContent: (ad) {
    // Called when the ad showed the full screen content.
    debugPrint('Ad showed full screen content.');
  },
  onAdFailedToShowFullScreenContent: (ad, err) {
    // Called when the ad failed to show full screen content.
    debugPrint('Ad failed to show full screen content with error: $err');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdDismissedFullScreenContent: (ad) {
    // Called when the ad dismissed full screen content.
    debugPrint('Ad was dismissed.');
    // Dispose the ad here to free resources.
    ad.dispose();
  },
  onAdImpression: (ad) {
    // Called when an impression occurs on the ad.
    debugPrint('Ad recorded an impression.');
  },
  onAdClicked: (ad) {
    // Called when a click is recorded for an ad.
    debugPrint('Ad was clicked.');
  },
);

Displayanzeige

Ein RewardedInterstitialAd 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. RewardedInterstitialAd.show() akzeptiert ein OnUserEarnedRewardCallback, das aufgerufen wird, wenn der Nutzer eine Prämie erhält. Achte darauf, dass du diese Funktion implementierst und den Nutzer für das Ansehen einer Anzeige belohnst.

_rewardedInterstitialAd?.show(
  onUserEarnedReward: (AdWithoutView view, RewardItem rewardItem) {
    debugPrint('Reward amount: ${rewardItem.amount}');
  },
);

Sobald show() aufgerufen wird, kann ein so angezeigtes Ad nicht programmatisch entfernt werden. Dazu ist eine Nutzereingabe erforderlich. Ein RewardedInterstitialAd 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.

[Optional] SSV-Callbacks (serverseitige Überprüfung) validieren

Für Apps, die zusätzliche Daten in serverseitigen Überprüfungs-Callbacks benötigen, sollte die Funktion für benutzerdefinierte Daten von Anzeigen mit Prämie verwendet werden. Jeder Stringwert, der für ein Objekt für Anzeigen mit Prämie festgelegt ist, wird an den Abfrageparameter custom_data des SSV-Callbacks übergeben. Wenn kein benutzerdefinierter Datenwert festgelegt ist, ist der Wert des custom_data-Abfrageparameters nicht im SSV-Callback enthalten.

Das folgende Codebeispiel zeigt, wie Sie die SSV-Optionen festlegen, nachdem das Interstitial mit Prämie geladen wurde:

RewardedInterstitialAd.load(
  adUnitId: "_adUnitId",
  request: AdRequest(),
  rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback(
    onAdLoaded: (ad) {
      ServerSideVerificationOptions _options =
          ServerSideVerificationOptions(
              customData: 'SAMPLE_CUSTOM_DATA_STRING');
      ad.setServerSideOptions(_options);
      _rewardedInterstitialAd = ad;
    },
    onAdFailedToLoad: (error) {},
  ),
);

Ersetzen Sie SAMPLE_CUSTOM_DATA_STRING durch Ihre benutzerdefinierten Daten.

Vollständiges Beispiel auf GitHub

Interstitial mit Prämie