获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

测量屏幕浏览量

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Google Analytics 跟踪屏幕转换并将有关当前屏幕的信息附加到事件中,使您能够跟踪诸如用户参与度或每个屏幕的用户行为等指标。大部分数据收集是自动发生的,但您也可以手动记录屏幕浏览量。如果您的应用程序不为您可能希望跟踪的每个屏幕(例如在游戏中)使用单独的UIViewControllerViewActivity ,则手动跟踪屏幕很有用。

自动跟踪屏幕

Analytics 会自动跟踪有关应用程序中屏幕的一些信息,例如当前焦点所在的UIViewControllerActivity的类名。当屏幕转换发生时,Analytics 会记录一个用于标识新屏幕的screen_view事件。这些屏幕上发生的事件会自动使用参数firebase_screen_class (例如menuViewControllerMenuActivity )和生成的firebase_screen_id进行标记。如果您的应用为每个屏幕使用不同的UIViewControllerActivity ,Analytics 可以自动跟踪每个屏幕转换并生成按屏幕细分的用户参与度报告。如果您的应用没有,您仍然可以通过手动记录screen_view事件来获取这些报告。

禁用屏幕视图跟踪

通过在 Info.plist 中将FirebaseAutomaticScreenReportingEnabled设置为NO (布尔值),可以在 iOS 上关闭自动屏幕视图报告。

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

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

手动跟踪屏幕

无论是否启用自动跟踪,您都可以手动记录screen_view事件。您可以在 Apple 平台的onAppearviewDidAppear方法和 Android 的onResume方法中记录这些事件。如果未设置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}];

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 version 9

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

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

Web version 8

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