Bei Interstitial-Anzeigen mit Prämie erhalten Nutzer Prämien für das Ansehen von Anzeigen, 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 unter Richtlinien für Interstitials mit Prämie.
In diesem Leitfaden wird beschrieben, wie Sie Interstitials mit Prämie in eine Android-App einbinden.
Vorbereitung
Richten Sie GMA Next-Gen SDK ein.
Immer mit Testanzeigen testen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps Testanzeigen anstelle von Live-Anzeigen. Wenn Sie keine Testanzeigen verwenden, kann Google Ihr Konto sperren.
Testanzeigen lassen sich unter Android am einfachsten mit der speziellen Test-Anzeigenblock-ID für Interstitials mit Prämie laden:
ca-app-pub-3940256099942544/5354046379
Diese Anzeigenblock-ID wurde speziell konfiguriert, um bei jeder Anfrage Testanzeigen zurückzugeben. Sie können es beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Ersetzen Sie sie vor der Veröffentlichung Ihrer App durch Ihre eigene Anzeigenblock-ID.
Weitere Informationen zu GMA Next-Gen SDK-Testanzeigen finden Sie unter Testanzeigen aktivieren.
Anzeige laden
Das folgende Beispiel zeigt, wie Sie eine einzelne Anzeige laden:
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 Test-Anzeigenblock-ID:
ca-app-pub-3940256099942544/5354046379.
Anzeige einblenden
Verwenden Sie die show-Methode, um eine Interstitial-Anzeige mit Prämie zu präsentieren. Verwende ein OnUserEarnedRewardListener-Objekt, um Prämienevents zu verarbeiten.
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 ausgeliefert wird, sollten Sie auf Ereignisse im Anzeigenlebenszyklus achten:
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: SSV-Callbacks (serverseitige Überprüfung) validieren
Wenn für Ihre App zusätzliche Daten in serverseitigen Rückrufen erforderlich sind, verwenden Sie die Funktion für benutzerdefinierte Daten von Interstitial-Anzeigen mit Prämie. Alle Stringwerte, die für ein Objekt für Interstitial-Anzeigen mit Prämie festgelegt sind, werden an den Abfrageparameter custom_data des SSV-Callbacks übergeben. Wenn kein benutzerdefinierter Datenwert festgelegt ist, ist der Wert des Suchparameters custom_data nicht im SSV-Callback enthalten.
Im folgenden Codebeispiel sehen Sie, wie Sie benutzerdefinierte Daten für ein Objekt für Interstitials mit Prämie festlegen, bevor Sie eine Anzeige anfordern:
Kotlin
Java
Ersetzen Sie SAMPLE_CUSTOM_DATA_STRING durch Ihre benutzerdefinierten Daten.
Wenn Sie den benutzerdefinierten Prämien-String festlegen möchten, müssen Sie dies tun, bevor die Anzeige ausgeliefert wird.