Gli annunci banner occupano uno spazio all'interno del layout di un'app, nella parte superiore o inferiore della sullo schermo del dispositivo. Rimangono sullo schermo mentre gli utenti interagiscono con l'app e possono aggiornarsi automaticamente dopo un certo periodo di tempo. Se non hai mai utilizzato pubblicità mobile, sono un ottimo punto di partenza. Case study.
Prerequisiti
- Completa la sezione Inizia.
- (Solo Android) Familiarità nell'utilizzo dei riferimenti
jobject
di JNI (vedi suggerimenti JNI per Android).
Esegui 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 che variano in base alla piattaforma del dispositivo:
- Android:
ca-app-pub-3940256099942544/6300978111
- iOS:
ca-app-pub-3940256099942544/2934735716
Questi ID unità pubblicitaria sono stati appositamente configurati per restituire annunci di prova per ogni ed è possibile usarlo nelle tue app durante la programmazione, i test e il debug del machine learning. Assicurati di sostituirlo con il tuo ID unità pubblicitaria prima e 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
, quindi il primo passaggio per integrarli consiste nel creare e posizionare un AdView
.
Aggiungi la seguente intestazione al codice C++ della tua app:
#include "firebase/gma/ad_view.h"
Dichiara e crea un'istanza per un oggetto
AdView
:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
Crea un
AdSize
e inizializza la visualizzazione dell'annuncio utilizzando l'elemento principaleAdParent
vista. La vista principale è un riferimentojobject
JNI a unActivity
Android o un puntatore a unUIView
iOS eseguito il cast a un tipoAdParent
:// 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); In alternativa a conservare il futuro come variabile, puoi controllare periodicamente lo stato dell'operazione di inizializzazione richiamando
InitializeLastResult()
sull'oggettoAdView
. Questa opzione può essere utile per: tenendo 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. }
Per ulteriori informazioni sull'utilizzo di
firebase::Future
, vedi Utilizzare i future per monitorare lo stato di completamento del metodo chiamate.
Imposta 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 l'inizializzazione di 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.
Visualizza l'annuncio
Infine, visualizza l'annuncio sullo schermo chiamando il 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 solo implementare il metodo
i metodi desiderati. Di seguito è riportato un esempio di implementazione di una classe che estende tutti
della 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);
Dimensioni dei banner
La tabella seguente elenca le dimensioni standard dei banner.
Dimensioni in punti (LxA) | Descrizione | Disponibilità | firebase::gma::Costante dimensioni annunci |
---|---|---|---|
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 del banner personalizzate, imposta le dimensioni desiderate utilizzando la proprietà
firebase::gma::AdSize
con i parametri di larghezza e altezza, come mostrato qui:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
Risorse aggiuntive
Esempio in GitHub
- Visualizza il codice sorgente del nostro app di avvio rapido di esempio in GitHub.