تتتبّع "إحصاءات Google" انتقالات الشاشة وترفِق معلومات عن الشاشة الحالية بالأحداث، ما يتيح لك تتبُّع مقاييس مثل تفاعل المستخدمين أو سلوكهم لكل شاشة. يتم الكثير من جمع البيانات هذا تلقائيًا،
ولكن يمكنك أيضًا تسجيل مشاهدات الشاشة يدويًا. ومن المفيد تتبُّع الشاشات يدويًا إذا كان تطبيقك لا يستخدم علامة UIViewController
أو View
أو Activity
منفصلة لكل شاشة قد تريد تتبُّعها، كما هو الحال في لعبة.
تتبُّع الشاشات تلقائيًا
تتتبّع "إحصاءات Google" تلقائيًا بعض المعلومات عن الشاشات في تطبيقك، مثل اسم فئة UIViewController
أو Activity
موضع التركيز حاليًا. عند ظهور انتقال شاشة، تُسجِّل "إحصاءات Google"
حدث screen_view
الذي يحدِّد الشاشة الجديدة. ويتم تلقائيًا وضع علامة على الأحداث التي تتم على هذه الشاشات باستخدام المَعلمة firebase_screen_class
(على سبيل المثال، menuViewController
أو MenuActivity
) وبمَعلمة firebase_screen_id
التي يتم إنشاؤها. إذا كان تطبيقك يستخدِم UIViewController
أو
Activity
مختلفًا لكل شاشة، يمكن أن تتتبّع "إحصاءات Google" تلقائيًا كل عملية انتقال للشاشة وتنشئ تقريرًا عن تفاعل المستخدِمين مقسّمًا حسب الشاشة. وإذا لم يحدث ذلك في تطبيقك، سيظل بإمكانك تلقّي هذه التقارير من خلال تسجيل أحداث 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
بدون ضبط، تضبط "إحصاءات Google" قيمة تلقائية استنادًا إلى UIViewController أو النشاط
الذي يكون موضع التركيز عند إجراء الاتصال.
إذا أوقفت التمرير السريع في تطبيقك، يجب ضبط جميع أسماء الشاشات يدويًا. بالنسبة إلى مستخدمي SwiftUI، استخدِم حزمة تطوير البرامج (SDK) الخاصة بإضافة Swift في "إحصاءات Google".
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,
},
);