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 рекомендуется использовать SDK расширения Analytics 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,
},
);