Configurar el servicio Google Analytics con Flutter
Instalar el paquete Firebase Analytics
El primer paso para configurar Firebase Analytics es agregar los paquetes necesarios en tu aplicación. Sigue estos pasos:
- Abre el archivo
pubspec.yaml
de tu proyecto. - Agrega las siguientes dependencias:
dependencies:
firebase_analytics: latest_version
firebase_core: latest_version
3. Instala las dependencias ejecutando el comando:
flutter pub get
4. Importa los paquetes necesarios en tu archivo Dart principal:
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_analytics/firebase_analytics.dart';
import 'package:firebase_analytics/observer.dart';
Firebase Analytics ya está instalado en tu aplicación, pero aún hay algunos pasos que completar antes de poder usarlo.
Actualizar los archivos Gradle y Android Manifest
Para que Firebase Analytics funcione correctamente con tu proyecto Android, es posible que debas modificar algunos archivos de configuración.
android/build.gradle
En el archivo android/build.gradle
, agrega las siguientes líneas en la sección dependencies
:
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.4.2' // Asegúrate de usar la última versión
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.2' // Asegúrate de usar la última versión
}
}
android/settings.gradle
Abre el archivo android/settings.gradle
y agrega estas líneas en la sección plugins {}
para incluir los plugins Google Services y Firebase Crashlytics:
gradleCopier le codeplugins {
id 'com.google.gms.google-services' version '4.3.15' apply false // Asegúrate de usar la última versión
id "com.google.firebase.crashlytics" version "2.8.1" apply false // Asegúrate de usar la última versión
}
Esto asegura que los plugins necesarios estén disponibles en tu proyecto.
android/app/build.gradle
En el archivo android/app/build.gradle
, agrega los plugins Google Services y Crashlytics:
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
Estas líneas deben añadirse al final del archivo.
AndroidManifest.xml
En tu archivo AndroidManifest.xml
, activa Firebase Analytics añadiendo esta línea en la sección <application>
:
<meta-data android:name="firebase_analytics_collection_enabled" android:value="true" />
Esto garantiza que la recopilación de datos analíticos esté habilitada.
Inicializar Firebase Analytics en tu aplicación Flutter
Antes de usar Firebase Analytics, debes inicializar Firebase en tu aplicación. En tu archivo Dart principal (generalmente main.dart
), añade esta línea para inicializar Firebase en la función principal (main
):
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
En tu State
o Widget
principal, crea una instancia reutilizable de Firebase Analytics:
class MyApp extends StatelessWidget {
static FirebaseAnalytics analytics = FirebaseAnalytics.instance;
static FirebaseAnalyticsObserver observer = FirebaseAnalyticsObserver(analytics: analytics);
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: <NavigatorObserver>[observer], // Añade el observer aquí
home: HomeScreen(),
);
}
}
El observer
permite rastrear las interacciones del usuario dentro de la aplicación. Al añadirlo a navigatorObservers
, registra automáticamente los eventos de navegación.
Registrar eventos analíticos personalizados
Una vez que Firebase Analytics esté configurado, puedes registrar eventos personalizados para seguir las acciones de los usuarios. Crea una clase dedicada para gestionar estos eventos:
class AnalyticsService {
final FirebaseAnalytics _analytics = FirebaseAnalytics.instance;
Future<void> sendAnalyticsEvent(String nameValue, String kindOfEvent, String eventValue) async {
await _analytics.logEvent(
name: nameValue,
parameters: <String, Object>{
'kind': kindOfEvent,
'value': eventValue,
},
);
}
}
Esta clase permite registrar eventos llamando al método logEvent
. Acepta tres parámetros:
- nameValue: El nombre genérico del evento (por ejemplo,
button_click
). - kindOfEvent: La categoría o tipo del evento (por ejemplo,
action
). - eventValue: El valor asociado al evento (por ejemplo,
button_back
).
Luego, utiliza la clase AnalyticsService
para registrar un evento específico cuando ciertas acciones ocurren en tu aplicación. Por ejemplo, para registrar un clic en un botón, puedes usar el siguiente código:
AnalyticsService().sendAnalyticsEvent(
"Create question",
"Type of question",
"Réponses multiples",
);
Verificar que los eventos se están registrando correctamente en Analytics
Una vez que los eventos estén configurados, solo queda verificar que la información llegue correctamente a Google Analytics. Aquí te mostramos algunas formas de hacerlo.
Usar ADB Logcat
La primera manera de verificar que los eventos se están enviando correctamente a Firebase Analytics es utilizando el comando adb logcat
en tu emulador o dispositivo Android. Abre una terminal adicional y ejecuta el siguiente comando:
adb logcat -v time -s FA FA-SVC
Este comando mostrará los registros en tiempo real para Firebase Analytics y te permitirá ver si tus eventos se están enviando correctamente.
Vista de depuración de Firebase (Firebase DebugView)
Firebase ofrece una vista de depuración en tiempo real en la consola de Firebase para ver inmediatamente los eventos generados por la aplicación.
Pasos para usar DebugView:
- Activar el modo de depuración: En tu emulador o dispositivo físico, ejecuta el siguiente comando en la terminal para activar el modo de depuración para Firebase Analytics:
adb shell setprop debug.firebase.analytics.app PACKAGE_NAME
Reemplaza PACKAGE_NAME por el nombre del paquete de tu aplicación (generalmente definido en el archivo AndroidManifest.xml).
- Abrir Firebase DebugView:
Inicia sesión en la consola de Firebase y selecciona tu proyecto. Luego ve a Analytics > DebugView.
Verás los eventos enviados en tiempo real desde tu aplicación mientras la usas. Los eventos aparecerán como puntos en una línea de tiempo y, al hacer clic sobre ellos, podrás ver los detalles de cada evento.
- Desactivar el modo de depuración: Una vez que hayas terminado, desactiva el modo de depuración con este comando:
adb shell setprop debug.firebase.analytics.app .none.
Consola de Firebase Analytics (Tablero de eventos)
Firebase Analytics ofrece una interfaz de usuario en la consola de Firebase para mostrar los eventos registrados en la aplicación. A diferencia de DebugView, generalmente toma entre 24 y 48 horas para que los eventos aparezcan en este tablero. Así que tendrás que esperar un poco antes de poder verificar que todo esté funcionando.
Aquí tienes los pasos a seguir:
- Ve a Firebase Console > Analytics > Events.
- Verás una lista de todos los eventos enviados por tu aplicación.
- Haz clic sobre un evento para ver sus detalles, incluyendo el número de ocurrencias, los parámetros asociados y las tendencias.
Conclusión
Siguiendo estos pasos, ahora has integrado Google Analytics en tu aplicación Flutter y eres capaz de seguir las interacciones de los usuarios a través de eventos personalizados. No olvides probar tus eventos y verificar los registros para asegurarte de que todos los datos se envían correctamente a Firebase. Google Analytics te proporcionará una visión completa del uso de tu aplicación y te ayudará a tomar decisiones basadas en datos.