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
Agregue el ID de su aplicación de AdMob al archivo 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
En el archivo Info.plist
de su aplicación, agregue una clave GADApplicationIdentifier
con un valor de cadena de su ID de aplicación de AdMob .
Puede realizar este cambio mediante programación:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
O edítelo en el editor de lista de propiedades:
Paso 3: agregue el SDK de anuncios de Google para móviles
Dado que el SDK de C++ de anuncios de Google para dispositivos móviles reside en el espacio de nombres firebase::gma
, descargue el SDK de C++ de Firebase y luego descomprímalo en el directorio que elija.
El SDK de Firebase C++ no es específico de la plataforma, pero requiere configuraciones de biblioteca específicas de la plataforma.
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.
¡Estás listo! Su aplicación C++ está configurada para utilizar el SDK de C++ de anuncios de Google para móviles.
iOS
Los pasos de esta sección son un ejemplo de cómo agregar el SDK de C++ de anuncios de Google para móviles a su proyecto de 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
-
¡Estás listo! Su aplicación C++ está configurada para utilizar el SDK de C++ de anuncios de Google para móviles.
Paso 4: inicialice el SDK de anuncios de Google para móviles
Antes de cargar anuncios, inicialice el SDK de anuncios móviles llamando firebase::gma::Initialize()
.
Esta llamada devuelve un 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.
Aquí hay un ejemplo de cómo llamar 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
A Future
le proporciona una manera de determinar el estado de finalización de sus llamadas a métodos asincrónicos.
Por ejemplo, cuando tu aplicación llama 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.
Los métodos que devuelven un 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()
.
Si el estado del Future
es completo y su código de error es firebase::gma::kAdErrorCodeNone
, entonces la operación se completó correctamente.
También puede registrar devoluciones de llamada que se invocarán cuando se complete un 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
AdMob ofrece varios formatos de anuncios diferentes, por lo que puedes elegir el formato que mejor se adapte a la experiencia del usuario de tu aplicación. Haga clic en un botón para elegir un formato de anuncio y ver instrucciones detalladas de implementación en la documentación de AdMob.
Bandera
Anuncios rectangulares que aparecen en la parte superior o inferior de la pantalla del dispositivo.
Los anuncios publicitarios permanecen en la pantalla mientras los usuarios interactúan con la aplicación y pueden actualizarse automáticamente después de un cierto período de tiempo. Si es nuevo en la publicidad móvil, son un excelente lugar para comenzar.
Implementar anuncios publicitariosintersticial
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.