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 или действия, которое находится в фокусе при выполнении вызова.
Если вы отключили 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);
Модульный веб-API
import { getAnalytics, logEvent } from "firebase/analytics"; const analytics = getAnalytics(); logEvent(analytics, 'screen_view', { firebase_screen: screenName, firebase_screen_class: screenClass });
Веб-API с пространством имен
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,
},
);