Pomiar wyświetleń ekranu

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

Uwaga: ta usługa Firebase jest niedostępna w miejscu docelowym macOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Objective-C

Uwaga: ta usługa Firebase jest niedostępna w miejscu docelowym macOS.
[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,
  },
);