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
באופן ידני, גם אם המעקב האוטומטי מופעל וגם אם לא. אפשר לתעד את האירועים האלה ב-methods onAppear
או viewDidAppear
לפלטפורמות של Apple, ו-onResume
ל-Android. אם לא מגדירים את screen_class
, Analytics מגדיר ערך ברירת מחדל על סמך ה-UIViewController או הפעילות שנמצאים בפוקוס בזמן ביצוע הקריאה.
אם השבתתם את החלפת השמות באפליקציה, תצטרכו להגדיר את כל שמות המסכים באופן ידני. משתמשי SwiftUI צריכים להשתמש ב-Analytics Swift extension 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,
},
);