Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Inizia con AdMob nel tuo progetto C++

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questa guida rapida è destinata a publisher e sviluppatori che desiderano utilizzare AdMob per monetizzare un'app creata con Firebase.

Se non l'hai ancora fatto, scopri tutti i vantaggi dell'utilizzo di AdMob, Firebase e Google Analytics insieme.

Se è la prima volta che esamini questa guida, ti consigliamo di scaricare e continuare utilizzando l' app di test C++ SDK 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 hai un progetto Firebase esistente che non ha Google Analytics abilitato, puoi abilitare Google Analytics dalla scheda Integrazioni delle tue > Impostazioni progetto .

Passaggio 1: configura la tua app nel tuo account AdMob

  1. Registra ogni variante di piattaforma della tua app come app AdMob.

    1. Accedi o registrati per un account AdMob.

    2. Registra ogni variante di 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. Trova istruzioni dettagliate per questa attività più avanti in questa guida.

  2. Collega ciascuna delle tue app AdMob all'app Firebase corrispondente.

    Questo passaggio è facoltativo ma fortemente consigliato. Scopri di più sui vantaggi dell'abilitazione delle metriche utente e del collegamento delle tue app AdMob a Firebase.

    Per ciascuna variante di piattaforma, completa i due passaggi seguenti nella dashboard delle app del tuo account AdMob:

    1. Abilita le metriche utente per consentire ad AdMob di elaborare e visualizzare dati analitici curati nel tuo account AdMob. È anche un'impostazione richiesta per collegare la tua app AdMob a Firebase.

    2. 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 bundle (iOS) immesso per l'app Firebase. Trova il nome del pacchetto o l'ID del pacchetto della tua app Firebase nella scheda Le tue app delle tue > Impostazioni del progetto .

Passaggio 2: aggiungi il tuo ID app AdMob alla tua app

Androide

Aggiungi il tuo ID app AdMob al file AndroidManifest.xml della tua app aggiungendo il <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 del 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à:

Editor dell'elenco delle proprietà

Passaggio 3: aggiungi l'SDK Google Mobile Ads

Poiché l'SDK C++ di Google Mobile Ads risiede nello spazio dei nomi firebase::gma , scarica l' SDK C++ di Firebase e quindi decomprimilo in una directory di tua scelta.

L'SDK C++ di Firebase non è specifico della piattaforma, ma richiede configurazioni della libreria specifiche della piattaforma.

Androide

  1. Nel file gradle.properties del tuo progetto, specifica la posizione dell'SDK decompresso:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. 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"
  3. Al file Gradle del modulo (a livello di app) (di solito app/build.gradle ), aggiungi il contenuto seguente, che include la dipendenza dalla 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
    }
  4. 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}")
  5. Sincronizza la tua app per assicurarti che tutte le dipendenze abbiano le versioni necessarie.

Sei a posto! 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.

  1. Ottieni CocoaPods versione 1 o successiva eseguendo:

    sudo gem install cocoapods --pre
  2. Aggiungi il pod Google Mobile Ads dall'SDK decompresso.

    1. Crea un Podfile se non ne hai già uno:

      cd YOUR_APP_DIRECTORY
      pod init
    2. Al tuo Podfile, aggiungi il pod per l'SDK C++ di Google Mobile Ads:

      pod 'Google-Mobile-Ads-SDK'
    3. Installa il pod, quindi apri il file .xcworkspace in Xcode.

      pod install
      open YOUR_APP.xcworkspace
    4. Aggiungi i seguenti framework dall'SDK C++ di Firebase al progetto:

      • xcframeworks/firebase.xcframework
      • xcframeworks/firebase_gma.xcframework

Sei a posto! La tua app C++ è configurata per utilizzare l'SDK C++ di Google Mobile Ads.

Passaggio 4: inizializza l'SDK Google Mobile Ads

Prima di caricare gli annunci, inizializza Mobile Ads SDK 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 l'app chiama firebase::gma::Initialize() , viene creato e restituito un nuovo firebase::Future . La tua app può quindi eseguire il polling dello status() del Future per determinare quando l'inizializzazione è stata completata. Una volta completata, l'app può invocare result() per ottenere il risultante AdapterInitializationStatus .

I metodi che restituiscono un Future hanno un metodo "ultimo risultato" corrispondente che le app possono usare 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 relativo codice di errore è firebase::gma::kAdErrorCodeNone , l'operazione è stata completata correttamente.

Puoi anche registrare le richiamate da richiamare al completamento di un Future . In alcuni casi, il callback verrà eseguito in un thread diverso, quindi assicurati che il tuo codice sia thread-safe. Questo frammento di codice usa un puntatore a funzione per la richiamata:

// 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 per un formato dell'annuncio per visualizzare istruzioni dettagliate sull'implementazione nella documentazione di AdMob.

Annunci rettangolari 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 aggiornarsi automaticamente dopo un certo periodo di tempo. Se non conosci la pubblicità mobile, sono un ottimo punto di partenza.

Implementa banner pubblicitari

Interstiziale

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 durante le 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 interstitial

Premiato

Annunci che premiano gli utenti che guardano brevi video e interagiscono con annunci e sondaggi riproducibili

Gli annunci con premio (o "basati sui premi") possono aiutare a monetizzare gli utenti free-to-play.

Implementa annunci con premio

Altri argomenti di interesse

Visualizza le metriche utente e i dati analitici

Dopo l'inizializzazione, Mobile Ads SDK inizia automaticamente a registrare gli eventi di analisi e le proprietà dell'utente dalla tua app. Puoi visualizzare questi dati senza aggiungere codice aggiuntivo alla tua app o implementare annunci. Ecco dove puoi vedere questi dati analitici:

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ù funzioni 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

  • Usa 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.

    • Il test A/B ti dà 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 sulle tue metriche chiave (come entrate e fidelizzazione) prima di implementare ampiamente le modifiche.

Per iniziare, visita la guida all'utilizzo di Google Analytics e Firebase con le app AdMob .