1. Introducción
Última actualización: 25/01/2021
Qué compilarás
En este codelab, aprenderás a implementar eventos personalizados con GA4F y a lanzar campañas de acción a través de Google Ads para la app de Flutter.
Usaremos la app de Flutter predeterminada con un widget de contador sencillo. Anunciaremos nuestra app a los usuarios potenciales que probablemente hagan clic en el widget de contador.

Qué aprenderás
- Cómo inicializar GA4F (Google Analytics para Firebase) en Flutter
- Cómo crear eventos y parámetros personalizados
- Cómo importar eventos de Firebase a Google Ads
- Cómo lanzar campañas de acción con eventos personalizados
Requisitos
- Android Studio 3.6 o una versión posterior
- Xcode (para compatibilidad con iOS)
- Cuenta de Firebase
- Cuenta de Google Ads
2. Inicia un nuevo proyecto de Flutter
Crea una app de Flutter simple a partir de una plantilla. Modificarás esta app inicial para este codelab.
Inicia Android Studio.
- Si no tienes proyectos abiertos, selecciona Start a new Flutter app en la página de bienvenida. De lo contrario, selecciona File > New > New Flutter Project.
- Selecciona Flutter Application como el tipo de proyecto y haz clic en Next.
- Verifica que la ruta del SDK de Flutter especifique la ubicación del SDK. Si el campo de texto está en blanco, selecciona Install SDK.
- Ingresa el nombre del proyecto y haz clic en Siguiente.
- Usa el nombre de paquete predeterminado que sugiere Android Studio y haz clic en Next.
- Haz clic en Finish.
- Espera a que Android Studio instale el SDK y cree el proyecto.
3. Crea y configura un proyecto de Firebase
Para comenzar con Firebase, deberás crear y configurar un proyecto de Firebase.
Crea un proyecto de Firebase
- Accede a Firebase.
En Firebase console, haz clic en Agregar proyecto (o Crear un proyecto) y asígnale un nombre como Firebase-Flutter-Ads o cualquier nombre que desees.

- Haz clic para avanzar por las opciones de creación de los proyectos. Acepta las condiciones de Firebase si se te solicita. Debes habilitar Google Analytics para este proyecto, ya que necesitas eventos de Google Analytics para realizar un seguimiento de los eventos de acción y analizar las conversiones.

Para obtener más información sobre los proyectos de Firebase, consulta la Información sobre los proyectos de Firebase.
4. Configuración de Firebase específica para cada plataforma (Android)
Configura Android
- En Firebase console, selecciona Descripción general del proyecto en el panel de navegación izquierdo y, luego, haz clic en el botón Android en “Comienza por agregar Firebase a tu app”.
Verás el diálogo que se muestra en la siguiente pantalla:

- El valor importante que se debe proporcionar es el nombre del paquete de Android, que obtendrás en el siguiente paso.
- En el directorio de tu app de Flutter, abre el archivo
android/app/src/main/AndroidManifest.xml. - En el elemento
manifest, busca el valor de la string del atributopackage. Este valor es el nombre del paquete de Android (similar acom.yourcompany.yourproject). Copia este valor. - En el cuadro de diálogo de Firebase, pega el nombre del paquete copiado en el campo
Android package name. - No necesitamos la clave SHA-1 aquí, a menos que planees usar Acceso con Google o Firebase Dynamic Links (ten en cuenta que estos pasos no forman parte de este codelab). Si planeas importar datos de
in_app_purchasedesde Google Play, tendrás que establecer la clave más adelante. - Haz clic en Registrar app.
- En Firebase, sigue las instrucciones para descargar el archivo de configuración
google-services.json.

- Ve al directorio de tu app de Flutter y mueve el archivo
google-services.json(que acabas de descargar) al directorioandroid/app. - Vuelve a Firebase console, omite los pasos restantes y regresa a la página principal de Firebase console.
- Por último, necesitas que el complemento de Gradle para los servicios de Google lea el archivo
google-services.jsonque generó Firebase. - En tu IDE o editor, abre
android/app/build.gradley agrega la siguiente línea como última línea en el archivo:
apply plugin: 'com.google.gms.google-services'
- Abre
android/build.gradley, luego, dentro de la etiquetabuildscript, agrega una nueva dependencia:
buildscript {
repositories {
// ...
}
dependencies {
// ...
Classpath 'com.google.gms:google-services:4.3.3'
}
}
- Si tu app todavía se está ejecutando, ciérrala y vuelve a compilarla para permitir que Gradle instale las dependencias.
Ya terminaste de configurar tu app de Flutter para Android. Si usas iOS, es posible que quieras consultar este codelab ( Conoce Firebase para Flutter).
5. Configura Firebase Analytics en Flutter
En este paso, comenzarás a usar el paquete de Firebase Analytics llamado firebase_analytics, que contiene funciones de Firebase Analytics.
El archivo pubspec administra los recursos para una app de Flutter. En pubspec.yaml, agrega firebase_analytics: ^6.2.0 (firebase_analytics 6.2.0 o versiones posteriores) a la lista de dependencias:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
firebase_analytics: ^6.2.0 # add this line
Mientras observas el archivo pubspec en la vista de edición de Android Studio, haz clic en Package get. Esto incorpora el paquete en tu proyecto. Deberías ver lo siguiente en la consola:
flutter packages get
Running "flutter packages get" in startup_namer...
Process finished with exit code 0
La ejecución de Pub get también genera automáticamente el archivo pubspec.lock con una lista de todos los paquetes que se incorporaron al proyecto y sus números de versión.
En lib/main.dart, importa el paquete nuevo:
import 'package:firebase_analytics/firebase_analytics.dart';
En la clase MyApp, inicia el objeto FirebaseAnalytics llamando al constructor.
class MyApp extends StatelessWidget {
static FirebaseAnalytics analytics = FirebaseAnalytics();
...
}
Ahora, ya puedes activar algunos registros de eventos personalizados.
6. Registra eventos personalizados con Firebase Analytics
Si ibas a generar una nueva plantilla en la app de Flutter, verías una variable _counter y el método _incrementCounter() dentro de la clase State predeterminada. Ahora, debes registrar eventos personalizados cuando algunos usuarios demasiado entusiastas hacen clic en el botón de incremento más de cinco veces. Más adelante, lanzaremos una campaña de aplicaciones para atraer potenciales usuarios entusiastas
Primero, queremos pasar los objetos de análisis que inicializamos al widget Stateful. Comenzaremos por agregar un parámetro de análisis al constructor de MyHomePage.
MyHomePage({Key key, this.title, this.analytics}) : super(key: key);
También agregarás un parámetro de análisis cuando llames al constructor.
home: MyHomePage(
title: 'Flutter Demo Home Page',
analytics: analytics,
),
Ahora, puedes registrar eventos fácilmente con el método logEvent(). Agrega el método y aumenta la variable _counter.
void _incrementCounter() {
setState(() {
_counter++;
//add this
if(_counter > 5) {
widget.analytics.logEvent(name: "clicked_counter");
}
});
}
Ahora, tu app está lista para activar el registro de eventos personalizados.
También puedes usar métodos precompilados para activar eventos.

