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 Münzen oder Extraleben 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 Interstitial-Anzeigen mit Prämie aus AdMob in eine Flutter-App einbinden.
Vorbereitung
Führen Sie die folgenden Schritte aus, bevor Sie fortfahren:
- Installieren Sie das Flutter-Plug-in 1.1.0 oder höher.
- Richten Sie Google Mobile Ads Flutter Plugin ein. In Ihre Flutter-App muss Google Mobile Ads Flutter Plugin importiert sein.
Immer mit Testanzeigen testen
Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen anstelle von aktiven Anzeigen. Andernfalls kann Ihr Konto gesperrt werden.
Testanzeigen lassen sich am einfachsten mit unserer speziellen Test-Anzeigenblock-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 bei jeder Anfrage Testanzeigen zurückgegeben werden. Sie können sie beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Ersetzen Sie sie vor der Veröffentlichung Ihrer App durch Ihre eigenen Anzeigenblock-IDs.
Anzeige laden
Im folgenden Beispiel wird eine Interstitial-Anzeige mit Prämie geladen:
Ersetzen Sie _adUnitId durch Ihre eigene Anzeigenblock-ID.
Anzeigenereignisse für Interstitials mit Prämie
Mit FullScreenContentCallback können Sie auf Lebenszyklusereignisse wie das Anzeigen oder Schließen der Anzeige warten. Legen Sie RewardedInterstitialAd.fullScreenContentCallback fest, bevor Sie die Anzeige präsentieren, um Benachrichtigungen zu diesen Ereignissen 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.');
},
);
Anzeige präsentieren
Eine RewardedInterstitialAd wird als Overlay über allen App-Inhalten angezeigt und ist statisch platziert. Sie kann also nicht dem Flutter-Widget-Baum hinzugefügt werden.
Sie können mit show() festlegen, wann die Anzeige präsentiert werden soll.
RewardedInterstitialAd.show() akzeptiert ein OnUserEarnedRewardCallback, das aufgerufen wird, wenn der Nutzer eine Prämie erhält. Implementieren Sie diese Funktion und belohnen Sie den Nutzer dafür, dass er sich eine Anzeige angesehen hat.
_rewardedInterstitialAd?.show(
onUserEarnedReward: (AdWithoutView view, RewardItem rewardItem) {
debugPrint('Reward amount: ${rewardItem.amount}');
},
);
Sobald show() aufgerufen wird, kann eine so angezeigte Ad nicht programmatisch entfernt werden. Dazu ist eine Nutzereingabe erforderlich. Eine RewardedInterstitialAd kann nur einmal präsentiert 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() besteht in den Callbacks FullScreenContentCallback.onAdDismissedFullScreenContent und FullScreenContentCallback.onAdFailedToShowFullScreenContent.
[Optional] Serverseitige Überprüfungs-Callbacks (SSV) validieren
Apps, für die zusätzliche Daten in serverseitigen Überprüfungs
Callbacks erforderlich sind, sollten die Funktion für benutzerdefinierte Daten von Anzeigen mit Prämie verwenden. Jeder Stringwert, der für ein Anzeigenobjekt mit Prämie festgelegt wurde, wird an den Abfrageparameter custom_data des SSV-Callbacks übergeben. Wenn kein benutzerdefinierter Datenwert festgelegt ist, ist der Wert des Abfrageparameters custom_data im SSV-Callback nicht vorhanden.
Das folgende Codebeispiel zeigt, wie Sie die SSV-Optionen festlegen, nachdem die Interstitial-Anzeige mit Prämie geladen wurde:
Ersetzen Sie SAMPLE_CUSTOM_DATA_STRING durch Ihre benutzerdefinierten Daten.