วัดการดูหน้าจอ

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 ได้โดยตั้งค่า FirebaseAutomaticScreenReportingEnabled เป็น NO (บูลีน) ใน Info.plist

และใน Android ให้ฝังการตั้งค่าต่อไปนี้ในแท็ก <application> ของไฟล์ AndroidManifest.xml

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

ติดตามหน้าจอด้วยตนเอง

คุณสามารถบันทึกเหตุการณ์ screen_view ด้วยตนเองได้ไม่ว่าจะเปิดใช้การติดตามอัตโนมัติหรือไม่ก็ตาม คุณบันทึกเหตุการณ์เหล่านี้ได้ในเมธอด onAppear หรือ viewDidAppear สำหรับแพลตฟอร์ม Apple และ onResume สำหรับ Android เมื่อไม่ได้ตั้งค่า screen_class Analytics จะตั้งค่าเริ่มต้นโดยอิงตาม UIViewController หรือกิจกรรม ที่โฟกัสเมื่อมีการเรียกใช้

หากคุณปิดใช้การสุ่มในแอป ต้องตั้งค่าชื่อหน้าจอทั้งหมดด้วยตนเอง สำหรับผู้ใช้ SwiftUI ให้ใช้ SDK ส่วนขยายของ Swift ของ Analytics

Swift

หมายเหตุ: ผลิตภัณฑ์ 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);

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