Les annonces interstitielles s'affichent en plein écran et recouvrent l'interface d'une application jusqu'à ce que l'utilisateur les ferme. Elles sont généralement diffusées lors de points de transition naturels, par exemple entre deux activités ou pendant la pause entre les niveaux du jeu. Lorsqu'une application diffuse une annonce interstitielle, l'utilisateur peut appuyer dessus et accéder à sa destination, ou la fermer et revenir à l'application. Étude de cas.
Ce guide explique comment intégrer des annonces interstitielles dans des applications Android et iOS à l'aide du SDK Google Mobile Ads C++.
Prérequis
- Suivez les instructions de la section Premiers pas.
- (Android uniquement) Vous devez savoir utiliser les références
jobjectJNI (consultez les conseils JNI Android).
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 notre ID de bloc d'annonces de test dédié aux interstitiels, 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 pouvez les utiliser librement dans vos propres applications lors du codage, des tests et du débogage. Veillez simplement à les 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 Annonces tests.
Implémentation
Voici les principales étapes à suivre pour intégrer des annonces interstitielles :
- Charger une annonce
- Demander à recevoir les rappels
- Afficher l'annonce et gérer les événements de son cycle de vie
Configurer un InterstitialAd
Les annonces interstitielles s'affichent 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 votre vue parent, castée en typeAdParent. La vue parent est une référencejobjectJNI à uneActivityAndroid ou un pointeur vers unUIViewiOS.// 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 être 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, consultez
Utiliser des futures pour surveiller l'état d'achèvement des appels de méthode
calls.
Charger une annonce
Le chargement d'une annonce s'effectue à l'aide de la méthode LoadAd() sur l'objet InterstitialAd. La méthode de chargement nécessite que vous ayez initialisé l'objet InterstitialAd, que vous disposiez de votre ID de bloc d'annonces et d'un objet AdRequest. Un firebase::Future est renvoyé. Vous pouvez l'utiliser pour surveiller l'état et le résultat de l'opération de 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);
Demander à recevoir les rappels
Vous devez étendre la classe FullScreenContentListener pour recevoir des notifications concernant la présentation des annonces interstitielles et les événements de leur cycle de vie. Votre sous-classe personnalisée
FullScreenContentListener peut être enregistrée via la méthode
InterstitialAd::SetFullScreenContentListener(). Elle recevra des
rappels lorsque l'annonce sera présentée ou non, ainsi que lorsqu'elle sera
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 est 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 le chargement de l'annonce suivante commence dès que la précédente est ignorée.
Afficher l'annonce
Les interstitiels doivent être diffusés lors de pauses naturelles dans le flux d'une application. Par exemple, entre les niveaux d'un jeu ou une fois que l'utilisateur a terminé une tâche.
Bien que FullScreenContentListener puisse être utilisé pour déterminer quand une annonce a affiché son contenu en plein écran, le future renvoyé par Show() indique également quand l'annonce a été diffusée.
firebase::Future<void> result = interstitial_ad->Show();
Bonnes pratiques
- Déterminez si les annonces interstitielles sont le type d'annonce adapté à votre application.
- Les annonces interstitielles fonctionnent mieux dans les applications avec des points de transition naturels. La fin d'une tâche dans une application, comme le partage d'une image ou la fin d'un niveau de jeu, crée un tel 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. Réfléchissez aux moments où vous diffuserez des annonces interstitielles dans le workflow de votre application et à la manière dont l'utilisateur est susceptible de réagir.
- N'oubliez pas de mettre l'action en pause 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 diffuse une annonce interstitielle, elle suspend également l'utilisation de certaines ressources pour permettre à l'annonce d'en profiter. Par exemple, lorsque vous appelez l'annonce pour diffuser 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
OnAdDismissedFullScreenContentde votreFullScreenContentListenerinstallé, qui sera appelée lorsque l'utilisateur aura terminé d'interagir avec l'annonce. En outre, envisagez d'interrompre temporairement toutes les tâches de calcul intensives (telles qu'une boucle de jeu) pendant la diffusion de l'annonce. Ainsi, l'utilisateur ne verra pas de graphismes lents ou qui ne répondent pas, ni de vidéo saccadée. - Prévoyez un temps de chargement suffisant.
- Il est important de diffuser les annonces interstitielles au bon moment, mais aussi de s'assurer que l'utilisateur n'a pas à attendre leur chargement. Le chargement de l'annonce à l'avance avant de la diffuser permet de s'assurer que votre application dispose d'une annonce interstitielle entièrement chargée et prête à être diffusée le moment venu.
- N'inondez pas les utilisateurs d'annonces.
- Même si le fait d'augmenter la fréquence des annonces interstitielles dans votre appli peut sembler être un excellent moyen d'augmenter vos revenus, cela peut également dégrader l'expérience utilisateur et réduire les taux de clics. Veillez à ce que les utilisateurs ne soient pas interrompus trop fréquemment, car ils risquent de ne plus pouvoir profiter de votre appli.
- N'utilisez pas le future d'achèvement du chargement pour afficher l'interstitiel.
- Cela peut nuire à l'expérience utilisateur. Au lieu de cela, préchargez l'annonce avant de la diffuser.
Ressources supplémentaires
Exemple dans GitHub
- Consultez le code source de notre exemple d'application de démarrage rapide dans GitHub.
Tutoriels vidéo Mobile Ads Garage
Témoignages
Étapes suivantes
- Si ce n'est pas déjà fait, créez votre propre bloc d'annonces interstitielles dans l' interface utilisateur AdMob.
- Découvrez le ciblage des annonces et les consignes concernant les annonces interstitielles.