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 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 osobnych zdarzeń 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 aplikacji, takie jak nazwa klasy UIViewController
lub Activity
, która jest obecnie aktywna. Gdy nastąpi przejście do nowego ekranu, Analyticszarejestruje 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
) i wygenerowanym firebase_screen_id
. Jeśli Twoja aplikacja używa osobnego parametru UIViewController
lub Activity
dla każdego ekranu, Analytics może automatycznie śledzić każdą zmianę ekranu i generować raport o zaangażowaniu użytkowników z podziałem na ekrany. Jeśli Twoja aplikacja tego nie robi, możesz nadal uzyskiwać te raporty, ręcznie rejestrując zdarzenia screen_view
.
Wyłączanie śledzenia wyświetleń
Automatyczne raportowanie screen_view można wyłączyć na iOS, ustawiając parametr FirebaseAutomaticScreenReportingEnabled
na NO
(Boolean).
Na 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
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 screen_class
nie jest ustawiony, Analytics ustawia wartość domyślną na podstawie UIViewController lub Activity, które są aktywne w momencie wywołania.
Jeśli w aplikacji wyłączysz swizglanie, wszystkie nazwy ekranów trzeba ustawić ręcznie. Użytkownicy SwiftUI powinni używać 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+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
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,
},
);