Misurare le visualizzazioni di schermata

Google Analytics monitora le transizioni tra le schermate e associa 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 pagina. Il monitoraggio manuale delle schermate è utile se l'app non utilizza UIViewController, View o Activity separati per ogni schermata che potresti voler monitorare, ad esempio in un gioco.

Monitorare 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 screen_view evento che identifica la nuova schermata. Gli eventi che si verificano su queste schermate vengono taggati automaticamente con il parametro firebase_screen_class (ad es.menuViewController o MenuActivity) e un valore 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 schermate e generare un report sul coinvolgimento degli utenti suddiviso per schermata. Se la tua app non lo fa, puoi comunque generare questi report registrando manualmente gli eventi screen_view.

Disattivare il monitoraggio delle visualizzazioni di pagina

I report automatici sulle visualizzazioni di schermata possono essere disattivati su iOS impostando FirebaseAutomaticScreenReportingEnabled su NO (booleano) nel file 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" />

Monitorare manualmente le schermate

Puoi registrare manualmente gli eventi screen_view indipendentemente dal fatto che il monitoraggio automatico sia attivo 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 al UIViewController o all'Activity attivo al momento della chiamata.

Se hai disattivato lo scambio nell'app, tutti i nomi delle schermate devono essere impostati manualmente. Gli utenti di SwiftUI devono utilizzare l'Analytics SDK di estensione Swift.

Swift

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

Objective-C

Nota: questo prodotto Firebase non è disponibile come target 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);

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