Annunci interstitial

Gli annunci interstitial sono annunci a schermo intero che coprono l'interfaccia di un'app fino alla chiusura dall'utente. In genere sono mostrati nei punti di transizione naturali nel flusso di un'app, ad esempio tra le attività o durante la pausa tra i livelli di un gioco. Quando un'app mostra un annuncio interstitial, l'utente ha la possibilità di toccare l'annuncio e continuare con la destinazione oppure di chiuderla e tornare all'app. Case study.

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

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 gli annunci interstitial, che varia a seconda della piattaforma per dispositivo:

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

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

Ecco i passaggi principali per l'integrazione degli annunci interstitial:

  1. Caricare un annuncio.
  2. Registrati per richiamare.
  3. Mostrare l'annuncio e gestire i relativi eventi del ciclo di vita.

Configura una InterstitialAd

Gli annunci interstitial vengono visualizzati negli oggetti InterstitialAd, pertanto il primo passo verso l'integrazione degli annunci interstitial nella tua app è la creazione e l'inizializzazione di 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 InterstitialAd per un oggetto:

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

  3. Inizializza l'istanza InterstitialAd utilizzando la trasmissione padre in un tipo AdParent. La vista principale è un riferimento JNI jobject a un Activity Android o un puntatore UIView a 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. Invece di conservare il 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 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 la funzionalità Future per monitorare lo stato di completamento delle chiamate di metodo.

Carica un annuncio

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

Il codice seguente mostra come caricare un annuncio dopo che InterstitialAd è stato inizializzato:

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 le notifiche degli eventi interstitial di presentazione degli annunci e del ciclo di vita. La sottoclasse personalizzata di FullScreenContentListener può essere registrata tramite il metodo InterstitialAd::SetFullScreenContentListener() e riceverà richiami quando l'annuncio viene presentato correttamente o meno, nonché quando viene ignorato.

Il codice seguente mostra come estendere la classe e assegnarla 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 utilizzabile una sola volta. Ciò significa che, una volta mostrato, un annuncio interstitial non può essere mostrato di nuovo. Una best practice consiste nel caricare un altro annuncio interstitial nel metodo OnAdDismissedFullScreenContent() dell'annuncio FullScreenContentListener in modo che il successivo annuncio interstitial inizi a caricarsi appena possibile come quello precedente.

Visualizza l'annuncio

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

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

Best practice

Valuta se gli annunci interstitial sono il tipo di annuncio giusto per la tua app.
Gli annunci interstitial funzionano meglio nelle app con punti di transizione naturali. La confusione di un'attività all'interno di un'app, come la condivisione di un'immagine o il completamento di un livello di gioco, crea un punto simile. Poiché l'utente si aspetta un'interruzione dell'azione, è facile presentare un annuncio interstitial senza interrompere la sua esperienza. Assicurati di considerare i punti del flusso di lavoro della tua app in cui devi mostrare gli annunci interstitial e la probabilità che l'utente risponda.
Ricorda di mettere in pausa l'azione quando visualizzi un annuncio interstitial.
Esistono diversi tipi di annunci interstitial: di testo, illustrati, video e altri. È importante assicurarsi che quando la propria app visualizza un annuncio interstitial, sospende anche l'utilizzo di alcune risorse per consentirne l'utilizzo. Ad esempio, quando effettui una 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 della FullScreenContentListener installata, che verrà richiamata al termine dell'interazione dell'utente con l'annuncio. Inoltre, prendi in considerazione l'interruzione temporanea di attività di calcolo molto intense (ad esempio un ciclo di gioco) durante la visualizzazione dell'annuncio. In questo modo, l'utente non riscontrerà immagini crude o non rispondenti o video soggetti a stuttering.
I tempi di caricamento sono corretti.
Così come è importante assicurarsi di mostrare gli annunci interstitial nel momento opportuno, è altrettanto importante assicurarsi che l'utente non debba attendere il caricamento. Caricare l'annuncio in anticipo prima della pubblicazione ti consente di garantire che la tua app disponga di un annuncio interstitial completamente caricato quando è il momento di mostrarlo.
Non inondare l'utente degli annunci.
L'aumento della frequenza degli annunci interstitial nella tua app potrebbe sembrare un ottimo modo per incrementare le entrate, ma può anche ridurre l'esperienza utente e ridurre le percentuali di clic. Assicurati che gli utenti non vengano interrotti così spesso che non possano più usare la tua app.
Non usare il completamento caricamento in futuro per mostrare l'annuncio interstitial.
Ciò può compromettere l'esperienza utente. Precarica l'annuncio prima di mostrarlo.

Risorse aggiuntive

Esempio in GitHub

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

Tutorial video di Mobile Ads Training

Casi di successo

Passaggi successivi