Questa guida rapida è rivolta a editori e sviluppatori che desiderano utilizzare AdMob per monetizzare un'app creata con Firebase. Se non prevedi di includere Firebase nella tua app, visita invece la guida autonoma di AdMob .
Se non l'hai ancora fatto, scopri tutti i vantaggi derivanti dall'utilizzo combinato di AdMob, Firebase e Google Analytics.
Se è la prima volta che consulti questa guida, ti consigliamo di scaricare e proseguire utilizzando l' app di test dell'SDK C++ di Google Mobile Ads .
Prima di iniziare
Se non disponi già di un progetto Firebase e di un'app Firebase, segui la guida introduttiva di Firebase: Aggiungi Firebase al tuo progetto C++ .
Assicurati che Google Analytics sia abilitato nel tuo progetto Firebase:
Se stai creando un nuovo progetto Firebase, abilita Google Analytics durante il flusso di lavoro di creazione del progetto.
Se disponi di un progetto Firebase esistente su cui non è abilitato Google Analytics, puoi abilitare Google Analytics dalla scheda Integrazioni del tuo
Passaggio 1: configura la tua app nel tuo account AdMob
Registra ogni variante della piattaforma della tua app come app AdMob.
Accedi o registrati per un account AdMob.
Registra ciascuna variante della piattaforma della tua app con AdMob . Questo passaggio crea un'app AdMob con un ID app AdMob univoco di cui avrai bisogno più avanti in questa guida.
Ti verrà chiesto di aggiungere l'SDK Mobile Ads alla tua app. Troverai istruzioni dettagliate per questa attività più avanti in questa guida.
Collega ciascuna delle tue app AdMob all'app Firebase corrispondente.
Questo passaggio è facoltativo ma fortemente consigliato. Scopri di più sui vantaggi derivanti dall'attivazione delle metriche utente e dal collegamento delle tue app AdMob a Firebase.
Per ciascuna variante della piattaforma, completa i due passaggi seguenti nella dashboard App del tuo account AdMob:
Abilita le metriche utente per consentire ad AdMob di elaborare e visualizzare dati analitici selezionati nel tuo account AdMob. È inoltre un'impostazione obbligatoria per collegare la tua app AdMob a Firebase.
Collega la tua app AdMob al tuo progetto Firebase esistente e alla corrispondente app Firebase.
Assicurati di inserire lo stesso nome pacchetto (Android) o ID pacchetto (iOS) inserito per l'app Firebase. Trova il nome del pacchetto o l'ID bundle dell'app Firebase nella scheda Le tue app del tuo
Impostazioni progetto . >
Passaggio 2: aggiungi l'ID app AdMob alla tua app
Androide
Aggiungi il tuo ID app AdMob al file AndroidManifest.xml
della tua app aggiungendo il tag <meta-data>
come mostrato di seguito.
<manifest> <application> <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ADMOB_APP_ID"/> </application> </manifest>
iOS
Nel file Info.plist
della tua app, aggiungi una chiave GADApplicationIdentifier
con un valore stringa pari al tuo ID app AdMob .
Puoi apportare questa modifica a livello di codice:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
Oppure modificalo nell'editor dell'elenco delle proprietà:
Passaggio 3: aggiungi l'SDK degli annunci per dispositivi mobili di Google
Poiché l'SDK C++ di Google Mobile Ads risiede nello spazio dei nomi firebase::gma
, scarica l' SDK C++ di Firebase , quindi decomprimilo in una directory a tua scelta.
L'SDK Firebase C++ non è specifico della piattaforma, ma richiede configurazioni della libreria specifiche della piattaforma.
Androide
Nel file
gradle.properties
del tuo progetto, specifica il percorso dell'SDK decompresso:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Al file
settings.gradle
del tuo progetto, aggiungi il seguente contenuto:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
Al file Gradle del modulo (a livello di app) (solitamente
app/build.gradle
), aggiungi i seguenti contenuti, che includono la dipendenza della libreria per l'SDK C++ di Google Mobile Ads.android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependency for the Google Mobile Ads C++ SDK apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { gma }
Al file
CMakeLists.txt
del tuo progetto, aggiungi il seguente contenuto.# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # Add the Google Mobile Ads C++ SDK. # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. set(firebase_libs firebase_gma firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
Sincronizza la tua app per assicurarti che tutte le dipendenze dispongano delle versioni necessarie.
È tutto pronto! La tua app C++ è configurata per utilizzare l'SDK C++ di Google Mobile Ads.
iOS
I passaggi in questa sezione sono un esempio di come aggiungere l'SDK C++ di Google Mobile Ads al tuo progetto iOS.
Ottieni CocoaPods versione 1 o successiva eseguendo:
sudo gem install cocoapods --pre
Aggiungi il pod Annunci per dispositivi mobili di Google dall'SDK decompresso.
Crea un Podfile se non ne hai già uno:
cd YOUR_APP_DIRECTORY
pod init
Al tuo Podfile, aggiungi il pod per l'SDK C++ di Google Mobile Ads:
pod 'Google-Mobile-Ads-SDK'
Installa il pod, quindi apri il file
.xcworkspace
in Xcode.pod install
open YOUR_APP.xcworkspace
Aggiungi i seguenti framework dall'SDK Firebase C++ al progetto:
-
xcframeworks/firebase.xcframework
-
xcframeworks/firebase_gma.xcframework
-
È tutto pronto! La tua app C++ è configurata per utilizzare l'SDK C++ di Google Mobile Ads.
Passaggio 4: inizializza l'SDK di Google Mobile Ads
Prima di caricare gli annunci, inizializza l'SDK Mobile Ads chiamando firebase::gma::Initialize()
.
Questa chiamata restituisce un firebase::Future
che viene completato al termine dell'inizializzazione (o dopo un timeout di 30 secondi). Chiama questo metodo solo una volta e il prima possibile, idealmente all'avvio dell'app.
Ecco un esempio di come chiamare Initialize()
:
Androide
// Initialize the Google Mobile Ads library firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(jni_env, j_activity, &result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
iOS
// Initialize the Google Mobile Ads library. firebase::InitResult result; Future<AdapterInitializationStatus> future = firebase::gma::Initialize(&result); if (result != kInitResultSuccess) { // Initialization immediately failed, most likely due to a missing dependency. // Check the device logs for more information. return; } // Monitor the status of the future. // See "Use a Future to monitor the completion status of a method call" below. if (future.status() == firebase::kFutureStatusComplete && future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization completed. } else { // Initialization on-going, or an error has occurred. }
Utilizzare un Future
per monitorare lo stato di completamento di una chiamata al metodo
A Future
fornisce un modo per determinare lo stato di completamento delle chiamate al metodo asincrone.
Ad esempio, quando la tua app chiama firebase::gma::Initialize()
, viene creato e restituito un nuovo firebase::Future
. La tua app può quindi eseguire il polling dello status()
di Future
per determinare quando l'inizializzazione è stata completata. Una volta completata, l'app può richiamare result()
per ottenere l' AdapterInitializationStatus
risultante.
I metodi che restituiscono un Future
hanno un metodo "ultimo risultato" corrispondente che le app possono utilizzare per recuperare il Future
più recente per una determinata azione. Ad esempio, firebase::gma::Initialize()
ha un metodo corrispondente chiamato firebase::gma::InitializeLastResult()
, che restituisce un Future
che la tua app può utilizzare per verificare lo stato dell'ultima chiamata a firebase::gma::Initialize()
.
Se lo stato di Future
è completo e il suo codice di errore è firebase::gma::kAdErrorCodeNone
, l'operazione è stata completata correttamente.
Puoi anche registrare callback da richiamare quando un Future
viene completato. In alcuni casi, la richiamata verrà eseguita in un thread diverso, quindi assicurati che il tuo codice sia thread-safe. Questo frammento di codice utilizza un puntatore a funzione per il callback:
// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
/*user_data=*/nullptr);
// The OnCompletion callback function.
static void OnCompletionCallback(
const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
// Called when the Future is completed for the last call to firebase::gma::Initialize().
// If the error code is firebase::gma::kAdErrorCodeNone,
// then the SDK has been successfully initialized.
if (future.error() == firebase::gma::kAdErrorCodeNone) {
// success!
} else {
// failure.
}
}
Passaggio 5: scegli un formato dell'annuncio da implementare nella tua app
AdMob offre diversi formati di annunci, quindi puoi scegliere il formato che meglio si adatta all'esperienza utente della tua app. Fai clic su un pulsante relativo a un formato di annuncio per visualizzare istruzioni dettagliate sull'implementazione nella documentazione di AdMob.
Stendardo
Annunci rettangolari visualizzati nella parte superiore o inferiore dello schermo del dispositivo
I banner pubblicitari rimangono sullo schermo mentre gli utenti interagiscono con l'app e possono aggiornarsi automaticamente dopo un certo periodo di tempo. Se sei nuovo alla pubblicità mobile, sono un ottimo punto di partenza.
Implementa banner pubblicitariInterstiziale
Annunci a schermo intero che coprono l'interfaccia di un'app fino alla chiusura da parte dell'utente
Gli annunci interstitial vengono utilizzati al meglio nelle pause naturali nel flusso di esecuzione di un'app, ad esempio tra i livelli di un gioco o subito dopo il completamento di un'attività.
Implementa annunci interstitialPremiato
Annunci che premiano gli utenti che guardano brevi video e interagiscono con annunci riproducibili e sondaggi
Gli annunci con premio (o "basati su premi") possono aiutare a monetizzare gli utenti free-to-play.
Implementa gli annunci con premio
Altri argomenti di interesse
Visualizza le metriche utente e i dati analitici
Dopo l'inizializzazione, l'SDK Mobile Ads inizia automaticamente a registrare gli eventi di analisi e le proprietà utente dalla tua app. Puoi visualizzare questi dati senza aggiungere ulteriore codice alla tua app o implementare annunci. Ecco dove puoi vedere questi dati analitici:
Nella scheda Metriche utente del tuo account AdMob (dashboard Home o App ), puoi visualizzare metriche utente selezionate derivate dai dati analitici raccolti, come durata media della sessione, ARPU e fidelizzazione.
Nella dashboard Analytics della console Firebase, puoi visualizzare statistiche aggregate e riepiloghi delle metriche chiave . Se aggiungi l'SDK Firebase per Google Analytics , puoi anche contrassegnare le conversioni per le campagne pubblicitarie e creare segmenti di pubblico personalizzati nella console Firebase.
Tieni presente che per rappresentare meglio le metriche ARPU e ARPPU , potresti voler includere i dati di un evento personalizzato di analisi chiamato ecommerce_purchase
nel calcolo delle entrate per queste metriche ( scopri come ).
(Facoltativo) Utilizza più funzionalità di Google Analytics e Firebase
Sfrutta più opportunità e funzionalità per migliorare la monetizzazione delle app e il coinvolgimento degli utenti:
Aggiungi e utilizza l'SDK Firebase per Google Analytics
Implementa la registrazione eventi personalizzata nella tua app.
Contrassegna le conversioni per le campagne pubblicitarie personalizzate .
Includi i dati dell'evento
ecommerce_purchase
nel calcolo delle entrate per le metriche ARPU e ARPPU .
Per ulteriori informazioni, consulta la guida per l'utilizzo di Google Analytics e Firebase con le app AdMob .
Utilizza altri prodotti Firebase nella tua app
Dopo aver aggiunto l'SDK Firebase per Google Analytics, utilizza altri prodotti Firebase per ottimizzare gli annunci nella tua app.
Remote Config ti consente di modificare il comportamento e l'aspetto della tua app senza pubblicare un aggiornamento dell'app, senza alcun costo, per un numero illimitato di utenti attivi giornalieri.
I test A/B ti danno la possibilità di testare le modifiche all'interfaccia utente, alle funzionalità o alle campagne di coinvolgimento della tua app per scoprire se hanno un impatto sui tuoi parametri chiave (come entrate e fidelizzazione) prima di implementare le modifiche su larga scala.