Esta guía de inicio rápido está destinada a editores y desarrolladores que deseen utilizar AdMob para monetizar una aplicación creada con Firebase.
Si aún no lo ha hecho, conozca todos los beneficios de usar AdMob, Firebase y Google Analytics juntos.
Si es la primera vez que consulta esta guía, le recomendamos que la descargue y la siga usando la aplicación de prueba del SDK de C++ de Google Mobile Ads .
Antes de que empieces
Si aún no tiene un proyecto de Firebase y una aplicación de Firebase, siga la guía de introducción de Firebase: Agregue Firebase a su proyecto de C++ .
Asegúrate de que Google Analytics esté habilitado en tu proyecto de Firebase:
Si está creando un nuevo proyecto de Firebase, habilite Google Analytics durante el flujo de trabajo de creación del proyecto.
Si tiene un proyecto de Firebase existente que no tiene habilitado Google Analytics, puede habilitar Google Analytics desde la pestaña Integraciones de su > Configuración del proyecto .
Paso 1: Configure su aplicación en su cuenta de AdMob
Registre cada variante de plataforma de su aplicación como una aplicación de AdMob.
Inicie sesión o regístrese 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á 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.
Vincule cada una de sus aplicaciones de AdMob a la aplicación de Firebase correspondiente.
Este paso es opcional pero muy recomendable. Obtenga más información sobre los beneficios de habilitar las métricas de usuario y vincular sus 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 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 su aplicación de AdMob a Firebase.
Vincule su aplicación de AdMob a su proyecto de Firebase existente y 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: agregue su ID de aplicación de AdMob a su aplicación
Androide
Agregue su ID de 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 .
Puedes hacer este cambio programáticamente:
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 --> <key>GADApplicationIdentifier</key> <string>ADMOB_APP_ID</string>
O edítelo en el editor de listas de propiedades:
Paso 3: agregue el SDK de anuncios de Google para móviles
Dado que el SDK de C++ de Google Mobile Ads reside en el espacio de nombres firebase::gma
, descargue el SDK de Firebase C++ y luego descomprímalo en un directorio de su elección.
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"
A su archivo Gradle de módulo (a nivel de aplicación) (generalmente
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 de C++ está configurada para usar el SDK de C++ de Google Mobile Ads.
iOS
Los pasos de esta sección son un ejemplo de cómo agregar el SDK de C++ de Google Mobile Ads a su proyecto de iOS.
Obtenga CocoaPods versión 1 o posterior ejecutando:
sudo gem install cocoapods --pre
Agregue el pod de Google Mobile Ads desde el SDK descomprimido.
Cree un Podfile si aún no tiene uno:
cd YOUR_APP_DIRECTORY
pod init
A su Podfile, agregue el pod para el SDK de C++ de Google Mobile Ads:
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 de C++ está configurada para usar el SDK de C++ de Google Mobile Ads.
Paso 4: inicialice el SDK de anuncios de Google para móviles
Antes de cargar anuncios, inicialice el SDK de anuncios móviles llamando a 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 a 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. }
Use un Future
para monitorear el estado de finalización de una llamada de método
A Future
le proporciona una forma de determinar el estado de finalización de sus llamadas a métodos asincrónicos.
Por ejemplo, cuando tu aplicación llama a 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 completada, 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 su aplicación puede usar para verificar el estado de la última llamada a firebase::gma::Initialize()
.
Si el estado de Future
es completo y su código de error es firebase::gma::kAdErrorCodeNone
, la operación se completó correctamente.
También puede registrar devoluciones de llamada para que se invoquen 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 implementarlo en su aplicación
AdMob ofrece varios formatos de anuncios diferentes, por lo que puede elegir el formato que mejor se adapte a la experiencia del usuario de su aplicación. Haga clic en un botón de un formato de anuncio para ver las instrucciones de implementación detalladas 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, es un excelente lugar para comenzar.
Implementar anuncios publicitariosintersticial
Anuncios a 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 encuestas y anuncios reproducibles
Los anuncios con recompensas (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 Mobile Ads 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 la consola de Firebase, puede 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 la consola de Firebase.
Tenga en cuenta que para representar mejor las métricas de 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 ( aprender cómo ).
(Opcional) Use 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:
Agregar y usar 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 los datos del evento
ecommerce_purchase
en el cálculo de ingresos para las métricas ARPU y ARPPU .
Para obtener más información, visite la guía para usar Google Analytics y Firebase con las aplicaciones de AdMob .
Use 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 los 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.