Измерение просмотров экрана

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 .

Быстрый

Примечание: этот продукт Firebase недоступен на целевой платформе macOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Objective-C

Примечание: этот продукт Firebase недоступен на целевой платформе macOS.
[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,
  },
);