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, которые находятся в фокусе при выполнении вызова.
Если вы отключили swizzling в своем приложении, все имена экранов должны быть установлены вручную. Для пользователей 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,
},
);