Mide las vistas de pantalla

Google Analytics hace un seguimiento de las transiciones de pantalla y adjunta información sobre la pantalla actual a los eventos, lo que te permite hacer un seguimiento de métricas como la participación de los usuarios o su comportamiento por pantalla. Gran parte de esta recopilación de datos ocurre automáticamente, aunque también puedes registrar las vistas de pantalla de forma manual. El seguimiento manual de las pantallas resulta útil si tu app no usa un UIViewController, View o Activity independiente para cada pantalla que quieras seguir, por ejemplo, en un juego.

Realiza un seguimiento automático de pantallas

Analytics hace un seguimiento automático de cierta información sobre las pantallas en la aplicación, como el nombre de clase del UIViewController o Activity en el que se enfoca. Cuando ocurre una transición de pantalla, Analytics registra un evento screen_view que identifica la pantalla nueva. Los eventos que ocurren en estas pantallas reciben una etiqueta automáticamente con el parámetro firebase_screen_class (por ejemplo, menuViewController o MenuActivity) y un firebase_screen_id generado. Si la app usa un UIViewController o Activity diferente para cada pantalla, Analytics puede hacer un seguimiento automático de cada transición de pantalla y generar un informe de participación de los usuarios, desglosado por pantalla. De lo contrario, puedes registrar los eventos de screen_view de forma manual para obtener estos informes.

Inhabilita el seguimiento de vista de pantalla

Los informes automáticos de vista de pantalla se pueden desactivar en iOS configurando FirebaseAutomaticScreenReportingEnabled como NO (booleano) en Info.plist.

En Android, anida el siguiente parámetro de configuración en la etiqueta <application> del archivo AndroidManifest.xml:

<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />

Realiza un seguimiento manual de pantallas

Puedes registrar los eventos screen_view de forma manual, independientemente de si el seguimiento automático está habilitado. Puedes registrar estos eventos en los métodos onAppear o viewDidAppear para plataformas de Apple y onResume para Android. Cuando no se configura screen_class, Analytics establece un valor predeterminado según el UIViewController o la actividad que está en primer plano cuando se realiza la llamada.

Si inhabilitaste el swizzling en la app, todos los nombres de pantalla deben configurarse de forma manual. Los usuarios de SwiftUI deben usar el SDK de extensión de Swift para Analytics.

Swift

Nota: Este producto de Firebase no está disponible en el segmento de macOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Objective-C

Nota: Este producto de Firebase no está disponible en el segmento de macOS.
[FIRAnalytics logEventWithName:kFIREventScreenView
                    parameters:@{kFIRParameterScreenClass: screenClass,
                                 kFIRParameterScreenName: screenName}];

Kotlin+KTX

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {
    param(FirebaseAnalytics.Param.SCREEN_NAME, screenName)
    param(FirebaseAnalytics.Param.SCREEN_CLASS, "MainActivity")
}

Java

Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.SCREEN_NAME, screenName);
bundle.putString(FirebaseAnalytics.Param.SCREEN_CLASS, "MainActivity");
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW, bundle);

API modular web

import { getAnalytics, logEvent } from "firebase/analytics";

const analytics = getAnalytics();
logEvent(analytics, 'screen_view', {
  firebase_screen: screenName, 
  firebase_screen_class: screenClass
});

API con espacio de nombres web

firebase.analytics().logEvent('screen_view', {
  firebase_screen: screenName, 
  firebase_screen_class: screenClass
});

Dart

await FirebaseAnalytics.instance.logEvent(
  name: 'screen_view',
  parameters: {
    'firebase_screen': screenName,
    'firebase_screen_class': screenClass,
  },
);