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 durante l'interazione degli utenti con l'app e possono aggiornarsi automaticamente dopo un determinato periodo di tempo. Se non hai mai utilizzato la pubblicità per il mobile, sono un ottimo punto di partenza. Case study.

Prerequisiti

Esegui sempre test con annunci di prova

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

Il modo più semplice per caricare gli annunci di prova è utilizzare il nostro ID unità pubblicitaria di prova dedicato per i banner, che varia in base alla piattaforma del dispositivo:

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

Questi ID unità pubblicitarie sono stati configurati appositamente per restituire annunci di prova per ogni richiesta e puoi utilizzarli nelle tue app durante la programmazione, i test e il debugging. Assicurati solo di sostituirlo con il tuo ID unità pubblicitaria prima di pubblicare l'app.

Per ulteriori informazioni sul funzionamento degli annunci di prova dell'SDK Mobile Ads, consulta Annunci di prova.

Implementazione

Configurare un AdView

Gli annunci banner vengono visualizzati negli oggetti AdView, pertanto il primo passaggio per integrarli consiste nel creare e posizionare AdView.

  1. Aggiungi la seguente intestazione al codice C++ dell'app:

     #include "firebase/gma/ad_view.h"
  2. Dichiara e crea un'istanza di un oggetto AdView:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
  3. Crea un AdSize e inizializza la visualizzazione dell'annuncio utilizzando la visualizzazione parente AdParent. La visualizzazione principale è un riferimento jobject JNI a un Activity Android o un puntatore a un UIView iOS eseguito il cast in 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<firebase::gma::AdParent>(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
  4. In alternativa a conservare il futuro come variabile, puoi controllare periodicamente lo stato dell'operazione di inizializzazione chiamando InitializeLastResult() sull'oggetto AdView. Questa operazione 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 i futures per monitorare lo stato di completamento delle chiamate ai metodi.

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 aver inizializzato AdView:

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.

Mostrare l'annuncio

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

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

Eventi dell'annuncio

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

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

La tabella seguente elenca le dimensioni standard dei banner.

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

Dimensioni degli annunci personalizzate

Per definire le dimensioni di un banner personalizzato, imposta le dimensioni che preferisci utilizzando il costruttore firebase::gma::AdSize con i parametri larghezza e altezza, come mostrato di seguito:

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

Risorse aggiuntive

Esempio in GitHub

Casi di successo