In dieser Anleitung wird beschrieben, wie Sie 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 Anzeigen mit Prämie
ca-app-pub-3940256099942544/5224354917.- Verwenden Sie beim Erstellen und Testen Ihrer App Testanzeigen anstelle von Live-Produktionsanzeigen. Wenn Sie die Test-Anzeigenblock-ID nicht verwenden, kann Google Ihr Konto sperren.
- Ersetzen Sie diese ID vor der Veröffentlichung Ihrer App durch Ihre Anzeigenblock-ID.
- 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. RewardedAd.load( AdRequest.Builder(adUnitId).build(), object : AdLoadCallback<RewardedAd> { override fun onAdLoaded(ad: RewardedAd) { // Rewarded ad loaded. rewardedAd = ad } override fun onAdFailedToLoad(adError: LoadAdError) { // Rewarded ad failed to load. Log.e(TAG, "Rewarded ad failed to load: ${adError.message}") rewardedAd = null } }, )
Java
// Load ads after you initialize MobileAds. RewardedAd.load( new AdRequest.Builder(adUnitId).build(), new AdLoadCallback<RewardedAd>() { @Override public void onAdLoaded(@NonNull RewardedAd ad) { // Rewarded ad loaded. rewardedAd = ad; } @Override public void onAdFailedToLoad(@NonNull LoadAdError adError) { // Rewarded ad failed to load. Log.e(TAG, "Rewarded ad failed to load: " + adError.getMessage()); rewardedAd = null; } });
Verwenden Sie beim Testen die Test-Anzeigenblock-ID: ca-app-pub-3940256099942544/5224354917.
Anzeige einblenden
Rufen Sie die Methodeshow auf, um eine 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(rewardedAd: RewardedAd, activity: Activity) { // Show the ad. rewardedAd.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(RewardedAd rewardedAd, Activity activity) { // Show the ad. rewardedAd.show( activity, new OnUserEarnedRewardListener() { @Override public void onUserEarnedReward(@NonNull RewardItem rewardItem) { // User earned the reward. int rewardAmount = rewardItem.getAmount(); String rewardType = rewardItem.getType(); } }); }
Anzeigeereignisse abhören
Hören Sie sich vor dem Einblenden der Anzeige Ereignisse im Anzeigenlebenszyklus an. Im folgenden Beispiel werden Callbacks für Anzeigeereignisse registriert:
Kotlin
private fun listenToAdEvents() { // Listen for ad events. val ad = rewardedAd if (ad == null) { Log.e(TAG, "Rewarded ad is not ready yet.") return } ad.adEventCallback = object : RewardedAdEventCallback { override fun onAdShowedFullScreenContent() { // Rewarded ad did show. } override fun onAdDismissedFullScreenContent() { // Rewarded ad did dismiss. rewardedAd = null } override fun onAdFailedToShowFullScreenContent( fullScreenContentError: FullScreenContentError ) { // Rewarded ad failed to show. Log.e(TAG, "Rewarded ad failed to show: ${fullScreenContentError.message}") } override fun onAdImpression() { // Rewarded ad did record an impression. } override fun onAdClicked() { // Rewarded ad did record a click. } } }
Java
private void listenToAdEvents() { // Listen for ad events. if (rewardedAd == null) { Log.e(TAG, "Rewarded ad is not ready yet."); return; } rewardedAd.setAdEventCallback( new RewardedAdEventCallback() { @Override public void onAdShowedFullScreenContent() { // Rewarded ad did show. } @Override public void onAdDismissedFullScreenContent() { // Rewarded ad did dismiss. rewardedAd = null; } @Override public void onAdFailedToShowFullScreenContent( FullScreenContentError fullScreenContentError) { // Rewarded ad failed to show. Log.e(TAG, "Rewarded ad failed to show: " + fullScreenContentError.getMessage()); } @Override public void onAdImpression() { // Rewarded ad did record an impression. } @Override public void onAdClicked() { // Rewarded ad did record a click. } }); }
Optional: Serverseitige Überprüfung (SSV) von Callbacks validieren
Wenn Sie Nutzer- und Anwendungskontext in Callbacks für die serverseitige Überprüfung (SSV) übergeben möchten, legen Sie vor dem Einblenden der Anzeige Überprüfungsoptionen für das Anzeigenobjekt fest. Da SSV-Callbacks ohne Sitzungsstatus von Google auf Ihrem Server eingehen, fügen Sie die folgenden optionalen Strings an. Google leitet diese Strings unverändert als signierte Abfrageparameter im SSV-Callback weiter:
- Abfrageparameter
user_id: Gibt den Nutzer an, dem eine Prämie gutgeschrieben werden soll, z. B. eine interne Konto-ID. - Suchparameter
custom_data: Enthält App-Daten wie die Platzierung der Prämie, das Spiellevel oder eine vom Server generierte Nonce.
Wenn Sie keinen Wert festlegen, lässt Google diesen Abfrageparameter 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.
Wichtig: Der custom_data Suchparameter ist
prozentual codiert. Decodieren Sie den String auf Ihrem Server per URL, bevor Sie den Wert parsen. Überprüfen Sie die Callback-Signatur, bevor Sie den Suchparametern user_id oder custom_data vertrauen.