Annunci banner

Gli annunci banner occupano uno spazio all'interno del layout di un'app, nella parte superiore o inferiore dello schermo del dispositivo. Rimangono sullo schermo mentre gli utenti interagiscono con l'app e possono aggiornarsi automaticamente dopo un determinato periodo di tempo. Se non hai esperienza con la pubblicità per dispositivi mobili, questo è un ottimo punto di partenza. Case study.

Prerequisiti

Esegui sempre il test con gli annunci di prova

Quando crei e testi le tue app, assicurati di utilizzare gli annunci di prova anziché gli annunci di produzione. In caso contrario, il tuo account potrebbe essere sospeso.

Il modo più semplice per caricare gli annunci di prova è utilizzare l'ID dell'unità pubblicitaria di prova dedicata per i banner, che varia a seconda della piattaforma del dispositivo:

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

Questi ID unità pubblicitarie sono stati appositamente configurati per restituire annunci di test per ogni richiesta e possono essere utilizzati nelle tue app durante la programmazione, il test e il debug. Assicurati di sostituirla con il tuo ID unità pubblicitaria prima di pubblicare l'app.

Per ulteriori informazioni su come funzionano gli annunci di prova dell'SDK Mobile Ads, consulta Annunci di prova.

Implementazione

Configura una AdView

Gli annunci banner vengono visualizzati negli oggetti AdView, pertanto il primo passaggio verso l'integrazione degli annunci banner consiste nel creare e posizionare un AdView.

  1. Aggiungi la seguente intestazione al codice C++ della tua app:

     #include "firebase/gma/ad_view.h"
    
  2. Dichiarare e creare un'istanza AdView:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
    
  3. Crea una AdSize e inizializza la visualizzazione dell'annuncio utilizzando la vista principale AdParent. La vista principale è un riferimento JNI jobject a un Android Activity o un puntatore a un Cast UIView per iOS di un tipo 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. In alternativa al mantenimento della futura variabile come variabile, puoi controllare periodicamente lo stato dell'operazione di inizializzazione richiamando InitializeLastResult() sull'oggetto AdView. Ciò può essere utile per tenere traccia del processo di inizializzazione nel ciclo di gioco 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. Per ulteriori informazioni sull'utilizzo di firebase::Future, consulta Utilizzare la funzionalità Future per monitorare lo stato di completamento delle chiamate di metodo.

Impostare la posizione dell'annuncio

Puoi impostare la posizione di AdView in qualsiasi momento dopo l'inizializzazione:

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

Carica un annuncio

Puoi caricare un annuncio dopo che AdView è stato inizializzato:

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

Gli oggetti AdRequest rappresentano una singola richiesta di annuncio e contengono proprietà per informazioni come il targeting.

Visualizza l'annuncio

Infine, mostra l'annuncio sullo schermo chiamando Show(). Questo metodo può essere richiamato in qualsiasi momento dopo l'inizializzazione dell'annuncio:

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

Eventi annuncio

L'SDK Google Mobile Ads per C++ fornisce una classe AdListener che puoi estendere e trasmettere a AdView::SetListener() per ricevere notifiche sulle modifiche allo stato della visualizzazione dell'annuncio.

L'estensione dei metodi in AdListener è facoltativa, quindi devi solo implementare i metodi che preferisci. Di seguito è riportato un esempio di implementazione di una classe che estende tutta la classe dei metodi 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);

Nella tabella di seguito vengono elencate le dimensioni standard dei banner.

Dimensioni in punti (LxA) Descrizione Disponibilità costante di firebase::gma::AdSize
320 x 50 Banner Telefoni e tablet kBanner
320 x 100 Banner grande Telefoni e tablet kLargeBanner
300 x 250 Rettangolo medio IAB Telefoni e tablet kMediumRectangle
468 x 60 Banner a grandezza originale IAB Tablet kFullBanner
728 x 90 Classifica IAB Tablet kLeaderboard
Larghezza fornita x Altezza adattiva Banner adattivo Telefoni e tablet N/D

Dimensioni annuncio personalizzate

Per definire una dimensione banner personalizzata, imposta le dimensioni desiderate utilizzando il costruttore firebase::gma::AdSize con i parametri di larghezza e altezza, come mostrato di seguito:

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

Risorse aggiuntive

Esempio in GitHub

Casi di successo