Medir visualizaciones de pantalla

Google Analytics rastrea las transiciones de pantalla y adjunta información sobre la pantalla actual a los eventos, lo que le permite realizar un seguimiento de métricas como la participación del usuario o el comportamiento del usuario por pantalla. Gran parte de esta recopilación de datos se realiza automáticamente, pero también puedes registrar vistas de pantalla manualmente. El seguimiento manual de pantallas es útil si su aplicación no utiliza un UIViewController , View o Activity independiente para cada pantalla que desee realizar un seguimiento, como en un juego.

Seguimiento automático de pantallas

Analytics rastrea automáticamente cierta información sobre las pantallas de su aplicación, como el nombre de clase de UIViewController o Activity que está actualmente enfocada. Cuando se produce una transición de pantalla, Analytics registra un evento screen_view que identifica la nueva pantalla. Los eventos que ocurren en estas pantallas se etiquetan automáticamente con el parámetro firebase_screen_class (por ejemplo, menuViewController o MenuActivity ) y un firebase_screen_id generado. Si su aplicación utiliza un UIViewController o Activity distinto para cada pantalla, Analytics puede rastrear automáticamente cada transición de pantalla y generar un informe de participación del usuario desglosado por pantalla. Si su aplicación no lo hace, aún puede obtener estos informes registrando manualmente los eventos screen_view .

Deshabilitar el seguimiento de vistas de pantalla

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

Y en Android, anide la siguiente configuración dentro de la etiqueta <application> del archivo AndroidManifest.xml :

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

Seguimiento manual de pantallas

Puede registrar manualmente eventos screen_view independientemente de que el seguimiento automático esté habilitado o no. Puede registrar estos eventos en los métodos onAppear o viewDidAppear para plataformas Apple y onResume para Android. Cuando no se establece screen_class , Analytics establece un valor predeterminado basado en UIViewController o Actividad que está enfocado cuando se realiza la llamada.

Si ha desactivado el swizzling en su aplicación, todos los nombres de pantalla deben configurarse manualmente. Para los usuarios de SwiftUI, utilice el SDK de la extensión Analytics Swift .

Rápido

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

C objetivo

Nota: Este producto de Firebase no está disponible en el destino 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,
  },
);