Esta guía de inicio rápido está dirigida a editores y desarrolladores que desean utilizar AdMob para monetizar una aplicación creada con Firebase. Si no planeas incluir Firebase en tu aplicación, visita la guía independiente de AdMob .
Si aún no lo ha hecho, conozca todos los beneficios de utilizar AdMob, Firebase y Google Analytics juntos.
Si es la primera vez que lees esta guía, te recomendamos que descargues y sigas la aplicación de prueba del SDK de C++ de anuncios móviles de Google .
Antes de que empieces
Si aún no tienes un proyecto de Firebase y una aplicación de Firebase, sigue la guía de introducción de Firebase: Agrega Firebase a tu proyecto de C++ .
Asegúrese de que Google Analytics esté habilitado en su proyecto de Firebase:
Si estás creando un nuevo proyecto de Firebase, habilita Google Analytics durante el flujo de trabajo de creación del proyecto.
Si tiene un proyecto de Firebase existente que no tiene Google Analytics habilitado, puede habilitar Google Analytics desde la pestaña Integraciones de su
Paso 1: configura tu aplicación en tu cuenta de AdMob
Registre cada variante de plataforma de su aplicación como una aplicación de AdMob. Inicia sesión o regístrate para obtener una cuenta de AdMob. Registre cada variante de plataforma de su aplicación con AdMob . Este paso crea una aplicación de AdMob con un ID de aplicación de AdMob único que necesitarás más adelante en esta guía.
Se le pedirá que agregue el SDK de anuncios móviles a su aplicación. Encuentre instrucciones detalladas para esta tarea más adelante en esta guía. Vincula cada una de tus aplicaciones de AdMob a la aplicación de Firebase correspondiente. Este paso es opcional pero muy recomendable. Obtén más información sobre los beneficios de habilitar las métricas de usuario y vincular tus aplicaciones de AdMob a Firebase. Para cada variante de plataforma, complete los dos pasos siguientes en el panel de aplicaciones de su cuenta de AdMob: Habilite las Métricas de usuario para permitir que AdMob procese y muestre datos analíticos seleccionados en su cuenta de AdMob. También es una configuración obligatoria para vincular tu aplicación de AdMob a Firebase. Vincula tu aplicación de AdMob a tu proyecto de Firebase existente y a la aplicación de Firebase correspondiente. Asegúrese de ingresar el mismo nombre de paquete (Android) o ID de paquete (iOS) que ingresó para su aplicación Firebase. Busque el nombre del paquete o el ID del paquete de su aplicación Firebase en la tarjeta Sus aplicaciones de su Configuración del proyecto . >
Paso 2: Añade el ID de tu aplicación de AdMob a tu aplicación
Androide
AndroidManifest.xml
de su aplicación agregando la etiqueta <meta-data>
como se muestra a continuación.
<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
Info.plist
de su aplicación, agregue una clave GADApplicationIdentifier
con un valor de cadena de su ID de aplicación de AdMob .
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
Paso 3: agregue el SDK de anuncios de Google para móviles
firebase::gma
, descargue el SDK de C++ de Firebase y luego descomprímalo en el directorio que elija.
Androide
En el archivo gradle.properties
de su proyecto, especifique la ubicación del SDK descomprimido:systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK Al archivo settings.gradle
de su proyecto, agregue el siguiente contenido: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 archivo Gradle de su módulo (nivel de aplicación) (normalmente app/build.gradle
), agregue el siguiente contenido, que incluye la dependencia de la biblioteca para el SDK de C++ de 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 archivo CMakeLists.txt
de su proyecto, agregue el siguiente contenido.# 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}") Sincronice su aplicación para asegurarse de que todas las dependencias tengan las versiones necesarias.
iOS
Obtenga CocoaPods versión 1 o posterior ejecutando: sudo gem install cocoapods --pre
Agregue el pod de anuncios de Google para móviles desde el SDK descomprimido. Crea un Podfile si aún no tienes uno: cd YOUR_APP_DIRECTORY
pod init
A su Podfile, agregue el pod para el SDK de C++ de anuncios de Google para móviles: pod 'Google-Mobile-Ads-SDK'
Instale el pod, luego abra el archivo .xcworkspace
en Xcode.pod install
open YOUR_APP.xcworkspace
Agregue los siguientes marcos del SDK de Firebase C++ al proyecto: xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
Paso 4: inicialice el SDK de anuncios de Google para móviles
firebase::gma::Initialize()
.
firebase::Future
que se completa una vez que finaliza la inicialización (o después de un tiempo de espera de 30 segundos). Llame a este método solo una vez y lo antes posible, idealmente al iniciar la aplicación.
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. }
Utilice un Future
para monitorear el estado de finalización de una llamada a un método
Future
para monitorear el estado de finalización de una llamada a un métodoFuture
le proporciona una manera de determinar el estado de finalización de sus llamadas a métodos asincrónicos.
firebase::gma::Initialize()
, se crea y se devuelve un nuevo firebase::Future
. Luego, su aplicación puede sondear el status()
del Future
para determinar cuándo se completó la inicialización. Una vez completado, su aplicación puede invocar result()
para obtener el AdapterInitializationStatus
resultante.
Future
tienen un método de "último resultado" correspondiente que las aplicaciones pueden usar para recuperar el Future
más reciente para una acción determinada. Por ejemplo, firebase::gma::Initialize()
tiene un método correspondiente llamado firebase::gma::InitializeLastResult()
, que devuelve un Future
que tu aplicación puede usar para verificar el estado de la última llamada a firebase::gma::Initialize()
.
Future
es completo y su código de error es firebase::gma::kAdErrorCodeNone
, entonces la operación se completó correctamente.
Future
. En algunos casos, la devolución de llamada se ejecutará en un subproceso diferente, así que asegúrese de que su código sea seguro para subprocesos. Este fragmento de código utiliza un puntero de función para la devolución de llamada:
// 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. } }
Paso 5: elija un formato de anuncio para implementar en su aplicación
Bandera
intersticial
Anuncios de pantalla completa que cubren la interfaz de una aplicación hasta que el usuario la cierra.
Los anuncios intersticiales se utilizan mejor en pausas naturales en el flujo de ejecución de una aplicación, como entre niveles de un juego o justo después de completar una tarea.
Implementar anuncios intersticialesRecompensado
Anuncios que recompensan a los usuarios por ver videos cortos e interactuar con anuncios y encuestas reproducibles.
Los anuncios bonificados (o "basados en recompensas") pueden ayudar a monetizar a los usuarios de juegos gratuitos.
Implementar anuncios recompensados
Otros temas de interés
Ver métricas de usuario y datos analíticos
Después de su inicialización, el SDK de anuncios móviles comienza a registrar automáticamente eventos analíticos y propiedades de usuario desde su aplicación. Puede ver estos datos sin agregar ningún código adicional a su aplicación ni implementar ningún anuncio. Aquí es donde puede ver estos datos analíticos:
En la tarjeta Métricas de usuario de su cuenta de AdMob ( Inicio o Panel de aplicaciones ), puede ver métricas de usuario seleccionadas derivadas de los datos analíticos recopilados, como la duración promedio de la sesión, el ARPU y la retención.
En el panel de Análisis de Firebase console, puedes ver estadísticas agregadas y resúmenes de métricas clave . Si agrega el SDK de Firebase para Google Analytics , también puede marcar conversiones para campañas publicitarias y crear audiencias personalizadas en Firebase console.
Tenga en cuenta que para representar mejor las métricas ARPU y ARPPU , es posible que desee incluir datos de un evento personalizado de análisis llamado ecommerce_purchase
en el cálculo de ingresos para estas métricas ( obtenga más información ).
(Opcional) Utilice más funciones de Google Analytics y Firebase
Aproveche más oportunidades y funciones para mejorar la monetización de la aplicación y la participación de los usuarios:
Agregue y use el SDK de Firebase para Google Analytics
Implemente el registro de eventos personalizado en su aplicación.
Marque las conversiones para campañas publicitarias personalizadas .
Incluya datos del evento
ecommerce_purchase
en el cálculo de ingresos para las métricas ARPU y ARPPU .
Para obtener más información, visita la guía para usar Google Analytics y Firebase con aplicaciones de AdMob .
Utilice otros productos de Firebase en su aplicación
Después de agregar el SDK de Firebase para Google Analytics, use otros productos de Firebase para optimizar los anuncios en su aplicación.
Remote Config le permite cambiar el comportamiento y la apariencia de su aplicación sin publicar una actualización de la aplicación, sin costo alguno, para usuarios activos diarios ilimitados.
Las pruebas A/B le brindan el poder de probar cambios en la interfaz de usuario, las funciones o las campañas de participación de su aplicación para saber si tienen un impacto en sus métricas clave (como ingresos y retención) antes de implementar los cambios ampliamente.