מדידת צפיות במסך

‫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 לפלטפורמות של אפל ובשיטה onResume ל-Android. אם לא מוגדר screen_class,‏ Analytics מגדיר ערך ברירת מחדל על סמך ה-UIViewController או הפעילות שנמצאים במוקד ההתעניינות כשהשיחה מתבצעת.

אם השבתתם את ה-swizzling באפליקציה, צריך להגדיר את כל שמות המסכים באופן ידני. משתמשי SwiftUI צריכים להשתמש ב-Analytics Swift extension SDK.

Swift

הערה: מוצר Firebase הזה לא זמין ב-watchOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                               AnalyticsParameterScreenClass: screenClass])

Objective-C

הערה: מוצר Firebase הזה לא זמין ב-watchOS.
[FIRAnalytics logEventWithName:kFIREventScreenView
                    parameters:@{kFIRParameterScreenClass: screenClass,
                                 kFIRParameterScreenName: screenName}];

Kotlin

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