Catch up on everthing we announced at this year's Firebase Summit. Learn more

跟踪屏幕浏览情况

Google Analytics(分析)会跟踪屏幕转换,并将有关当前屏幕的信息附加到事件,使您可以跟踪每个屏幕的用户互动度或用户行为等指标。大多数此类数据都是由系统自动收集的,不过您也可以手动记录屏幕浏览情况。如果您的应用没有为您可能希望跟踪的每个屏幕使用单独的 UIViewControllerActivity(例如在游戏中),您可以手动跟踪屏幕。

自动跟踪屏幕

Analytics 会自动跟踪应用中屏幕的一些信息,例如当前处于焦点的 UIViewControllerActivity 的类名称。当屏幕转换时,Analytics 会记录一个用于标识新屏幕的 screen_view 事件。系统会使用参数 firebase_screen_class(例如 menuViewControllerMenuActivity)和生成的 firebase_screen_id 自动对这些屏幕上发生的事件进行标记。如果应用对每个屏幕使用不同的 UIViewControllerActivity,那么 Analytics 可以自动跟踪每个屏幕转换,并生成按屏幕细分的用户互动度报告。如果您的应用未采用这一方法,您仍然可以通过手动记录 screen_view 事件来生成这些报告。

停用屏幕浏览跟踪

在 iOS 系统中,可以通过将 Info.plist 中的 FirebaseAutomaticScreenReportingEnabled 设置为 NO(布尔值)来关闭自动屏幕浏览报告。

在 Android 中,将以下设置嵌套在 AndroidManifest.xml 文件的 <application> 标记中:

<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />

手动跟踪屏幕

无论是否启用了自动跟踪功能,您都可以手动记录 screen_view 事件。您可以在 viewDidAppear 状态 (Apple) 和 onResume (Android) 中记录这些事件。如果未设置 screen_class,Analytics 会根据发出调用时处于焦点的 UIViewController 或 Activity 设置默认值。

Swift

注意:此 Firebase 产品不适用于 macOS 目标平台。
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Objective-C

注意:此 Firebase 产品不适用于 macOS 目标平台。
[FIRAnalytics logEventWithName:kFIREventScreenView
                    parameters:@{kFIRParameterScreenClass: screenClass,
                                 kFIRParameterScreenName: screenName}];

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);

Kotlin+KTX

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {
    param(FirebaseAnalytics.Param.SCREEN_NAME, screenName)
    param(FirebaseAnalytics.Param.SCREEN_CLASS, "MainActivity")
}

Web 版本 9

import { getAnalytics, logEvent } from "firebase/analytics";

const analytics = getAnalytics();
logEvent(analytics, 'screen_view', {
  firebase_screen: screenName,
  firebase_screen_class: screenClass
});

Web 版本 8

firebase.analytics().logEvent('screen_view', {
  firebase_screen: screenName,
  firebase_screen_class: screenClass
});