Anzeigen mit Prämie sind Anzeigen, mit denen Nutzer im Austausch gegen In-App-Prämien interagieren können. In diesem Leitfaden wird gezeigt, wie Sie Anzeigen mit Prämie von AdMob in eine Flutter-App einbinden.
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 laden, wenn Sie unsere spezielle Testanzeigenblock-ID für Anzeigen mit Prämie verwenden:
Android
ca-app-pub-3940256099942544/5224354917
iOS
ca-app-pub-3940256099942544/1712485313
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 Anzeige mit Prämie geladen:
Ersetzen Sie _adUnitId durch Ihre Anzeigenblock-ID.
Anzeigenereignisse mit Prämie
Mit FullScreenContentCallback
können Sie auf Lebenszyklusereignisse wie das Einblenden oder Schließen der Anzeige reagieren. Legen Sie RewardedAd.fullScreenContentCallback
fest, bevor die Anzeige ausgeliefert wird, um Benachrichtigungen für diese Ereignisse zu erhalten. In diesem Beispiel wird jede Methode implementiert und eine Meldung 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
Eine RewardedAd
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 festlegen, wann die Anzeige eingeblendet werden soll, indem Sie show()
aufrufen.
RewardedAd.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.
_rewardedAd?.show(
onUserEarnedReward:
(AdWithoutView ad, 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 RewardedAd
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()
besteht 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 die Prämie für die Anzeige geladen wurde:
Ersetzen Sie SAMPLE_CUSTOM_DATA_STRING durch Ihre benutzerdefinierten Daten.