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 .
Быстрый
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
Цель-C
[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,
},
);