Ya está todo listo. En tu Android Studio, ejecuta "main.dart".
(Opcional) Envío de información adicional a Firebase Analytics con parámetros
También puedes enviar información adicional a través de parámetros. Los parámetros personalizados se pueden registrar para generar de Analytics. También se pueden usar como filtros en las definiciones de públicos que se pueden aplicar a cada informe. Si tu app está vinculada a un proyecto de BigQuery, los parámetros personalizados también se encuentran en BigQuery (consulta BigQuery Export para Firebase).
En este caso, el valor de _counter se establece como parámetro.
void _incrementCounter() {
setState(() {
_counter++;
if(_counter > 5) {
widget.analytics.logEvent(name: "clicked_counter", parameters: {'count' : _counter});
}
});
}
Verificación y depuración de eventos
Después de algunas horas, puedes ver los eventos registrados en Firebase console. En la sección Analytics de Firebase console, haz clic en la pestaña Eventos. También puedes hacer clic en el evento para verificar los valores dentro del evento clicked_counter.

Para marcar clicked_counter como conversión, desliza el interruptor Marcar como conversión hacia la derecha.

Si el evento se encuentra en la pestaña Conversiones, quiere decir que lo marcaste correctamente como una conversión. Ahora Google Ads podrá importar este evento desde Firebase.
Para la depuración, usa Firebase DebugView. Si quieres obtener más información, consulta Cómo depurar un evento.
7. Importa eventos de estadísticas en Google Ads
Cuando hayas completado la configuración de la app de Firebase-Flutter, podrás lanzar campañas de aplicaciones con eventos de acción. Comienza por vincular Firebase a Google Ads. Si vinculas Firebase a Google Ads, las campañas de aplicaciones pueden importar eventos de Firebase. Este proceso también le permite a Google Ads a mejorar las campañas de aplicaciones porque les permite obtener más información sobre sus públicos.
- Ve a Configuración de Firebase. Para ello, haz clic en el botón que se encuentra junto a Descripción general del proyecto.
- En la pestaña Integraciones, verás Google Ads y un botón de vínculo. Haz clic en Vincular y, luego, en Continuar.

- Elige la cuenta de Google Ads.
Ya terminaste con Firebase.
Ve a Google Ads.
- Accede a tu cuenta y ve a Herramientas y configuración > Medición > Conversiones para importar eventos personalizados como conversiones.
- Haz clic en el botón + para agregar nuevas acciones de conversión.

- Elige Propiedades Google Analytics 4 (Firebase) y haz clic en Continuar.

- Puedes ver todos los eventos de Analytics que están marcados como conversiones. Encuentra el evento
clicked_counterque implementamos antes.

- Verifica la acción, haz clic en Importar y, luego, en Continuar.

Después de establecer clicked_counter como una acción de conversión, puedes lanzar campañas de acciones que se con la posibilidad de orientar a usuarios que probablemente activarán eventos clicked_counter más de 5 veces.
8. Lanzamiento de las campañas de acciones de la app con eventos importados
- Ve a la pestaña Campaña de tu cuenta actual y haz clic en el botón + para iniciar una campaña nueva. Haz clic en [Campaña nueva] y, luego, en Continuar.
- Lanza una campaña de promoción de aplicación con la opción Instalaciones de aplicaciones.

- Para encontrar tu app, escribe el nombre de la app, el nombre del paquete o el publicador.
- En la sección Ofertas, selecciona Acciones en la aplicación en el menú desplegable.
- Busca tu evento personalizado en la lista proporcionada. Establece el costo por acción objetivo y completa las opciones adicionales.

- Finaliza la configuración de tu campaña.
9. Felicitaciones
Felicitaciones, integraste correctamente Firebase y Google Ads. Esto lo ayudará a mejorar el rendimiento de su campaña con los eventos importados de Firebase.
Aprendiste lo siguiente:
- Cómo configurar Firebase Analytics para Flutter
- Cómo registrar eventos personalizados con Firebase Analytics en la app de Flutter
- Cómo importar eventos y usarlos para campañas de acción
