測量屏幕瀏覽量

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}];

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

Web 命名空間 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,
  },
);