Annonces interstitielles

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Les annonces interstitielles sont des annonces plein écran qui couvrent l'interface d'une application jusqu'à ce qu'elles soient fermées par l'utilisateur. Ils s'affichent généralement à 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 diffuse un interstitiel, l'utilisateur a le choix entre appuyer sur l'annonce et continuer jusqu'à sa destination, ou la fermer et 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 Google Mobile Ads en C++.

Prérequis

Toujours tester avec les annonces tests

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.

Le moyen le plus simple de charger des annonces tests consiste à utiliser notre ID de bloc d'annonces test dédié pour les interstitiels, qui varie selon 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 à chaque demande, et vous êtes libre de les utiliser dans vos propres applications pour le codage, les tests et le 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 de test du SDK Mobile Ads, consultez la page Tester les annonces.

Implémentation

Voici les principales étapes à suivre pour intégrer des annonces interstitielles:

  1. Chargez une annonce.
  2. Inscrivez-vous pour recevoir des rappels.
  3. 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.

  1. Ajoutez l'en-tête suivant au code C++ de votre application :

     #include "firebase/gma/interstial_ad.h"
    

  2. Déclarez et instanciez un objet InterstitialAd :

     firebase::gma::InterstitialAd* interstitial_ad;
     interstitial_ad = new firebase::gma::InterstitialAd();
    

  3. Initialisez l'instance InterstitialAd à l'aide de la vue parent, sur un type AdParent. La vue parent est une référence jobject JNI faisant référence à un Activity Android ou un pointeur vers un UIView 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);
    
  4. Au lieu de conserver le futur en tant que variable, vous pouvez vérifier régulièrement l'état de l'opération d'initialisation en appelant InitializeLastResult() sur l'objet InterstitialAd. 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, consultez la section Contrôler l'état d'avancement des appels de méthode à l'aide des objets "Future".

Charger une annonce

Pour charger une annonce, utilisez la méthode LoadAd() sur l'objet InterstitialAd. Pour utiliser la méthode de chargement, vous devez initialiser l'objet InterstitialAd, ainsi que l'ID de votre bloc d'annonces et un objet AdRequest. Un message firebase::Future s'affiche, que vous pouvez 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 l'initialisation de InterstitialAd terminée:

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 les rappels

Vous devez étendre la classe FullScreenContentListener pour recevoir des notifications sur les événements de présentation et de cycle de vie des annonces interstitielles. 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 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. Autrement dit, lorsqu'une annonce interstitielle est diffusée, elle ne peut pas être diffusée à nouveau. Il est recommandé de charger une autre annonce interstitielle dans la méthode OnAdDismissedFullScreenContent() de votre FullScreenContentListener afin que l'annonce interstitielle suivante se charge aussi vite que l'annonce précédente soit ignorée.

Afficher l'annonce

Les interstitiels doivent s'afficher pendant les pauses naturelles du flux d'une application. Entre les niveaux d'un jeu, cela peut être un bon exemple ou lorsque l'utilisateur a terminé une tâche. Bien que la propriété FullScreenContentListener permette de déterminer à quel moment une annonce a affiché son contenu en plein écran, l'avenir renvoyé par Show() signalera aussi l'affichage de l'annonce.

  firebase::Future<void> result = interstitial_ad->Show();

Bonnes pratiques

Déterminez si les annonces interstitielles sont adaptées à votre application.
Les annonces interstitielles sont plus efficaces dans les applications comportant des points de transition naturels. La conclusion d'une tâche dans une application, comme partager une image ou terminer un niveau de jeu, crée ce point. Étant donné que l'utilisateur s'attend à une pause, il est facile de présenter une annonce interstitielle sans perturber son expérience. Prenez en compte les points de votre flux de travail où vous diffusez des annonces interstitielles et la manière dont l'utilisateur est susceptible d'y répondre.
N'oubliez pas de mettre en veille l'action lorsque vous diffusez une annonce interstitielle.
Il existe différents 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 afin que l'annonce puisse en profiter. Par exemple, lorsque vous appelez l'affichage d'une annonce interstitielle, veillez à suspendre toute sortie audio produite par votre application. Vous pouvez reprendre la lecture des sons dans la méthode OnAdDismissedFullScreenContent de votre FullScreenContentListener installé. Elle sera invoquée à la fin de l'interaction de l'utilisateur avec l'annonce. En outre, envisagez d'interrompre temporairement les tâches de calcul intenses (comme une boucle de jeu) pendant l'affichage de l'annonce. L'utilisateur ne sera ainsi pas confronté à un problème de lenteur ou de réactivité des graphismes ou de vidéo saccadée.
Prévoyez un temps de chargement approprié.
Il est important de diffuser des annonces interstitielles au bon moment, mais aussi de veiller à ce que l'utilisateur n'ait pas à attendre le chargement. En chargeant l'annonce à l'avance, vous vous assurez qu'une annonce interstitielle entièrement chargée est prête à être diffusée dans votre application au moment où elle doit s'afficher.
N'inondez pas l'utilisateur d'annonces.
Même si l'augmentation de la fréquence des interstitiels dans votre application peut sembler être un excellent moyen d'augmenter les revenus, cela peut également nuire à l'expérience utilisateur et réduire les taux de clics. Assurez-vous que les utilisateurs ne sont pas si souvent interrompus qu'ils ne peuvent plus profiter de votre application.
N'utilisez pas le chargement à l'avenir pour afficher l'interstitiel.
Cela peut nuire à l'expérience utilisateur. et préchargez-la.

Autres ressources

Exemple dans GitHub

Ateliers vidéo sur le programme Publicité mobile

Témoignages

Étapes suivantes