Les annonces interstitielles s'affichent en plein écran et couvrent l'interface d'une application jusqu'à ce qu'elles soient fermées par l'utilisateur. Elles sont généralement affichées à des points de transition naturels dans une application, par exemple entre deux activités ou pendant la pause entre deux niveaux de jeu. Lorsqu'une application affiche une annonce interstitielle, l'utilisateur peut choisir d'appuyer dessus et de continuer jusqu'à sa destination, ou de la fermer et de revenir à l'application. Étude de cas.
Ce guide vous explique comment intégrer des annonces interstitielles dans les applications Android et iOS à l'aide du SDK C++ Google Mobile Ads.
Prérequis
- Suivez la procédure Premiers pas.
- (Android uniquement) Bonne connaissance des références JNI
jobject
(consultez les conseils sur JNI Android).
Toujours tester les annonces
Lorsque vous créez et testez vos applications, veillez à utiliser des annonces de test plutôt que des annonces de production. À défaut, votre compte risque d'être suspendu.
Pour charger les annonces de test, le moyen le plus simple consiste à utiliser notre ID de bloc d'annonces de test dédié, qui varie en fonction de la plate-forme de l'appareil:
- Android :
ca-app-pub-3940256099942544/1033173712
- iOS :
ca-app-pub-3940256099942544/4411468910
Ils ont été spécialement configurés pour renvoyer des annonces tests pour chaque requête. Vous êtes libre de les utiliser dans vos propres applications lors du codage, des tests et du débogage. Veillez simplement à le remplacer par votre propre ID de bloc d'annonces avant de publier votre application.
Pour en savoir plus sur le fonctionnement des annonces tests du SDK Mobile Ads, consultez Tester les annonces.
Implémentation
Voici les principales étapes à suivre pour intégrer des annonces interstitielles:
- Chargez une annonce.
- Inscrivez-vous pour bénéficier de rappels.
- Affichez l'annonce et gérez ses événements de cycle de vie.
Configurer un InterstitialAd
Les annonces interstitielles sont affichées dans des objets InterstitialAd
. La première étape pour intégrer des annonces interstitielles dans votre application consiste donc à créer et à initialiser un objet InterstitialAd
.
Ajoutez l'en-tête suivant au code C++ de votre application :
#include "firebase/gma/interstial_ad.h"
Déclarez et instanciez un objet
InterstitialAd
:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Initialisez l'instance
InterstitialAd
à l'aide de la conversion de votre vue parent vers un typeAdParent
. La vue parent est une référence JNIjobject
à unActivity
Android ou un pointeur vers unUIView
iOS.// my_ad_parent is a jobject reference to an Android Activity or // a pointer to an iOS UIView. firebase::gma::AdParent ad_parent = static_cast<firebase::gma::AdParent>(my_ad_parent); firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
Au lieu de conserver l'avenir en tant que variable, vous pouvez vérifier régulièrement l'état de l'opération d'initialisation en appelant
InitializeLastResult()
sur l'objetInterstitialAd
. Cela peut s'avérer utile pour suivre le processus d'initialisation dans votre boucle de jeu globale.// Monitor the status of the future in your game loop: firebase::Future<void> result = interstitial_ad->InitializeLastResult(); if (result.status() == firebase::kFutureStatusComplete) { // Initialization completed. if(future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization successful. } else { // An error has occurred. } } else { // Initialization on-going. }
Pour en savoir plus sur l'utilisation de firebase::Future
, utilisez Futures pour surveiller l'état d'avancement des appels de méthode.
Charger une annonce
Pour charger une annonce, utilisez la méthode LoadAd()
sur l'objet InterstitialAd
. La méthode de chargement nécessite d'avoir initialisé l'objet InterstitialAd
, et d'avoir votre ID de bloc d'annonces et un objet AdRequest
. firebase::Future
est renvoyé. Vous pouvez l'utiliser pour surveiller l'état et le résultat du chargement.
Le code suivant montre comment charger une annonce une fois que InterstitialAd
a été initialisé:
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);
S'inscrire pour recevoir des rappels
Vous devez étendre la classe FullScreenContentListener
afin de recevoir des notifications sur les présentations de l'annonce interstitielle et les événements de cycle de vie. Votre sous-classe FullScreenContentListener
personnalisée peut être enregistrée via la méthode InterstitialAd::SetFullScreenContentListener()
. Elle reçoit des rappels lorsque l'annonce s'affiche correctement ou non, ainsi que lorsqu'elle est ignorée.
Le code suivant montre comment étendre la classe et l'attribuer à l'annonce:
class ExampleFullScreenContentListener : public firebase::gma::FullScreenContentListener { public: ExampleFullScreenContentListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdDismissedFullScreenContent() override { // This method is invoked when the ad dismisses full screen content. } void OnAdFailedToShowFullScreenContent(const AdError& error) override { // This method is invoked when the ad failed to show full screen content. // Details about the error are contained within the AdError parameter. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdShowedFullScreenContent() override { // This method is invoked when the ad showed its full screen content. } }; ExampleFullScreenContentListener* full_screen_content_listener = new ExampleFullScreenContentListener(); interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);
InterstitialAd
est un objet à usage unique. Cela signifie qu'une fois qu'une annonce interstitielle a été diffusée, elle ne peut plus l'être. Il est recommandé de charger une autre annonce interstitielle dans la méthode OnAdDismissedFullScreenContent()
de votre FullScreenContentListener
afin que la prochaine annonce interstitielle commence à se charger aussi rapidement que la précédente.
Afficher l'annonce
Les interstitiels doivent s'afficher pendant les pauses naturelles dans le flux d'une application. Les niveaux d'un jeu en sont un bon exemple, ou lorsque l'utilisateur a terminé une tâche.
Bien que FullScreenContentListener
permette de déterminer quand une annonce a affiché son contenu en plein écran, l'avenir renvoyé par Show()
indique également quand l'annonce a bien été diffusée.
firebase::Future<void> result = interstitial_ad->Show();
Bonnes pratiques
- Déterminez si le type d'annonce interstitielle est adapté à votre application.
- Les annonces interstitielles fonctionnent mieux dans les applications avec des points de transition naturels. La conclusion d'une tâche dans une application, telle que le partage d'une image ou la fin d'un niveau de jeu, crée ce point. Comme l'utilisateur s'attend à une pause dans l'action, il est facile de présenter une annonce interstitielle sans perturber son expérience. Tenez compte de l'endroit où vous afficherez des annonces interstitielles dans le workflow de votre application et de la probabilité qu'un utilisateur y réponde.
- N'oubliez pas de mettre en veille l'action lorsque vous diffusez une annonce interstitielle.
- Il existe plusieurs types d'annonces interstitielles: textuelles, illustrées, vidéo, etc. Il est important de s'assurer que lorsque votre application affiche une annonce interstitielle, elle suspend également son utilisation de certaines ressources pour que l'annonce en bénéficie. Par exemple, lorsque vous appelez l'affichage d'une annonce interstitielle, veillez à mettre en pause toute sortie audio produite par votre application. Vous pouvez reprendre la lecture des sons dans la méthode
OnAdDismissedFullScreenContent
de votreFullScreenContentListener
installé, qui sera appelé lorsque l'utilisateur aura fini d'interagir avec l'annonce. En outre, envisagez d'arrêter temporairement toutes les tâches de calcul intenses (telles qu'une boucle de jeu) pendant l'affichage de l'annonce. Ainsi, l'utilisateur ne rencontrera pas de problèmes de lenteur ou de réactivité, ni de vidéo saccadée. - Prévoyez un temps de chargement adéquat.
- Tout comme il est important de diffuser les annonces interstitielles au moment opportun, il est important de veiller à ce que l'utilisateur n'ait pas à attendre leur chargement. En chargeant l'annonce à l'avance avant l'affichage prévu, vous pouvez vous assurer qu'une annonce interstitielle entièrement chargée est prête au moment où elle doit s'afficher.
- N'inondez pas l'utilisateur d'annonces.
- Si augmenter la fréquence des annonces interstitielles dans votre application peut sembler être un excellent moyen d'augmenter vos revenus, cela peut aussi nuire à l'expérience utilisateur et aux taux de clics. Assurez-vous que les utilisateurs ne soient pas si souvent interrompus qu'ils ne puissent plus profiter de votre application.
- N'utilisez pas l'achèvement de chargement à l'avenir pour afficher l'interstitiel.
- Cela peut nuire à l'expérience utilisateur. Préchargez plutôt l'annonce avant de la diffuser.
Ressources supplémentaires
Exemple dans GitHub
- Affichez le code source de notre exemple d'application de démarrage rapide dans GitHub.
Tutoriels vidéo Ateliers Mobile
Témoignages
Étapes suivantes
- Si vous ne l'avez pas déjà fait, créez votre propre bloc d'annonces interstitielles dans l'interface utilisateur AdMob.
- En savoir plus sur le ciblage des annonces et les consignes relatives aux annonces interstitielles