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 UIViewController, un View o un Activity separato per ogni schermata che vuoi 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 in primo piano. 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 Activity distinto per ogni schermata, Analytics può monitorare automaticamente ogni transizione delle 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.

Disattivare il monitoraggio delle visualizzazioni schermo

La generazione automatica di report sulle visualizzazioni di schermata può essere disattivata su iOS impostando FirebaseAutomaticScreenReportingEnabled su NO (booleano) nel file Info.plist.

Su Android, annida 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 attivato. Puoi registrare questi eventi nei metodi onAppear o viewDidAppear per le piattaforme Apple e onResume per Android. Quando screen_class non è impostato, Analytics imposta un valore predefinito in base a UIViewController o Activity che è attiva quando viene effettuata la chiamata.

Se hai disattivato lo swizzling nella tua 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 sulla piattaforma di destinazione macOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Objective-C

Nota:questo prodotto Firebase non è disponibile sulla piattaforma di destinazione macOS.
[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,
  },
);