Измерение просмотров экрана

Google Analytics отслеживает переходы между экранами и прикрепляет информацию о текущем экране к событиям, позволяя отслеживать такие показатели, как взаимодействие с пользователем или поведение пользователей на каждом экране. Большая часть этого сбора данных происходит автоматически, но вы также можете регистрировать просмотры экрана вручную. Отслеживание экранов вручную полезно, если ваше приложение не использует отдельный UIViewController , View или Activity для каждого экрана, который вы хотите отслеживать, например, в игре.

Автоматически отслеживать экраны

Analytics автоматически отслеживает некоторую информацию об экранах вашего приложения, например имя класса UIViewController или Activity , которое в данный момент находится в фокусе. Когда происходит смена экрана, Analytics регистрирует событие screen_view , которое идентифицирует новый экран. События, происходящие на этих экранах, автоматически помечаются параметром firebase_screen_class (например, menuViewController или MenuActivity ) и генерируемым firebase_screen_id . Если ваше приложение использует отдельный UIViewController или Activity для каждого экрана, Analytics может автоматически отслеживать каждый переход между экранами и генерировать отчет о взаимодействии пользователей с разбивкой по экранам. Если ваше приложение этого не делает, вы все равно можете получать эти отчеты, регистрируя события screen_view вручную.

Отключить отслеживание просмотров экрана

Автоматические отчеты о просмотрах экрана можно отключить в iOS, установив для FirebaseAutomaticScreenReportingEnabled значение NO (Boolean) в Info.plist.

А на Android вставьте следующий параметр в тег <application> файла AndroidManifest.xml :

<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />

Отслеживать экраны вручную

Вы можете вручную регистрировать события screen_view независимо от того, включено автоматическое отслеживание или нет. Вы можете регистрировать эти события в методах onAppear или viewDidAppear для платформ Apple и onResume для Android. Если screen_class не установлен, Analytics устанавливает значение по умолчанию на основе UIViewController или Activity, которое находится в фокусе при выполнении вызова.

Если вы отключили функцию Swizzling в своем приложении, все экранные имена придется задавать вручную. Для пользователей SwiftUI используйте SDK расширения Analytics Swift .

Быстрый

Примечание. Этот продукт Firebase недоступен в целевой системе macOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Цель-C

Примечание. Этот продукт Firebase недоступен в целевой системе 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,
  },
);