L'interstitiel avec récompense est un type de format d'annonce 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. Ce guide explique comment intégrer des annonces interstitielles avec récompense AdMob dans une application Flutter.
Prérequis
Avant de continuer, procédez comme suit :
- Installez le plug-in Flutter 1.1.0 ou version ultérieure.
- Configurez Google Mobile Ads Flutter Plugin. Votre application Flutter doit avoir importé Google Mobile Ads Flutter Plugin.
Toujours tester avec des annonces tests
Lorsque vous créez et testez vos applications, assurez-vous d'utiliser des annonces tests plutôt que des annonces de production. À défaut, votre compte risque d'être suspendu.
Le moyen le plus simple de charger des annonces tests consiste à utiliser l'ID de bloc d'annonces de test dédié aux annonces interstitielles avec récompense :
Android
ca-app-pub-3940256099942544/5354046379
iOS
ca-app-pub-3940256099942544/6978759866
Les blocs d'annonces de test sont configurés pour renvoyer des annonces de test pour chaque demande. Vous pouvez les utiliser dans vos propres applications lors du codage, des tests et du débogage. Veillez simplement à les remplacer par vos propres ID de bloc d'annonces avant de publier votre application.
Charger une annonce
L'exemple suivant charge une annonce interstitielle avec récompense :
Remplacez _adUnitId par votre propre ID de bloc d'annonces.
Événements d'annonces interstitielles avec récompense
En utilisant FullScreenContentCallback, vous pouvez écouter les événements de cycle de vie, par exemple lorsque l'annonce est diffusée ou fermée. Définissez RewardedInterstitialAd.fullScreenContentCallback avant de diffuser l'annonce pour recevoir des notifications pour ces événements. Cet exemple implémente chaque méthode et consigne un message dans la console :
ad.fullScreenContentCallback = FullScreenContentCallback(
onAdShowedFullScreenContent: (ad) {
// Called when the ad showed the full screen content.
debugPrint('Ad showed full screen content.');
},
onAdFailedToShowFullScreenContent: (ad, err) {
// Called when the ad failed to show full screen content.
debugPrint('Ad failed to show full screen content with error: $err');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdDismissedFullScreenContent: (ad) {
// Called when the ad dismissed full screen content.
debugPrint('Ad was dismissed.');
// Dispose the ad here to free resources.
ad.dispose();
},
onAdImpression: (ad) {
// Called when an impression occurs on the ad.
debugPrint('Ad recorded an impression.');
},
onAdClicked: (ad) {
// Called when a click is recorded for an ad.
debugPrint('Ad was clicked.');
},
);
Annonce display
Un RewardedInterstitialAd s'affiche en superposition sur tout le contenu de l'application et est placé de manière statique. Il ne peut donc pas être ajouté à l'arborescence des widgets Flutter.
Vous pouvez choisir quand afficher l'annonce en appelant show().
RewardedInterstitialAd.show() utilise un OnUserEarnedRewardCallback, qui est appelé lorsque l'utilisateur gagne une récompense. Veillez à implémenter cette méthode et à récompenser l'utilisateur qui regarde une annonce.
_rewardedInterstitialAd?.show(
onUserEarnedReward: (AdWithoutView ad, RewardItem rewardItem) {
debugPrint('Reward amount: ${rewardItem.amount}');
},
);
Une fois que show() est appelé, un Ad affiché de cette manière ne peut pas être supprimé de manière programmatique et nécessite une intervention de l'utilisateur. Un RewardedInterstitialAd ne peut être affiché qu'une seule fois. Les appels ultérieurs à show déclencheront onAdFailedToShowFullScreenContent.
Une annonce doit être supprimée lorsqu'elle n'est plus nécessaire. La bonne pratique consiste à appeler dispose() dans les rappels FullScreenContentCallback.onAdDismissedFullScreenContent et FullScreenContentCallback.onAdFailedToShowFullScreenContent.
[Facultatif] Valider les rappels de validation côté serveur (SSV)
Les applications qui nécessitent des données supplémentaires dans les rappels de validation côté serveur doivent 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 SSV. Si aucune valeur de données personnalisée n'est définie, la valeur du paramètre de requête custom_data ne sera pas présente dans le rappel SSV.
L'exemple de code suivant montre comment définir les options de validation côté serveur une fois l'annonce interstitielle avec récompense chargée :
Remplacez SAMPLE_CUSTOM_DATA_STRING par vos données personnalisées.
Exemple complet sur GitHub
Pour voir l'exemple complet, consultez la démo de l'API.