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

測量屏幕瀏覽量

Google Analytics 跟踪屏幕轉換並將有關當前屏幕的信息附加到事件,使您能夠跟踪每個屏幕的用戶參與度或用戶行為等指標。大部分數據收集是自動進行的,但您也可以手動記錄屏幕瀏覽量。如果您的應用程序沒有為您可能希望跟踪的每個屏幕(例如在遊戲中)使用單獨的UIViewControllerViewActivity ,則手動跟踪屏幕很有用。

自動跟踪屏幕

Analytics 會自動跟踪有關應用程序中屏幕的一些信息,例如UIViewController的類名或當前處於焦點的Activity 。發生屏幕轉換時,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])

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

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