Misura le visualizzazioni dello schermo

Google Analytics tiene traccia delle transizioni dello schermo e allega informazioni sulla schermata corrente agli eventi, consentendoti di monitorare metriche quali il coinvolgimento o il comportamento dell'utente per schermata. Gran parte di questa raccolta di dati avviene automaticamente, ma puoi anche registrare manualmente le visualizzazioni dello schermo. Il monitoraggio manuale delle schermate è utile se la tua app non utilizza UIViewController , View o Activity separati per ogni schermata che potresti voler monitorare, ad esempio in un gioco.

Traccia automaticamente le schermate

Analytics tiene traccia automaticamente di alcune informazioni sulle schermate dell'applicazione, ad esempio il nome della classe UIViewController o Activity attualmente attiva. Quando si verifica una transizione da una schermata all'altra, Analytics registra un evento screen_view che identifica la nuova schermata. Gli eventi che si verificano su queste schermate vengono automaticamente contrassegnati 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 distinta per ogni schermata, Analytics può monitorare automaticamente ogni transizione dello schermo e generare un report sul coinvolgimento degli utenti suddiviso per schermata. Se la tua app non lo fa, puoi comunque ottenere questi rapporti registrando manualmente gli eventi screen_view .

Disabilita il monitoraggio della visualizzazione dello schermo

Il reporting automatico della visualizzazione dello schermo può essere disattivato su iOS impostando FirebaseAutomaticScreenReportingEnabled su NO (Booleano) in Info.plist.

E 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" />

Traccia manualmente le schermate

È possibile registrare manualmente gli eventi screen_view indipendentemente dal fatto che il monitoraggio automatico sia abilitato o meno. 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 all'UIViewController o all'attività 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 SwiftUI, utilizza l' SDK dell'estensione Analytics Swift .

Veloce

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

Obiettivo-C

Nota: questo prodotto Firebase non è disponibile sulla destinazione 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 modulare Web

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

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

API con spazio dei nomi 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,
  },
);