Google Analytics śledzi przejścia między ekranami i dołącza do zdarzeń informacje o bieżącym ekranie, dzięki czemu możesz śledzić dane np. o zaangażowaniu użytkowników i ich zachowaniach na poszczególnych ekranach. Wiele danych zbiera się automatycznie, ale możesz też rejestrować wyświetlenia ekranu ręcznie. Ręczne śledzenie ekranów jest przydatne, jeśli Twoja aplikacja nie używa osobnych UIViewController
, View
ani Activity
dla każdego ekranu, który chcesz śledzić, np. w grze.
Automatycznie śledź ekrany
Analytics automatycznie śledzi niektóre informacje o ekranach w aplikacji, np. nazwę klasy obiektu UIViewController
lub Activity
, który jest obecnie widoczny. Gdy następuje przejście do ekranu, Analytics rejestruje zdarzenie screen_view
, które identyfikuje nowy ekran. Zdarzenia występujące na tych ekranach są automatycznie oznaczane tagiem firebase_screen_class
(np. menuViewController
lub MenuActivity
) i wygenerowanym firebase_screen_id
. Jeśli Twoja aplikacja używa osobnego UIViewController
lub Activity
dla każdego ekranu, Analytics może automatycznie śledzić każde przejście na ekran i generować raport zaangażowania użytkowników z podziałem na ekrany. Jeśli Twoja aplikacja tego nie robi, 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ć w systemie iOS, ustawiając FirebaseAutomaticScreenReportingEnabled
na NO
(wartość logiczna) w pliku Info.plist.
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
Zdarzenia screen_view
możesz rejestrować ręcznie niezależnie od tego, czy automatyczne śledzenie jest włączone. Możesz rejestrować te zdarzenia za pomocą metod onAppear
lub viewDidAppear
w przypadku platform Apple i onResume
w przypadku Androida. Jeśli zasada screen_class
jest nieskonfigurowana, Analytics ustawia wartość domyślną na podstawie obiektu UIViewController lub działania, które są w trakcie wywoływania.
Jeśli przesuwanie w aplikacji zostało wyłączone, wszystkie nazwy ekranów trzeba ustawiać ręcznie. Jeśli używasz SwiftUI, użyj pakietu SDK rozszerzenia Swift Analytics.
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,
},
);