Google Analytics śledzi przejścia między ekranami i dołącza do zdarzeń informacje o bieżącym ekranie, co umożliwia śledzenie takich danych jak zaangażowanie użytkowników czy ich zachowanie na poszczególnych ekranach. Większość tych danych jest zbierana automatycznie, ale możesz też ręcznie rejestrować wyświetlenia ekranu. Ręczne śledzenie ekranów jest przydatne, jeśli Twoja aplikacja nie używa osobnego elementu UIViewController, View ani 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 Twojej
aplikacji, np. nazwę klasy UIViewController lub Activity, która
jest obecnie aktywna. Gdy nastąpi przejście między ekranami, Analytics rejestruje zdarzenie screen_view, które identyfikuje nowy ekran. Zdarzenia występujące na tych ekranach są automatycznie oznaczane parametrem firebase_screen_class (np. menuViewController lub MenuActivity) oraz 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 używa osobnego elementu `UIViewController` lub `Activity` dla każdego ekranu, możesz nadal uzyskiwać te raporty, ręcznie rejestrując zdarzenia screen_view.
Wyłączanie śledzenia wyświetleń ekranu
Automatyczne raportowanie wyświetleń ekranu można wyłączyć w iOS, ustawiając wartość FirebaseAutomaticScreenReportingEnabled na NO (wartość logiczna) w pliku Info.plist.
W Androidzie umieść to ustawienie w tagu <application> w pliku
AndroidManifest.xml:
<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />
Ręczne śledzenie ekranów
Zdarzenia screen_view możesz rejestrować ręcznie niezależnie od tego, czy automatyczne śledzenie jest włączone. Możesz rejestrować te zdarzenia w metodach onAppear lub viewDidAppear na platformach Apple oraz w metodzie onResume na Androidzie. Gdy parametr screen_class nie jest ustawiony,
Analytics ustawia wartość domyślną na podstawie elementu UIViewController lub Activity
który jest aktywny w momencie wywołania.
Jeśli w aplikacji wyłączysz swizzling, wszystkie nazwy ekranów trzeba będzie ustawić ręcznie. Użytkownicy SwiftUI powinni korzystać z pakietu SDK rozszerzenia Analytics 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,
},
);