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 wird gezeigt, wie Sie Anzeigen mit Prämie von AdMob in eine Flutter-App einbinden.
Verwenden Sie immer Testanzeigen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.
Am einfachsten lassen sich Testanzeigen laden, wenn Sie die spezielle Test-Anzeigenblock-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 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
etwa 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 dem gesamten App-Inhalt angezeigt und
statisch platziert; und kann daher nicht zum Baum des Flutter-Widgets 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 diese Funktion und belohnen Sie 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 dargestelltes Ad
nicht mehr entfernt werden
und erfordert Nutzereingaben. Ein RewardedAd
kann nur einmal angezeigt werden. Bei nachfolgenden Aufrufen der Sendung wird onAdFailedToShowFullScreenContent
ausgelöst.
Eine Anzeige muss gelöscht werden, wenn der Zugriff darauf nicht mehr erforderlich ist. Am besten wird dispose()
in den FullScreenContentCallback.onAdDismissedFullScreenContent
- und FullScreenContentCallback.onAdFailedToShowFullScreenContent
-Callbacks aufgerufen.
Fertig! In Ihrer App können jetzt Anzeigen mit Prämie ausgeliefert werden.