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

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

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

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

إذا أوقفت طريقة 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,
  },
);