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

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

إذا أوقفت ميزة swizzling في تطبيقك، يجب ضبط جميع أسماء الشاشات يدويًا. بالنسبة إلى مستخدمي SwiftUI، استخدِم Analytics حزمة تطوير البرامج (SDK) لإضافة Swift.

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,
  },
);