Prerequisiti
- SDK Google Mobile Ads 19.7.0 o versioni successive.
- Completa la Guida introduttiva.
Esegui sempre i test con gli annunci di prova
Quando crei ed esegui test sulle tue app, assicurati di utilizzare annunci di prova anziché annunci di produzione live. In caso contrario, il tuo account potrebbe essere sospeso.
Il modo più semplice per caricare gli annunci di test è utilizzare il nostro ID unità pubblicitaria di test dedicato per gli annunci con premio per Android:
ca-app-pub-3940256099942544/5224354917
È stato configurato appositamente per restituire annunci di test per ogni richiesta e puoi utilizzarlo liberamente nelle tue app durante la codifica, i test e il debug. Assicurati solo di sostituirlo con il tuo ID unità pubblicitaria prima di pubblicare l'app.
Per saperne di più sul funzionamento degli annunci di test dell'SDK Mobile Ads, consulta Annunci di test.
Carica un oggetto dell'annuncio con premio
Gli annunci con premio vengono caricati chiamando il metodo statico load()
nella classe RewardedAd
e passando un RewardedAdLoadCallback
. Di solito questa operazione viene eseguita nel metodo onCreate()
di un Activity
.
Tieni presente che, come altri callback di caricamento del formato, RewardedAdLoadCallback
sfrutta LoadAdError
per fornire dettagli sugli errori più fedeli.
Java
Kotlin
Sostituisci AD_UNIT_ID con l'ID unità pubblicitaria.
Imposta FullScreenContentCallback
FullScreenContentCallback
gestisce gli eventi relativi alla visualizzazione di
RewardedAd
. Prima di mostrare il tuo RewardedAd
, assicurati di impostare il callback
nel seguente modo:
Java
rewardedAd.setFullScreenContentCallback(
new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "Ad was dismissed.");
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "Ad failed to show.");
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null;
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "Ad showed fullscreen content.");
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.");
}
@Override
public void onAdClicked() {
// Called when an ad is clicked.
Log.d(TAG, "Ad was clicked.");
}
});
Kotlin
rewardedAd?.fullScreenContentCallback =
object : FullScreenContentCallback() {
override fun onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "Ad was dismissed.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "Ad failed to show.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null
}
override fun onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdClicked() {
// Called when an ad is clicked.
Log.d(TAG, "Ad was clicked.")
}
}
Mostra l'annuncio
Quando mostri un annuncio con premio, utilizzerai un oggetto OnUserEarnedRewardListener
per gestire gli eventi premio.
Java
rewardedAd.show(
MainActivity.this,
new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
Log.d(TAG, "User earned the reward.");
// Handle the reward.
}
});
Kotlin
rewardedAd?.show(
this,
OnUserEarnedRewardListener { rewardItem ->
Log.d(TAG, "User earned the reward.")
// Handle the reward.
val rewardAmount = rewardItem.amount
val rewardType = rewardItem.type
},
)
[Facoltativo] Convalida i callback di verifica lato server (SSV)
Le app che richiedono dati aggiuntivi nei callback di verifica lato server devono utilizzare la funzionalità di dati personalizzati degli annunci con premio. Qualsiasi valore stringa impostato su un oggetto annuncio con premio
viene passato al parametro di query custom_data
del callback SSV. Se non è impostato alcun valore
di dati personalizzati, il valore del parametro query custom_data
non sarà
presente nel callback SSV.
Il seguente esempio di codice mostra come impostare dati personalizzati su un oggetto annuncio con premio prima di richiedere un annuncio.
Java
Kotlin
Sostituisci SAMPLE_CUSTOM_DATA_STRING con i tuoi dati personalizzati.
Se vuoi impostare la stringa del premio personalizzato, devi farlo prima di mostrare l'annuncio.
Domande frequenti
- Esiste un timeout per la chiamata di inizializzazione?
- Dopo 10 secondi, l'SDK Google Mobile Ads richiama il
OnInitializationCompleteListener
anche se una rete di mediazione non ha ancora completato l'inizializzazione. - Cosa succede se alcune reti di mediazione non sono pronte quando ricevo il callback di inizializzazione?
Ti consigliamo di caricare un annuncio all'interno del callback di
OnInitializationCompleteListener
. Anche se una rete di mediazione non è pronta, l'SDK Google Mobile Ads chiede comunque un annuncio a quella rete. Pertanto, se una rete di mediazione termina l'inizializzazione dopo il timeout, può comunque servire le richieste di annunci future nella sessione.Puoi continuare a eseguire il polling dello stato di inizializzazione di tutti gli adattatori durante la sessione dell'app chiamando
MobileAds.getInitializationStatus()
.- Come faccio a sapere perché una determinata rete di mediazione non è pronta?
AdapterStatus.getDescription()
descrive perché un adattatore non è pronto a gestire le richieste di annunci.- La richiamata
onUserEarnedReward()
viene sempre chiamata prima della richiamataonAdDismissedFullScreenContent()
? Per gli annunci Google, tutte le chiamate
onUserEarnedReward()
si verificano prima dionAdDismissedFullScreenContent()
. Per gli annunci pubblicati tramite mediazione, l'implementazione dell'SDK della rete pubblicitaria di terze parti determina l'ordine di callback. Per gli SDK delle reti pubblicitarie che forniscono un singolo callback di chiusura con informazioni sul premio, l'adattatore di mediazione richiamaonUserEarnedReward()
prima dionAdDismissedFullScreenContent()
.
Esempi su GitHub
Passaggi successivi
Esplora i seguenti argomenti: