"Interstitial con premio" è un tipo di formato dell'annuncio con incentivi che consente di offrire premi per gli annunci che vengono visualizzati automaticamente durante le normali transizioni dell'app. A differenza degli annunci con premio, gli utenti non devono attivare la visualizzazione degli annunci interstitial con premio.
Prerequisiti
- Google Mobile Ads SDK 19.2.0 o versioni successive.
Prima di continuare, configura Google Mobile Ads SDK.
Implementazione
Di seguito sono riportati i passaggi principali per integrare gli annunci interstitial con premio:
- Carica un annuncio
- Registrati per i callback degli eventi a schermo intero
- Gestisci il callback del premio
- Mostra l'annuncio
- [Facoltativo] Convalida i callback SSV
Carica un annuncio
Il caricamento di un annuncio viene eseguito utilizzando il metodo statico load() nella classe RewardedInterstitialAd. Il metodo di caricamento richiede un contesto, l'ID unità pubblicitaria, un oggetto AdRequest e un RewardedInterstitialAdLoadCallback per ricevere una notifica quando il caricamento dell'annuncio va a buon fine o non riesce. L'oggetto RewardedInterstitialAd caricato viene fornito come parametro in
nel onRewardedInterstitialAdLoaded() callback.
L'esempio seguente mostra come caricare un RewardedInterstitialAd in MainActivity.
Java
Kotlin
Sostituisci AD_UNIT_ID con l'ID unità pubblicitaria.
Registrati per i callback
Per ricevere notifiche per gli eventi di presentazione, devi passare un oggetto FullScreenContentCallback al setter dell'annuncio. L'oggetto FullScreenContentCallback gestisce i callback quando l'annuncio viene presentato correttamente o meno e quando viene chiuso. Il codice seguente mostra come impostare un oggetto FullScreenContentCallback anonimo all'interno di RewardedInterstitialAdLoadCallback:
Java
rewardedInterstitialAd.setFullScreenContentCallback(
new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "The ad was dismissed.");
// Make sure to set your reference to null so you don't
// show it a second time.
rewardedInterstitialAd = null;
if (googleMobileAdsConsentManager.canRequestAds()) {
loadRewardedInterstitialAd();
}
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "The ad failed to show.");
// Make sure to set your reference to null so you don't
// show it a second time.
rewardedInterstitialAd = null;
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "The ad was shown.");
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "The ad recorded an impression.");
}
@Override
public void onAdClicked() {
// Called when ad is clicked.
Log.d(TAG, "The ad was clicked.");
}
});
Kotlin
rewardedInterstitialAd?.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.
rewardedInterstitialAd = 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.
rewardedInterstitialAd = 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 interstitial con premio, utilizzi un oggetto OnUserEarnedRewardListener per gestire gli eventi di premio.
Java
rewardedInterstitialAd.show(
MainActivity.this,
new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
Log.d(TAG, "The user earned the reward.");
// Handle the reward.
int rewardAmount = rewardItem.getAmount();
String rewardType = rewardItem.getType();
}
});
Kotlin
rewardedInterstitialAd?.show(this) { 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à dei 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 di query custom_data non sarà presente nel callback SSV.
L'esempio di codice seguente mostra come impostare dati personalizzati su un oggetto annuncio interstitial 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 personalizzata, devi farlo prima di mostrare l'annuncio.
Esempi su GitHub
Passaggi successivi
Approfondisci i seguenti argomenti: