Questa guida rapida è rivolta a publisher e sviluppatori che vogliono utilizzare AdMob per monetizzare un'app creata con Firebase. Se non prevedi di includere Firebase nella tua app, consulta la guida AdMob indipendente.
Se non l'hai ancora fatto, scopri tutti i vantaggi dell'utilizzo congiunto di AdMob, Firebase eGoogle Analytics.
Se è la prima volta che consulti questa guida, ti consigliamo di scaricarla e seguire le istruzioni utilizzando l'app di test dell'SDK Google Mobile Ads per C++.
Prima di iniziare
Se non hai ancora un progetto e un'app Firebase, segui la guida introduttiva di Firebase: Aggiungi Firebase al tuo progetto C++.
Assicurati che Google Analytics sia attivato nel progetto Firebase:
Se stai creando un nuovo progetto Firebase, abilita Google Analytics durante il flusso di lavoro di creazione del progetto.
Se hai già un progetto Firebase in cui Google Analytics non è attivo, puoi attivarlo dalla scheda Integrazioni di
. > Impostazioni progettoGoogle Analytics
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 ogni variante della piattaforma della tua app su AdMob. Questo passaggio crea un'app AdMob con un AdMob ID app univoco di cui avrai bisogno in seguito in questa guida.
Ti verrà chiesto di aggiungere l'SDK Mobile Ads alla tua app. Puoi trovare istruzioni dettagliate su questa operazione più avanti in questa guida.
Collega ogni app AdMob all'app Firebase corrispondente.
Questo passaggio è facoltativo, ma vivamente consigliato. Scopri di più sui vantaggi dell'attivazione delle metriche utente e del collegamento delle tue app AdMob a Firebase.
Per ogni variante della piattaforma, completa i seguenti due passaggi nella dashboard App del tuo account AdMob:
Attiva Metriche utente per consentire a AdMob di elaborare e visualizzare i dati di analisi selezionati nel tuo accountAdMob. Inoltre, è un'impostazione obbligatoria per collegare la tua appAdMob a Firebase.
Collega la tua appAdMob al progetto Firebase esistente e all'app Firebase corrispondente.
Assicurati di inserire lo stesso nome del pacchetto (Android) o ID bundle (iOS) che hai inserito per l'app Firebase. Trova il nome del pacchetto o l'ID bundle dell'app Firebase nella scheda Le tue app del
Impostazioni progetto . >
Passaggio 2: aggiungi il tuo ID app AdMob all'app
Android
Aggiungi il tuo
ID app AdMob
al file AndroidManifest.xml
dell'app aggiungendo il tag <meta-data>
come показано показано 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
dell'app, aggiungi una chiave GADApplicationIdentifier
con un valore di stringa del tuo AdMob ID app.
Puoi apportare questa modifica tramite programmazione:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>
In alternativa, modificalo nell'editor dell'elenco di proprietà:
Passaggio 3: aggiungi l'SDK Google Mobile Ads
Poiché l'SDK Google Mobile Ads C++ risiede nello spazio dei nomi firebase::gma
, scarica l'SDK Firebase C++ e decomprimilo in una directory a tua scelta.
L'SDK Firebase C++ non è specifico della piattaforma, ma richiede configurazioni delle librerie specifiche della piattaforma.
Android
Nel file
gradle.properties
del progetto, specifica la posizione dell'SDK scompattato:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
Aggiungi i seguenti contenuti al file
settings.gradle
del progetto: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"
Aggiungi i seguenti contenuti al file Gradle del modulo (a livello di app) (di solito
app/build.gradle
), che include la dipendenza della libreria per l'SDK Google Mobile Ads C++.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 }
Aggiungi i seguenti contenuti al file
CMakeLists.txt
del progetto.# 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 l'app per assicurarti che tutte le dipendenze abbiano le versioni necessarie.
Ecco fatto. L'app C++ è configurata per utilizzare l'SDK Google Mobile Ads C++.
iOS
I passaggi descritti in questa sezione sono un esempio di come aggiungere l'SDK Google Mobile Ads C++ al tuo progetto iOS.
Ottieni CocoaPods 1 o versioni successive eseguendo:
sudo gem install cocoapods --pre
Aggiungi il pod Google Mobile Ads dall'SDK non compresso.
Crea un Podfile se non ne hai già uno:
cd YOUR_APP_DIRECTORY
pod init
Aggiungi il pod per l'SDK Google Mobile Ads C++ al Podfile:
pod 'Google-Mobile-Ads-SDK'
Installa il pod, quindi apri il file
.xcworkspace
in Xcode.pod install
open YOUR_APP.xcworkspace
Aggiungi al progetto i seguenti framework dall'SDK Firebase C++:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
Ecco fatto. L'app C++ è configurata per utilizzare l'SDK Google Mobile Ads C++.
Passaggio 4: inizializza l'SDK 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 una sola volta e il prima possibile, idealmente al momento del lancio dell'app.
Ecco un esempio di come chiamare Initialize()
:
Android
// 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 di metodo
Un Future
ti consente di determinare lo stato di completamento delle chiamate ai metodi asincroni.
Ad esempio, quando la tua app chiama firebase::gma::Initialize()
, viene creato e restituito un nuovo
firebase::Future
. L'app può quindi eseguire il polling del status()
del Future
per determinare quando l'inizializzazione è stata completata.
Al termine, l'app può chiamare result()
per ottenere il risultato
AdapterInitializationStatus
.
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 controllare lo stato dell'ultima chiamata a firebase::gma::Initialize()
.
Se lo stato di Future
è completo e il codice di errore è
firebase::gma::kAdErrorCodeNone
, l'operazione è stata completata
correttamente.
Puoi anche registrare i callback da chiamare al termine di un Future
. In alcuni casi, il callback verrà eseguito in un thread diverso, quindi assicurati che il codice sia thread-safe. Questo snippet di codice utilizza un puntatore 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 quello più adatto all'esperienza utente della tua app. Fai clic su un pulsante per un formato dell'annuncio per visualizzare istruzioni dettagliate sull'implementazione nella documentazione AdMob.
Banner
Annunci rettangolari che vengono visualizzati nella parte superiore o inferiore dello schermo del dispositivo
Gli annunci banner rimangono sullo schermo mentre gli utenti interagiscono con l'app e possono essere aggiornati automaticamente dopo un determinato periodo di tempo. Se non hai mai utilizzato la pubblicità per il mobile, sono un ottimo punto di partenza.
Implementare gli annunci bannerInterstitial
Annunci a schermo intero che coprono l'interfaccia di un'app finché non vengono chiusi dall'utente
Gli annunci interstitial sono ideali per le interruzioni naturali nel flusso di esecuzione di un'app, ad esempio tra i livelli di un gioco o subito dopo il completamento di un'attività.
Implementare gli annunci interstitialCon premio
Annunci che premiano gli utenti per la visione di brevi video e/o l'interazione con annunci demo e sondaggi
Gli annunci con premio (o "basati su premio") possono aiutarti a monetizzare gli utenti free-to-play.
Implementare gli annunci con premio
Altri argomenti di interesse
Visualizzare metriche utente e dati di analisi
Dopo l'inizializzazione, l'SDK Mobile Ads inizia automaticamente a registrare gli eventi e le proprietà utente di analisi dei dati della tua app. Puoi visualizzare questi dati senza aggiungere codice aggiuntivo alla tua app o implementare annunci. Ecco dove puoi visualizzare questi dati di analisi:
Nella scheda Metriche utente del tuo account AdMob (dashboard Home o App), puoi visualizzare le metriche utente selezionate ricavate dai dati di analisi raccolti, come la durata media della sessione, l'ARPU e la 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 includere i dati di un evento personalizzato di Analytics denominato ecommerce_purchase
nel calcolo delle entrate per queste metriche (scopri come).
(Facoltativo) Utilizzare altre funzionalità di Google Analytics e Firebase
Sfrutta più opportunità e funzionalità per migliorare la monetizzazione delle app e il coinvolgimento degli utenti:
Aggiungere e utilizzare l'SDK Firebase per Google Analytics
Implementa la registrazione di eventi personalizzati nella tua app.
Contrassegna le conversioni per le campagne pubblicitarie personalizzate.
Includi i dati degli eventi
ecommerce_purchase
nel calcolo delle entrate per le metriche ARPU e ARPPU.
Per saperne di più, consulta la guida all'utilizzo di Google Analytics e Firebase con le app AdMob.
Utilizzare 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 dover pubblicare un aggiornamento, senza costi, per un numero illimitato di utenti attivi giornalieri.
A/B Testing ti consente di testare le modifiche alla UI, alle funzionalità o alle campagne di coinvolgimento della tua app per scoprire se influiscono sulle tue metriche chiave (come le entrate e la fidelizzazione) prima di implementarle su larga scala.