Bannières

Les bannières occupent un emplacement dans la mise en page d'une application, en haut ou en bas de l'écran de l'appareil. Elles restent à l'écran lorsque les utilisateurs interagissent avec l'application et peuvent s'actualiser automatiquement après un certain temps. Si vous débutez dans la publicité sur mobile, c'est un excellent point de départ. Étude de cas :

Conditions préalables

  • Suivez la procédure Commencer.
  • (Android uniquement) Vous maîtrisez l'utilisation des références JNI jobject (consultez les conseils JNI Android).

Toujours tester avec des annonces tests

Lorsque vous créez et testez vos applications, veillez à utiliser des annonces tests plutôt que des annonces de production en ligne. À 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é aux bannières, qui varie selon la plate-forme de l'appareil:

  • Android : ca-app-pub-3940256099942544/6300978111
  • iOS : ca-app-pub-3940256099942544/2934735716

Ces ID de bloc d'annonces ont été spécialement configurés pour afficher des annonces tests pour chaque demande. Vous êtes libre de les utiliser dans vos propres applications lors du codage, du test 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 Annonces tests.

Implémentation

Configurer un AdView

Les bannières sont affichées dans des objets AdView. La première étape pour les intégrer consiste donc à créer et à positionner un AdView.

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

     #include "firebase/gma/ad_view.h"
    
  2. Déclarez et instanciez un objet AdView:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
    
  3. Créez un AdSize, puis initialisez l'affichage de l'annonce à l'aide de la vue parent AdParent. La vue parent est une référence jobject JNI vers un Activity Android ou un pointeur vers un UIView iOS converti en type AdParent:

     // 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(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
    
  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 AdView. 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 = ad_view->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.
      }
    
  5. Pour en savoir plus sur l'utilisation de firebase::Future, consultez la section Utiliser des objets Future pour surveiller l'état d'avancement des appels de méthode.

Définir la position de l'annonce

Vous pouvez définir la position de AdView à tout moment après son initialisation:

firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);

Charger une annonce

Vous pouvez charger une annonce une fois que AdView a été initialisé:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);

Les objets AdRequest représentent une demande d'annonce unique et contiennent des propriétés pour des informations telles que le ciblage.

Afficher l'annonce

Enfin, affichez l'annonce à l'écran en appelant Show(). Cette méthode peut être invoquée à tout moment après l'initialisation de l'annonce:

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

Événements d'annonces

Le SDK C++ Google Mobile Ads fournit une classe AdListener que vous pouvez étendre et transmettre à AdView::SetListener() afin d'être informé des modifications de l'état de l'affichage de l'annonce.

L'extension des méthodes dans AdListener est facultative. Il vous suffit donc d'implémenter les méthodes de votre choix. Vous trouverez ci-dessous un exemple d'implémentation d'une classe qui étend toutes les classes de méthodes AdListener:

class ExampleAdListener
    : public firebase::gma::AdListener {
 public:
  ExampleAdListener() {}
  void OnAdClicked() override {
    // This method is invoked when the user clicks the ad.
  }

  void OnAdClosed() override {
   // This method is invoked when the user closes the ad.
  }

  void OnAdImpression() override {
    // This method is invoked when an impression is recorded for an ad.
  }

  void OnAdOpened() override {
    // This method is invoked when an ad opens an overlay that covers the screen.
  }
};

ExampleAdListener* ad_listener = new ExampleAdListener();
ad_view->SetAdListener(ad_listener);

Le tableau ci-dessous répertorie les tailles de bannière standard.

Taille en points (LxH) Description Garantie de disponibilité Constante firebase::gma::AdSize
320 x 50 Bannière Téléphones et tablettes kBanner
320 x 100 Grande bannière Téléphones et tablettes kLargeBanner
300 x 250 IAB Rectangle moyen Téléphones et tablettes kMediumRectangle
468 x 60 Bannière IAB en taille réelle Tablettes kFullBanner
728 x 90 Leaderboard IAB Tablettes kLeaderboard
Largeur fournie x Hauteur adaptative Bannière adaptative Téléphones et tablettes N/A

Tailles d'annonces personnalisées

Pour définir une taille de bannière personnalisée, indiquez les dimensions souhaitées à l'aide du constructeur firebase::gma::AdSize avec les paramètres de largeur et de hauteur, comme indiqué ci-dessous:

firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);

Autres ressources

Exemple dans GitHub

Témoignages