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 裝置的自動畫面瀏覽回報功能可以關閉,
Info.plist 中的 FirebaseAutomaticScreenReportingEnabled
到 NO
(布林值)。
在 Android 的 <application>
標記內建立下列設定巢狀結構的
AndroidManifest.xml
檔案:
<meta-data android:name="google_analytics_automatic_screen_reporting_enabled" android:value="false" />
手動追蹤畫面
無論是否啟用自動追蹤,您都可以手動記錄screen_view
事件
您可以在 onAppear
或 viewDidAppear
方法中記錄這些事件
適用於 Apple 平台和 Android 適用的 onResume
。如果未設定 screen_class
,
Analytics 會根據 UIViewController 或 Activity 設定預設值
焦點所在的物件
如果您已停用應用程式中的滑動功能,則必須手動設定所有畫面名稱。 如果是 SwiftUI 使用者,請使用 Analytics Swift 擴充功能 SDK。
Swift
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
Objective-C
[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
import { getAnalytics, logEvent } from "firebase/analytics"; const analytics = getAnalytics(); logEvent(analytics, 'screen_view', { firebase_screen: screenName, firebase_screen_class: screenClass });
Web
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,
},
);