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 ให้ใช้ Analytics SDK ของส่วนขยาย Swift
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,
},
);