Gli interstitial sono annunci a schermo intero che coprono l'interfaccia di un'app fino a quando chiuso dall'utente. In genere, vengono visualizzati in punti di transizione naturali il flusso di un'app, ad esempio tra un'attività e l'altra o durante la pausa livelli in un gioco. Quando un'app mostra un annuncio interstitial, l'utente può scegliere tra toccare l'annuncio e continuare alla destinazione o chiuderlo e tornare all'app. Caso di studio.
Questa guida illustra come integrare gli annunci interstitial nelle app per Android e iOS utilizzando l'SDK Google Mobile Ads C++.
Prerequisiti
- Completa la sezione Inizia.
- (Solo Android) Familiarità nell'utilizzo dei riferimenti
jobject
di JNI (vedi suggerimenti JNI per Android).
Effettua sempre test con annunci di prova
Durante la creazione e il test delle tue app, assicurati di utilizzare annunci di prova anziché annunci di produzione attivi. In caso contrario, l'account verrà sospeso.
Il modo più semplice per caricare gli annunci di prova è utilizzare il nostro ID unità pubblicitaria di prova dedicato Interstitial, che variano in base alla 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. puoi usarlo nelle tue app durante la programmazione, i test e il debug. Assicurati di sostituirlo con il tuo ID unità pubblicitaria prima di pubblicare dell'app.
Per ulteriori informazioni sul funzionamento degli annunci di prova dell'SDK Mobile Ads, consulta Annunci di prova.
Implementazione
I passaggi principali per integrare gli annunci interstitial sono:
- Carica un annuncio.
- Registrati per le richiamate.
- Mostrare l'annuncio e gestirne gli eventi del ciclo di vita.
Configurare un InterstitialAd
Gli annunci interstitial vengono visualizzati in oggetti InterstitialAd
, pertanto il primo passo per integrare gli annunci interstitial nella tua app è creare e inizializzare un oggetto InterstitialAd
.
Aggiungi la seguente intestazione al codice C++ della tua app:
#include "firebase/gma/interstial_ad.h"
Dichiara e crea un'istanza per un oggetto
InterstitialAd
:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
Inizializza l'istanza
InterstitialAd
utilizzando la tua vista padre trasmessa a un Tipo diAdParent
. La vista genitore è un riferimentojobject
di JNI a unActivity
o un puntatore a unUIView
per 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);
In alternativa a conservare il futuro come variabile, puoi periodicamente controlla lo stato dell'operazione di inizializzazione richiamando
InitializeLastResult()
sull'oggettoInterstitialAd
. Potrebbe 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
, vedi
Utilizzare i future per monitorare lo stato di completamento del metodo
chiamate.
Carica un annuncio
Il caricamento di un annuncio viene eseguito utilizzando il metodo LoadAd()
nella
Oggetto InterstitialAd
. Il metodo di caricamento richiede che tu abbia inizializzato
InterstitialAd
e che hai l'ID unità pubblicitaria e un 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 che InterstitialAd
è stato
inizializzato correttamente:
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 le richiamate
Devi estendere il corso FullScreenContentListener
per ricevere
Notifiche di presentazione di annunci interstitial e di eventi del ciclo di vita. La tua
È possibile registrare FullScreenContentListener
sottoclasse tramite
InterstitialAd::SetFullScreenContentListener()
metodo e riceverà
i callback quando l'annuncio viene presentato correttamente o meno, nonché quando
viene ignorata.
Il seguente codice 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 monouso. Ciò significa che una volta che un annuncio interstitial
non può essere visualizzato di nuovo. Una best practice è caricare un altro annunci interstitial nel metodo OnAdDismissedFullScreenContent()
di FullScreenContentListener
in modo che l'annuncio interstitial successivo inizi a caricarsi non appena quello precedente viene chiuso.
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 è
mostrati i contenuti a schermo intero, il futuro restituito da Show()
segnalerà anche
quando l'annuncio viene visualizzato 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 al meglio nelle app con punti di transizione naturali. La conclusione di un'attività all'interno di un'app, ad esempio condividere un'immagine o completare un gioco livello, crea un punto di questo tipo. Poiché l'utente si aspetta un'interruzione nella è facile presentare un annuncio interstitial senza interrompere la un'esperienza senza intervento manuale. Assicurati di considerare in quali punti del flusso di lavoro della tua app mostrerai gli annunci interstitial e come è probabile che l'utente risponda.
- Ricorda di mettere in pausa l'azione quando visualizzi un annuncio interstitial.
- Esistono vari tipi di annunci interstitial: di testo, illustrati,
video e altro ancora. È importante assicurarsi che quando nell'app sia visualizzata
un annuncio interstitial, sospende anche l'utilizzo di alcune risorse per consentire
sfruttarle. 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
di il dispositivoFullScreenContentListener
installato che verrà richiamato quando l'utente ha finito di interagire con l'annuncio. Inoltre, valuta l'interruzione temporanea Attività di calcolo complesse (come un ciclo di gioco) durante la pubblicazione dell'annuncio visualizzati. In questo modo si garantisce che l'utente non subisca rallentamenti o la grafica non risponde o il video stuttering. - Attendi un tempo di caricamento adeguato.
- Così come è importante assicurarsi di mostrare gli annunci interstitial a un al momento giusto, è importante anche assicurarsi che l'utente non debba attendere da caricare. Caricare l'annuncio in anticipo prima di pubblicarlo può garantire che la tua app abbia un annuncio interstitial completamente caricato pronto quando che ha il primo display.
- Non inondare l'utente di annunci.
- L'aumento della frequenza degli annunci interstitial nella tua app può sembrare come un ottimo modo per aumentare le entrate, può anche peggiorare l'esperienza utente e percentuali di clic più basse. Assicurati che gli utenti non siano così di frequente interrotti in modo che non possano più utilizzare la tua app.
- Non utilizzare il futuro completamento del caricamento per mostrare l'interstitial.
- Ciò può causare un'esperienza utente scadente. ma precarica l'annuncio prima di devi mostrarlo.
Risorse aggiuntive
Esempio in GitHub
- Visualizza il codice sorgente del nostro esempio app rapida in GitHub.
Tutorial video di Mobile Ads Garage
Casi di successo
Passaggi successivi
- Se non l'hai già fatto, crea la tua unità pubblicitaria interstitial nella UI di AdMob.
- Scopri di più sul targeting degli annunci e sulle linee guida per gli annunci interstitial.