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

يتتبّع 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 أو Activity الذي يكون موضع التركيز عند إجراء المكالمة.

إذا أوقفت التمرير السريع في تطبيقك، يجب ضبط جميع أسماء الشاشات يدويًا. بالنسبة إلى مستخدمي SwiftUI، استخدِم Analytics حزمة تطوير البرامج (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,
  },
);