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

يتتبّع 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 (Boolean) في ملف 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,
  },
);