Annunci interstitial

Gli annunci interstitial sono annunci a schermo intero che coprono l'interfaccia di un'app fino alla chiusura dell'utente. In genere vengono visualizzati in punti di transizione naturali nel flusso di un'app, ad esempio tra un'attività e l'altra o durante la pausa tra i livelli di un gioco. Quando un'app mostra un annuncio interstitial, l'utente può scegliere di toccare l'annuncio e proseguire verso la destinazione o di chiuderlo e tornare all'app. Case study.

Questa guida illustra come integrare gli annunci interstitial nelle app per Android e iOS utilizzando l'SDK C++ Google Mobile Ads.

Prerequisiti

Esegui sempre test con annunci di prova

Quando crei e test le tue app, assicurati di utilizzare annunci di prova anziché annunci di produzione pubblicati. In caso contrario, l'account potrebbe essere sospeso.

Il modo più semplice per caricare annunci di prova consiste nell'utilizzare il nostro ID unità pubblicitaria di prova dedicata per gli annunci interstitial, che varia a seconda della piattaforma del dispositivo:

  • Android: ca-app-pub-3940256099942544/1033173712
  • iOS: ca-app-pub-3940256099942544/4411468910

Sono stati appositamente configurati per restituire annunci di prova per ogni richiesta e puoi utilizzarli liberamente nelle tue app durante la codifica, il test e il debug. Assicurati di sostituirlo 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

I passaggi principali per integrare gli annunci interstitial sono:

  1. Carica un annuncio.
  2. Registrati per ricevere richiamate.
  3. Visualizzare l'annuncio e gestire gli eventi del suo ciclo di vita.

Configura un InterstitialAd

Gli annunci interstitial vengono visualizzati in oggetti InterstitialAd, quindi il primo passo per integrare questi annunci nell'app consiste nel creare e inizializzare un oggetto InterstitialAd.

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

     #include "firebase/gma/interstial_ad.h"
    

  2. Dichiara e crea un'istanza di un oggetto InterstitialAd:

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

  3. Inizializza l'istanza InterstitialAd utilizzando la trasmissione della vista genitore a un tipo AdParent. La vista principale è un riferimento jobject JNI a un Activity Android o un puntatore a 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. In alternativa alla conservazione del futuro come variabile, puoi controllare periodicamente lo stato dell'operazione di inizializzazione richiamando InitializeLastResult() sull'oggetto InterstitialAd. Ciò può essere utile per tenere traccia del processo di inizializzazione nel tuo ciclo di gioco 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.
    }
    

Per ulteriori informazioni sull'utilizzo di firebase::Future, consulta Utilizzare Future per monitorare lo stato di completamento delle chiamate al metodo.

Carica un annuncio

Il caricamento di un annuncio viene eseguito utilizzando il metodo LoadAd() nell'oggetto InterstitialAd. Il metodo di caricamento richiede che tu abbia inizializzato l'oggetto InterstitialAd, che tu disponga dell'ID unità pubblicitaria e di un oggetto AdRequest. Viene restituito un valore firebase::Future, che puoi utilizzare per monitorare lo stato e il risultato dell'operazione di caricamento.

Il seguente codice mostra come caricare un annuncio dopo l'inizializzazione di InterstitialAd:

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);

Registrati per i callback

Devi estendere la classe FullScreenContentListener per ricevere notifiche sulla presentazione di annunci interstitial e sugli eventi del ciclo di vita. La tua sottoclasse FullScreenContentListener personalizzata può essere registrata con il metodo InterstitialAd::SetFullScreenContentListener() e riceverà callback quando l'annuncio viene visualizzato correttamente o meno, nonché quando viene ignorato.

Il seguente codice mostra come estendere il corso e assegnarlo all'annuncio:

  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 è un oggetto monouso. Ciò significa che, una volta visualizzato, un annuncio interstitial non può essere mostrato di nuovo. Una best practice consiste nel caricare un altro annuncio interstitial nel metodo OnAdDismissedFullScreenContent() del tuo FullScreenContentListener, in modo che il caricamento dell'annuncio interstitial successivo inizi a breve, mentre quello precedente viene ignorato.

Visualizza l'annuncio

Gli interstitial devono essere visualizzati durante le pause naturali nel flusso di un'app. Tra i livelli di un gioco è un buon esempio o dopo che l'utente ha completato un'attività. Mentre FullScreenContentListener può essere utilizzato per determinare quando un annuncio è stato mostrato a schermo intero, il futuro restituito da Show() segnalerà anche quando l'annuncio è stato mostrato correttamente.

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

Best practice

Valuta se gli annunci interstitial sono il tipo giusto di annuncio per la tua app.
Gli annunci interstitial funzionano meglio nelle app con punti di transizione naturali. La conclusione di un'attività all'interno di un'app, come la condivisione di un'immagine o il completamento di un livello di un gioco, crea un punto di questo tipo. Poiché l'utente si aspetta un'interruzione nell'azione, è facile presentare un annuncio interstitial senza interrompere la sua esperienza. Assicurati di considerare in quali punti del flusso di lavoro della tua app pubblicherai annunci interstitial e come è probabile che l'utente risponda.
Ricorda di mettere in pausa l'azione quando mostri un annuncio interstitial.
Esistono vari tipi di annunci interstitial: di testo, illustrati, video e altro ancora. È importante assicurarsi che quando l'app visualizza un annuncio interstitial, sospende anche l'utilizzo di alcune risorse per consentire all'annuncio di usufruirne. Ad esempio, quando effettui la chiamata per visualizzare un annuncio interstitial, assicurati di mettere in pausa l'output audio prodotto dalla tua app. Puoi riprendere la riproduzione dei suoni nel metodo OnAdDismissedFullScreenContent dell'app FullScreenContentListener installata, che verrà richiamata quando l'utente ha finito di interagire con l'annuncio. Inoltre, valuta la possibilità di interrompere temporaneamente attività di calcolo complesse (ad esempio un ciclo di gioco) durante la visualizzazione dell'annuncio. Ciò garantirà che l'utente non rileverà grafica lenta o che non risponde o video con interruzioni.
Attendere un tempo di caricamento adeguato.
Così è importante assicurarsi di mostrare gli annunci interstitial al momento giusto, così è importante anche che l'utente non debba attendere il loro caricamento. Se carichi l'annuncio in anticipo prima che tu voglia pubblicarlo, la tua app avrà un annuncio interstitial completamente caricato e pronto quando arriverà il momento di mostrarne uno.
Non inondare l'utente di annunci.
Anche se l'aumento della frequenza degli annunci interstitial nella tua app può sembrare un ottimo modo per aumentare le entrate, può anche ridurre l'esperienza utente e le percentuali di clic. Assicurati che gli utenti non vengano interrotti così spesso da non essere più in grado di utilizzare la tua app.
Non utilizzare il completamento futuro del completamento del caricamento per mostrare l'interstitial.
Ciò può compromettere l'esperienza utente. Piuttosto, precarica l'annuncio prima di doverlo mostrare.

Risorse aggiuntive

Esempio in GitHub

  • Visualizza il codice sorgente della nostra app rapida di esempio in GitHub.

Tutorial video di Mobile Ads Garage

Casi di successo

Passaggi successivi