قياس مشاهدات الصفحة في التطبيق

تتتبّع "إحصاءات Google" انتقالات الشاشة وترفق المعلومات حول الشاشة الحالية إلى الأحداث، ما يتيح لك تتبّع المقاييس مثل معلومات أو التفاعل أو سلوك المستخدم لكل شاشة. يحدث قدر كبير من عملية جمع البيانات هذه تلقائيًا، ولكن يمكنك أيضًا تسجيل مشاهدات الشاشة يدويًا. التتبُّع اليدوي مفيدة إذا كان تطبيقك لا يستخدم UIViewController منفصلة، أو View أو Activity لكل شاشة قد تريد تتبُّعها، كما هو الحال في لعبة معيّنة.

تتبُّع الشاشات تلقائيًا

يتتبع Analytics تلقائيًا بعض المعلومات حول الشاشات في مثل اسم فئة 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:

Swift

ملاحظة: لا يتوفّر منتج Firebase هذا على النطاق المستهدَف على نظام التشغيل macOS.
Analytics.logEvent(AnalyticsEventScreenView,
                   parameters: [AnalyticsParameterScreenName: screenName,
                                AnalyticsParameterScreenClass: screenClass])

Objective-C

ملاحظة: لا يتوفّر منتج Firebase هذا على النطاق المستهدَف على نظام التشغيل macOS.
[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,
  },
);