了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Misura le visualizzazioni dello schermo

Google Analytics tiene traccia delle transizioni delle schermate e allega informazioni sulla schermata corrente agli eventi, consentendoti di monitorare metriche come il coinvolgimento degli utenti o il comportamento degli utenti 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 l'app non usa un UIViewController , View o Activity separato per ogni schermata che potresti voler monitorare, ad esempio in un gioco.

Monitora automaticamente gli schermi

Analytics tiene automaticamente traccia di alcune informazioni sulle schermate nell'applicazione, ad esempio il nome della classe UIViewController o Activity attualmente attiva. Quando si verifica una transizione di schermata, Analytics registra un evento screen_view che identifica la nuova schermata. Gli eventi che si verificano su queste schermate vengono contrassegnati 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 di schermata e generare un rapporto sul coinvolgimento degli utenti suddiviso per schermata. In caso contrario, puoi comunque ottenere questi rapporti registrando manualmente gli eventi screen_view .

Disabilita il monitoraggio della visualizzazione dello schermo

I rapporti automatici di visualizzazione dello schermo possono essere disattivati ​​su iOS impostando FirebaseAutomaticScreenReportingEnabled su NO (booleano) in Info.plist.

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

Traccia manualmente gli schermi

Puoi registrare manualmente gli eventi screen_view indipendentemente dal fatto che il tracciamento 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 basato su UIViewController o Activity che è attivo 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 .

Rapido

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

Web version 9

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

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

Web version 8

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