Misurare le visualizzazioni di schermata

Google Analytics monitora le transizioni tra le schermate e allega informazioni sulla schermata corrente agli eventi, consentendoti di monitorare metriche come il coinvolgimento o il comportamento degli utenti per schermata. Gran parte di questa raccolta dei dati avviene automaticamente, ma puoi anche registrare manualmente le visualizzazioni di schermata. Il monitoraggio manuale delle schermate è utile se la tua app non utilizza un elemento UIViewController, View o Activity separato per ogni schermata che vuoi monitorare, ad esempio in un gioco.

Monitora automaticamente le schermate

Analytics monitora automaticamente alcune informazioni sulle schermate della tua applicazione, ad esempio il nome della classe di UIViewController o Activity attualmente attiva. Quando si verifica una transizione sullo schermo, Analytics registra un evento screen_view che identifica la nuova schermata. Gli eventi che si verificano in queste schermate vengono taggati automaticamente con il parametro firebase_screen_class (ad esempio menuViewController o MenuActivity) e un firebase_screen_id generato. Se la tua app utilizza un UIViewController o un Activity distinto per ogni schermata, Analytics può monitorare automaticamente ogni transizione tra le schermate e generare un report sul coinvolgimento degli utenti suddiviso per schermata. Se la tua app non lo fa, puoi comunque ottenere questi report registrando manualmente gli eventi screen_view.

Disattiva il monitoraggio delle visualizzazioni di schermata

I report automatici sulle visualizzazioni di schermata possono essere disattivati su iOS impostando FirebaseAutomaticScreenReportingEnabled su NO (booleano) in Info.plist.

Su Android, nidifica la seguente impostazione all'interno del tag <application> del file AndroidManifest.xml:

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

Monitora manualmente le schermate

Puoi registrare manualmente gli eventi screen_view indipendentemente dal fatto che il monitoraggio automatico sia attivato o meno. Puoi registrare questi eventi nei metodi onAppear o viewDidAppear per le piattaforme Apple e onResume per Android. Se screen_class non è impostato, Analytics imposta un valore predefinito in base alla classe UIViewController o Activity attiva quando viene effettuata la chiamata.

Se hai disattivato lo swizzling nell'app, tutti i nomi delle schermate devono essere impostati manualmente. Per gli utenti di SwiftUI, utilizza l'Analytics SDK di estensione Swift.

Swift

Nota: questo prodotto Firebase non è disponibile per il target watchOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                               AnalyticsParameterScreenClass: screenClass])

Objective-C

Nota: questo prodotto Firebase non è disponibile per il target watchOS.
[FIRAnalytics logEventWithName:kFIREventScreenView
                    parameters:@{kFIRParameterScreenClass: screenClass,
                                 kFIRParameterScreenName: screenName}];

Kotlin

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);

Web

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

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

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,
  },
);