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 в файле 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, находящегося в фокусе при выполнении вызова.
Если вы отключили в приложении автоматическое преобразование имен экранов, все имена экранов нужно задавать вручную. Если вы используете SwiftUI, воспользуйтесь Analytics Swift extension SDK.
Swift
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
Objective-C
[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,
},
);