Google Analytics śledzi przejścia między ekranami i dołącza do zdarzeń informacje o bieżącym ekranie, co umożliwia śledzenie danych, takich jak zaangażowanie lub zachowanie użytkowników, na poszczególnych ekranach. Znaczna część tego zbierania danych odbywa się automatycznie, ale możesz też ręcznie rejestrować wyświetlenia ekranu. Ręczne śledzenie ekranów jest przydatne, jeśli aplikacja nie używa osobnego elementu UIViewController, View lub Activity dla każdego ekranu, który chcesz śledzić, np. w grze.
Automatyczne śledzenie ekranów
Analytics automatycznie śledzi niektóre informacje o ekranach w aplikacji, np. nazwę klasy UIViewController lub Activity, która jest obecnie aktywna. Gdy następuje przejście do innego ekranu, Analytics rejestruje zdarzenie screen_view, które identyfikuje nowy ekran. Zdarzenia, które mają miejsce na tych ekranach, są automatycznie oznaczane parametrem firebase_screen_class (np. menuViewController lub MenuActivity) i wygenerowanym parametrem firebase_screen_id. Jeśli Twoja aplikacja używa osobnego elementu UIViewController lub Activity dla każdego ekranu, Analytics może automatycznie śledzić każde przejście między ekranami i generować raport o zaangażowaniu użytkowników z podziałem na ekrany. Jeśli Twoja aplikacja nie korzysta z tego pakietu, nadal możesz otrzymywać te raporty, ręcznie rejestrując zdarzenia screen_view.
Wyłączanie śledzenia wyświetleń ekranu
Automatyczne raportowanie wyświetleń ekranu można wyłączyć na iOS, ustawiając parametr FirebaseAutomaticScreenReportingEnabled na NO (wartość logiczna) w pliku Info.plist.
Na Androidzie umieść to ustawienie w tagu <application> pliku AndroidManifest.xml:
<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />
Ręczne śledzenie ekranów
Możesz ręcznie rejestrować zdarzenia screen_view niezależnie od tego, czy automatyczne śledzenie jest włączone. Możesz rejestrować te zdarzenia za pomocą metod onAppear lub viewDidAppear na platformach Apple oraz onResume na Androidzie. Jeśli parametr screen_class nie jest ustawiony, Analytics ustawia wartość domyślną na podstawie klasy UIViewController lub Activity, która jest aktywna w momencie wywołania.
Jeśli w aplikacji wyłączono swizzling, wszystkie nazwy ekranów trzeba ustawić ręcznie. Jeśli korzystasz z SwiftUI, użyj Analytics pakietu SDK rozszerzenia Swift.
Swift
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
Objective-C
[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,
},
);