Annonces interstitielles


Les annonces interstitielles s'affichent en plein écran et recouvrent l'interface d'une application jusqu'à fermé par l'utilisateur. 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 affiche une annonce interstitielle, l'utilisateur a le choix de cliquer sur l'annonce et de continuer vers 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 des applications Android et iOS. à l'aide du SDK C++ Google Mobile Ads.

Prérequis

Effectuez toujours des tests avec des annonces tests

Lorsque vous créez et testez vos applications, veillez à 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 tests dédié pour les annonces interstitielles, 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 pour chaque demande. vous êtes libre de l’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 l'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:

  1. Chargez une annonce.
  2. Demandez à recevoir des rappels.
  3. afficher l'annonce et gérer les événements de son 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. 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 votre vue parente castée en type AdParent. La vue parente est une référence JNI jobject à 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 comme variable, vous pouvez périodiquement vérifiez l'état de l'opération d'initialisation en appelant InitializeLastResult() sur l'objet InterstitialAd Cela peut être utile pour suivre le processus d'initialisation dans votre boucle globale de jeu.

    // 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 Utiliser des futures pour surveiller l'état d'achèvement des appels de méthode.

Charger une annonce

Le chargement d'une annonce s'effectue à l'aide de la méthode LoadAd() au niveau de la InterstitialAd. La méthode de chargement nécessite que vous ayez initialisé l'objet InterstitialAd, que vous disposiez de l'ID de votre bloc d'annonces et d'un objet AdRequest. Un firebase::Future est renvoyé, 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'InterstitialAd initialisé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 recevoir des rappels

Vous devez étendre la classe FullScreenContentListener pour recevoir des notifications de présentation d'annonces interstitielles et d'événements de cycle de vie. Votre La sous-classe FullScreenContentListener peut être enregistrée via la InterstitialAd::SetFullScreenContentListener(). Il recevra des rappels lorsque la présentation de l'annonce a réussi ou échoué, ainsi que lorsque il est ignoré.

Le code suivant montre comment développer 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 être diffusée à nouveau. Une bonne pratique consiste à charger une autre une annonce interstitielle dans la méthode OnAdDismissedFullScreenContent() de votre FullScreenContentListener pour que l'interstitiel suivant commence à se charger comme dès que la précédente est ignorée.

Afficher l'annonce

Les interstitiels doivent être affichés lors des pauses naturelles dans le flux d'une application. C'est le cas entre deux niveaux d'un jeu ou après 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, l'avenir 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 adaptées à votre application.
Les annonces interstitielles sont plus efficaces dans les applications avec des points de transition naturels. La finalisation d'une tâche dans une application (partager une image, terminer un niveau dans un jeu, etc.) crée un tel point. Comme l'utilisateur s'attend à une interruption de l'action, il est facile de présenter une annonce interstitielle sans perturber son expérience. Veillez à déterminer à quels moments du flux de travail de votre application vous allez les annonces display interstitielles et la façon dont l'utilisateur est susceptible d'y répondre.
N'oubliez pas de mettre en veille l'action lorsque vous affichez une annonce interstitielle.
Il existe plusieurs types d'annonces interstitielles: textuelles, illustrées, des vidéos, etc. Il est important de s'assurer que lorsque votre application affiche une annonce interstitielle, elle suspend également l'utilisation de certaines ressources pour permettre à l'annonce de les utiliser. Par exemple, lorsque vous effectuez l'appel pour afficher une interstitielle, veillez à mettre en pause toute sortie audio produite par votre application. Vous pouvez reprendre la lecture des sons avec la méthode OnAdDismissedFullScreenContent de votre FullScreenContentListener installée, qui sera appelée lorsque l'utilisateur a fini d'interagir avec l'annonce. En outre, envisagez de suspendre temporairement toutes les tâches de calcul intenses (telles qu'une boucle de jeu) pendant l'affichage de l'annonce. Ainsi, l'utilisateur ne subira pas de ralentissements des images qui ne répondent pas ou des vidéos saccadées.
Prévoyez un temps de chargement adéquat.
Tout comme il est important de vous assurer que vous diffusez des annonces interstitielles le bon moment, il est également important de s'assurer que l'utilisateur n'a pas à attendre à charger. Pour vous assurer que le chargement de l'annonce avant sa diffusion est prévu, que votre application dispose d'une annonce interstitielle entièrement chargée, prête au moment pour en afficher un.
N'inondez pas les utilisateurs d'annonces.
Augmenter la fréquence des annonces interstitielles dans votre application peut sembler être un excellent moyen d'augmenter les revenus, mais cela peut aussi dégrader l'expérience utilisateur et réduire les taux de clics. Assurez-vous que les utilisateurs ne sont pas interrompus si fréquemment qu'ils ne peuvent plus profiter de votre application.
Pour afficher l'interstitiel, n'utilisez pas le terme "achèvement du chargement" à l'avenir.
Cela peut nuire à l'expérience utilisateur. Préchargez plutôt l'annonce avant vous devez la montrer.

Ressources supplémentaires

Exemple dans GitHub

Tutoriels vidéo "The Mobile Ads Garage"

Témoignages

Étapes suivantes