Questa guida spiega come integrare gli annunci con premio in un'app per Android.
Prima di iniziare
Prima di continuare, completa queste operazioni:
- Configura GMA Next-Gen SDK.
- Utilizza l'ID unità pubblicitaria con premio di test
ca-app-pub-3940256099942544/5224354917.- Quando crei e testi l'app, assicurati di utilizzare annunci di test anziché annunci di produzione live. Se non utilizzi l'ID unità pubblicitaria di test, Google può sospendere il tuo account.
- Prima di pubblicare l'app, sostituisci questo ID con l'ID unità pubblicitaria.
- Per informazioni dettagliate sugli annunci di test GMA Next-Gen SDK, consulta Attivare gli annunci di test.
Carica un annuncio
Il seguente esempio carica un singolo annuncio:
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; } });
Durante il test, utilizza l'ID unità pubblicitaria di test: ca-app-pub-3940256099942544/5224354917.
Mostra l'annuncio
Per mostrare un annuncio con premio, chiama il metodoshow. Per gestire gli eventi premio, utilizza un oggetto OnUserEarnedRewardListener.
Il seguente esempio mostra l'annuncio:
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(); } }); }
Ascolta gli eventi degli annunci
Prima di mostrare l'annuncio, ascolta gli eventi del ciclo di vita dell'annuncio. Il seguente esempio registra i callback per gli eventi degli annunci:
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. } }); }
(Facoltativo) Convalida i callback di verifica lato server (SSV)
Per trasmettere il contesto dell'utente e dell'applicazione nei callback di verifica lato server (SSV), imposta le opzioni di verifica sull'oggetto annuncio prima di mostrare l'annuncio. Poiché i callback SSV arrivano al tuo server da Google senza stato della sessione, allega le seguenti stringhe facoltative. Google inoltra queste stringhe invariate come parametri di query firmati nel callback SSV:
- Parametro di query
user_id: identifica l'utente a cui accreditare il premio, ad esempio un ID account interno. - Parametro di query
custom_data: contiene i dati dell'app, ad esempio il posizionamento del premio, il livello di gioco o un nonce generato dal server.
Se non imposti un valore, Google omette il parametro di query dal callback SSV.
Il seguente esempio imposta i dati personalizzati su un oggetto annuncio prima di mostrare l'annuncio:
Kotlin
Java
Sostituisci SAMPLE_CUSTOM_DATA_STRING con i tuoi dati personalizzati.
Punto chiave: il parametro di query custom_data è
codificato in percentuale. Prima di analizzare il valore, decodifica l'URL della stringa sul server e verifica la firma del callback prima di considerare attendibili i parametri di query user_id o custom_data.