Interstitial-Anzeigen mit Prämie sind ein Format, bei dem Sie Prämien für das Ansehen von Anzeigen anbieten können, die automatisch an natürlichen Übergangspunkten innerhalb einer App ausgeliefert werden. Anders als bei Anzeigen mit Prämie müssen Nutzer nicht zustimmen, sich Interstitial-Anzeigen mit Prämie anzusehen. Weitere Informationen finden Sie im Leitfaden für Interstitials mit Prämie.
In diesem Leitfaden wird beschrieben, wie Sie Interstitial-Anzeigen mit Prämie in eine Android-App einbinden.
Hinweis
Bevor Sie fortfahren, führen Sie die folgenden Schritte aus:
- Richten Sie GMA Next-Gen SDK ein.
- Verwenden Sie die Test-Anzeigenblock-ID für Interstitial-Anzeigen mit Prämie
ca-app-pub-3940256099942544/5354046379.- Verwenden Sie beim Erstellen und Testen Ihrer App Testanzeigen anstelle von Live-Anzeigen. Wenn Sie die Testanzeigenblock-ID nicht verwenden, kann Google Ihr Konto sperren.
- Ersetzen Sie diese ID durch Ihre Anzeigenblock-ID, bevor Sie Ihre App veröffentlichen.
- Weitere Informationen zu GMA Next-Gen SDK-Testanzeigen finden Sie unter Testanzeigen aktivieren.
Anzeige laden
Im folgenden Beispiel wird eine einzelne Anzeige geladen:
Kotlin
// Load ads after you initialize MobileAds. RewardedInterstitialAd.load( AdRequest.Builder(adUnitId).build(), object : AdLoadCallback<RewardedInterstitialAd> { override fun onAdLoaded(ad: RewardedInterstitialAd) { // Rewarded interstitial ad loaded. rewardedInterstitialAd = ad } override fun onAdFailedToLoad(adError: LoadAdError) { // Rewarded interstitial ad failed to load. Log.e(TAG, "Rewarded interstitial ad failed to load: ${adError.message}") rewardedInterstitialAd = null } }, )
Java
// Load ads after you initialize MobileAds. RewardedInterstitialAd.load( new AdRequest.Builder(adUnitId).build(), new AdLoadCallback<RewardedInterstitialAd>() { @Override public void onAdLoaded(@NonNull RewardedInterstitialAd ad) { // Rewarded interstitial ad loaded. rewardedInterstitialAd = ad; } @Override public void onAdFailedToLoad(@NonNull LoadAdError adError) { // Rewarded interstitial ad failed to load. Log.e(TAG, "Rewarded interstitial ad failed to load: " + adError.getMessage()); rewardedInterstitialAd = null; } });
Verwenden Sie beim Testen die Testanzeigenblock-ID: ca-app-pub-3940256099942544/5354046379.
Anzeige einblenden
Rufen Sie die Methodeshow auf, um eine Interstitial-Anzeige mit Prämie einzublenden. Verwenden Sie ein OnUserEarnedRewardListener-Objekt, um Ereignisse mit Prämie zu verarbeiten.
Im folgenden Beispiel wird die Anzeige eingeblendet:
Kotlin
private fun showAd(rewardedInterstitialAd: RewardedInterstitialAd, activity: Activity) { // Show the ad. rewardedInterstitialAd.show( activity, object : OnUserEarnedRewardListener { override fun onUserEarnedReward(rewardItem: RewardItem) { // User earned the reward. val rewardAmount = rewardItem.amount val rewardType = rewardItem.type } }, ) }
Java
private void showAd(RewardedInterstitialAd rewardedInterstitialAd, Activity activity) { // Show the ad. rewardedInterstitialAd.show( activity, new OnUserEarnedRewardListener() { @Override public void onUserEarnedReward(@NonNull RewardItem rewardItem) { // User earned the reward. int rewardAmount = rewardItem.getAmount(); String rewardType = rewardItem.getType(); } }); }
Auf Anzeigenereignisse warten
Bevor die Anzeige eingeblendet wird, müssen Sie auf Anzeigen-Lifecycle-Events warten. Im folgenden Beispiel werden Callbacks für Anzeigenereignisse registriert:
Kotlin
private fun listenToAdEvents() { // Listen for ad events. val ad = rewardedInterstitialAd if (ad == null) { Log.e(TAG, "Rewarded interstitial ad is not ready yet.") return } ad.adEventCallback = object : RewardedInterstitialAdEventCallback { override fun onAdShowedFullScreenContent() { // Rewarded interstitial ad did show. } override fun onAdDismissedFullScreenContent() { // Rewarded interstitial ad did dismiss. rewardedInterstitialAd = null } override fun onAdFailedToShowFullScreenContent( fullScreenContentError: FullScreenContentError ) { // Rewarded interstitial ad failed to show. Log.e(TAG, "Rewarded interstitial ad failed to show: ${fullScreenContentError.message}") } override fun onAdImpression() { // Rewarded interstitial ad did record an impression. } override fun onAdClicked() { // Rewarded interstitial ad did record a click. } } }
Java
private void listenToAdEvents() { // Listen for ad events. if (rewardedInterstitialAd == null) { Log.e(TAG, "Rewarded interstitial ad is not ready yet."); return; } rewardedInterstitialAd.setAdEventCallback( new RewardedInterstitialAdEventCallback() { @Override public void onAdShowedFullScreenContent() { // Rewarded interstitial ad did show. } @Override public void onAdDismissedFullScreenContent() { // Rewarded interstitial ad did dismiss. rewardedInterstitialAd = null; } @Override public void onAdFailedToShowFullScreenContent( @NonNull FullScreenContentError fullScreenContentError) { // Rewarded interstitial ad failed to show. Log.e( TAG, "Rewarded interstitial ad failed to show: " + fullScreenContentError.getMessage()); } @Override public void onAdImpression() { // Rewarded interstitial ad did record an impression. } @Override public void onAdClicked() { // Rewarded interstitial ad did record a click. } }); }
Optional: Callbacks für die serverseitige Überprüfung (SSV) validieren
Wenn Sie Nutzer- und Anwendungskontext in serverseitigen Überprüfungs-Callbacks übergeben möchten, legen Sie die Überprüfungsoptionen für das Anzeigenobjekt fest, bevor die Anzeige eingeblendet wird. Da SSV-Callbacks von Google ohne Sitzungsstatus auf Ihrem Server eingehen, hängen Sie die folgenden optionalen Strings an. Google leitet diese Strings unverändert als signierte Suchparameter im SSV-Callback weiter:
user_id-Suchparameter: Identifiziert den Nutzer, dem die Prämie gutgeschrieben werden soll, z. B. eine interne Konto-ID.custom_data-Abfrageparameter: Enthält App-Daten, z. B. die Platzierung der Prämie, das Spiellevel oder eine vom Server generierte Nonce.
Wenn Sie keinen Wert festlegen, lässt Google diesen Suchparameter im SSV-Callback weg.
Im folgenden Beispiel werden benutzerdefinierte Daten für ein Anzeigenobjekt festgelegt, bevor die Anzeige eingeblendet wird:
Kotlin
Java
Ersetzen Sie SAMPLE_CUSTOM_DATA_STRING durch Ihre benutzerdefinierten Daten.
Wichtiger Hinweis: Der Abfrageparameter custom_data ist prozentcodiert. Bevor Sie den Wert parsen, decodieren Sie die URL des Strings auf Ihrem Server und überprüfen Sie die Callback-Signatur, bevor Sie den Suchparametern user_id oder custom_data vertrauen.