Catch up on highlights from Firebase at Google I/O 2023. Learn more

Измеряйте количество просмотров экрана

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 .

Быстрый

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

Цель-C

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