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à mobile, sono un ottimo punto di partenza. Case study.
Prerequisiti
- Completa la sezione Inizia.
- (Solo Android) Familiarità con i riferimenti JNI
jobject
(vedi Suggerimenti per JNI di Android).
Esegui sempre i test con gli annunci di prova
Quando crei ed esegui test sulle tue app, assicurati di utilizzare annunci di prova anziché annunci di produzione live. In caso contrario, il tuo account potrebbe essere sospeso.
Il modo più semplice per caricare gli annunci di test è utilizzare l'ID unità pubblicitaria di test 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 test per ogni richiesta e puoi utilizzarli liberamente nelle tue app durante la codifica, il test e il debug. Assicurati solo di sostituirlo con il tuo ID unità pubblicitaria prima di pubblicare l'app.
Per saperne di più sul funzionamento degli annunci di test dell'SDK Mobile Ads, consulta la sezione Annunci di test.
Implementazione
Configura un AdView
Gli annunci banner vengono visualizzati negli oggetti AdView
, quindi il primo passo verso l'integrazione degli annunci banner è 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 di un oggetto
AdView
:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
Crea un
AdSize
e inizializza la visualizzazione di annuncio utilizzando la visualizzazione padreAdParent
. La visualizzazione principale è un riferimento JNIjobject
a unActivity
Android o un puntatore a unUIView
iOS convertito in 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
. Questo 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. }
Per saperne di più sull'utilizzo di
firebase::Future
, consulta Utilizzare 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);
Caricare un annuncio
Puoi caricare un annuncio una volta 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.
Visualizzare l'annuncio
Infine, visualizza l'annuncio sullo schermo chiamando Show()
. Questo metodo può essere
richiamato in qualsiasi momento dopo l'inizializzazione dell'annuncio:
firebase::Future<void> result = ad_view->Show();
Eventi annuncio
L'SDK Google Mobile Ads 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);
Dimensioni dei banner
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 grandezza naturale IAB | Tablet | kFullBanner |
728 x 90 | Leaderboard IAB | Tablet | kLeaderboard |
Larghezza fornita x Altezza adattiva | Banner adattivo | Cellulari e tablet | N/D |
Dimensioni annuncio personalizzate
Per definire una dimensione del banner personalizzata, imposta le dimensioni che preferisci utilizzando il costruttore
firebase::gma::AdSize
con i parametri di larghezza e altezza, come mostrato di seguito:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
Risorse aggiuntive
Esempio in GitHub
- Visualizza il codice sorgente della nostra app di avvio rapido di esempio su GitHub.