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 SDK .
Быстрый
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,
},
);