يتتبع برنامج 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 Swift extension SDK .
سويفت
Analytics.logEvent(AnalyticsEventScreenView, parameters: [AnalyticsParameterScreenName: screenName, AnalyticsParameterScreenClass: screenClass])
ج موضوعية
[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);
واجهة برمجة تطبيقات الويب المعيارية
import { getAnalytics, logEvent } from "firebase/analytics"; const analytics = getAnalytics(); logEvent(analytics, 'screen_view', { firebase_screen: screenName, firebase_screen_class: screenClass });
واجهة برمجة تطبيقات Web namespaced
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,
},
);