Pomiar wyświetleń ekranu

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 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 (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

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 zamianę nazw, wszystkie nazwy ekranów trzeba ustawić ręcznie. Użytkownicy SwiftUI powinni używać Analytics pakietu SDK rozszerzenia Swift.

Swift

Uwaga: ta usługa Firebase nie jest dostępna na platformie docelowej macOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Objective-C

Uwaga: ta usługa Firebase nie jest dostępna na platformie docelowej macOS.
[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,
  },
);