Mesurer les vues d'écran

Google Analytics suit les transitions d'écran et associe des informations sur l'écran actuel aux événements, vous permettant de suivre des mesures telles que l'engagement des utilisateurs ou le comportement des utilisateurs par écran. Une grande partie de cette collecte de données s'effectue automatiquement, mais vous pouvez également enregistrer manuellement les vues d'écran. Le suivi manuel des écrans est utile si votre application n'utilise pas de UIViewController , View ou Activity distinct pour chaque écran que vous souhaitez suivre, comme dans un jeu.

Suivre automatiquement les écrans

Analytics suit automatiquement certaines informations sur les écrans de votre application, telles que le nom de classe du UIViewController ou Activity actuellement active. Lorsqu'une transition d'écran se produit, Analytics enregistre un événement screen_view qui identifie le nouvel écran. Les événements qui se produisent sur ces écrans sont automatiquement marqués avec le paramètre firebase_screen_class (par exemple, menuViewController ou MenuActivity ) et un firebase_screen_id généré. Si votre application utilise un UIViewController ou Activity distinct pour chaque écran, Analytics peut automatiquement suivre chaque transition d'écran et générer un rapport sur l'engagement des utilisateurs ventilé par écran. Si ce n'est pas le cas de votre application, vous pouvez toujours obtenir ces rapports en enregistrant manuellement les événements screen_view .

Désactiver le suivi des vues d'écran

Les rapports automatiques d'affichage d'écran peuvent être désactivés sur iOS en définissant FirebaseAutomaticScreenReportingEnabled sur NO (Boolean) dans Info.plist.

Et sur Android, imbriquez le paramètre suivant dans la balise <application> du fichier AndroidManifest.xml :

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

Suivre manuellement les écrans

Vous pouvez enregistrer manuellement les événements screen_view , que le suivi automatique soit activé ou non. Vous pouvez enregistrer ces événements dans les méthodes onAppear ou viewDidAppear pour les plateformes Apple et onResume pour Android. Lorsque screen_class n'est pas défini, Analytics définit une valeur par défaut basée sur le UIViewController ou l'activité qui est active lorsque l'appel est effectué.

Si vous avez désactivé le swizzling dans votre application, tous les noms d'écran doivent être définis manuellement. Pour les utilisateurs de SwiftUI, utilisez le SDK d'extension Analytics Swift .

Rapide

Remarque : Ce produit Firebase n'est pas disponible sur la cible macOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Objectif c

Remarque : Ce produit Firebase n'est pas disponible sur la cible 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 modulaire Web

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

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

API avec espace de noms 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,
  },
);