L'interstitiel avec récompense est un type de format incitatif qui vous permet de proposer des récompenses pour les annonces diffusées automatiquement aux points de transition naturels dans votre application. Contrairement aux annonces avec récompense, les utilisateurs ne sont pas obligés de choisir de regarder un interstitiel avec récompense.
Prérequis
- Google Mobile Ads SDK 19.2.0 ou version ultérieure.
Avant de continuer, configurez Google Mobile Ads SDK.
Implémentation
Voici les principales étapes à suivre pour intégrer des annonces interstitielles avec récompense :
- Charger une annonce
- S'inscrire pour recevoir des rappels d'événements en plein écran
- Gérer le rappel de récompense
- Afficher l'annonce
- [Facultatif] Valider les rappels de validation côté serveur
Charger une annonce
Le chargement d'une annonce s'effectue à l'aide de la méthode statique load() sur la classe RewardedInterstitialAd. La méthode de chargement nécessite un contexte, l'ID de votre bloc d'annonces, un objet AdRequest et un RewardedInterstitialAdLoadCallback pour être averti lorsque le chargement de l'annonce réussit ou échoue. L'objet RewardedInterstitialAd chargé est fourni en tant que paramètre dans
le onRewardedInterstitialAdLoaded() rappel.
L'exemple suivant montre comment charger un RewardedInterstitialAd dans votre MainActivity.
Java
Kotlin
Remplacez AD_UNIT_ID par l'ID de votre bloc d'annonces.
S'inscrire pour recevoir des rappels
Pour recevoir des notifications concernant les événements de présentation, vous devez transmettre un objet FullScreenContentCallback au setter de votre annonce. L'objet FullScreenContentCallback gère les rappels lorsque l'annonce est présentée avec succès ou non, et lorsqu'elle est ignorée. Le code suivant montre comment définir un objet FullScreenContentCallback anonyme dans votre 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.")
}
}
Afficher l'annonce
Lorsque vous diffusez une annonce interstitielle avec récompense, vous utilisez un objet OnUserEarnedRewardListener pour gérer les événements de récompense.
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
}
[Facultatif] Valider les rappels de validation côté serveur
Les applications qui nécessitent des données supplémentaires dans les rappels de validation côté serveurdoivent utiliser la fonctionnalité de données personnalisées des annonces avec récompense. Toute valeur de chaîne définie sur un objet d'annonce avec récompense est transmise au paramètre de requête custom_data du rappel de validation côté serveur. Si aucune valeur de données personnalisées n'est définie, la valeur du paramètre de requête custom_data n'est pas présente dans le rappel de validation côté serveur.
L'exemple de code suivant montre comment définir des données personnalisées sur un objet d'annonce interstitielle avec récompense avant de demander une annonce.
Java
Kotlin
Remplacez SAMPLE_CUSTOM_DATA_STRING par vos données personnalisées.
Si vous souhaitez définir la chaîne de récompense personnalisée, vous devez le faire avant de diffuser l'annonce.
Exemples sur GitHub
Étapes suivantes
Consultez les rubriques suivantes :
- Confidentialité des données des utilisateurs
- Initialisation optimisée du SDK et chargement des annonces (bêta)