بدء استخدام ميزة "مراقبة الأداء" على Android

قبل البدء

أضِف Firebase إلى مشروع Android الخاص بك، في حال لم يسبق لك إجراء ذلك، .

الخطوة 1: إضافة حزمة تطوير البرامج (SDK) Performance Monitoring إلى تطبيقك

بعد إضافة حزمة تطوير البرامج (SDK) لخدمة Performance Monitoring، يبدأ Firebase تلقائيًا بجمع بيانات عرض شاشة تطبيقك والبيانات المرتبطة بمراحل نشاط تطبيقك (مثل وقت بدء التطبيق). ولتمكين Firebase من مراقبة طلبات الشبكة، عليك أيضًا إضافة المكوّن الإضافي لخدمة "مراقبة الأداء" في Performance MonitoringGradle (الخطوة التالية).

  1. في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً <project>/<app-module>/build.gradle.kts أو <project>/<app-module>/build.gradle)، أضِف التبعية لمكتبة Performance Monitoring على Android. ننصحك باستخدام الـ Firebase Android BoM للتحكّم في تحديد إصدار المكتبة.

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:34.13.0"))
    
        // Add the dependency for the Performance Monitoring library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-perf")
    }

    باستخدام Firebase Android BoM، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Firebase لنظام التشغيل Android.

    (بديل)  إضافة تبعيات مكتبة Firebase بدون استخدام BoM

    إذا اخترت عدم استخدام Firebase BoM، عليك تحديد إصدار كل مكتبة من مكتبات Firebase في سطر التبعية الخاص بها.

    يُرجى العِلم أنّه إذا كنت تستخدم مكتبات متعدّدة من Firebase في تطبيقك، ننصحك بشدة باستخدام BoM لإدارة إصدارات المكتبات، ما يضمن توافق جميع الإصدارات.

    dependencies {
        // Add the dependency for the Performance Monitoring library
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-perf:22.0.5")
    }

  2. أعِد تجميع تطبيقك.

الخطوة 2: إضافة المكوّن الإضافي لخدمة Performance Monitoring في Gradle إلى تطبيقك

بعد إضافة المكوّن الإضافي لخدمة Performance Monitoring في Gradle، يبدأ Firebase تلقائيًا بجمع بيانات طلبات شبكة HTTP/S. يتيح لك المكوّن الإضافي أيضًا تتبُّع عمليات تنفيذ التعليمات البرمجية المخصّصة باستخدام التعليق التوضيحي ‎@AddTrace.

  1. في ملف Gradle على مستوى الجذر (على مستوى المشروع) (<project>/build.gradle.kts أو <project>/build.gradle)، أضِف المكوّن الإضافي لخدمة Performance Monitoring في Gradle:

    Kotlin

    plugins {
        // To benefit from the latest Performance Monitoring plugin features,
        // update your Android Gradle plugin dependency to at least v3.4.0
        id("com.android.application") version "7.3.0" apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id("com.google.gms.google-services") version "4.4.4" apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id("com.google.firebase.firebase-perf") version "2.0.2" apply false
    }

    Groovy

    plugins {
        // To benefit from the latest Performance Monitoring plugin features,
        // update your Android Gradle plugin dependency to at least v3.4.0
        id 'com.android.application' version '7.3.0' apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id 'com.google.gms.google-services' version '4.4.4' apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf' version '2.0.2' apply false
    }
  2. في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً <project>/<app-module>/build.gradle.kts أو <project>/<app-module>/build.gradle)، أضِف Performance Monitoring المكوّن الإضافي لخدمة Gradle:

    Kotlin

    plugins {
        id("com.android.application")
    
        // Make sure that you have the Google services Gradle plugin
        id("com.google.gms.google-services")
    
        // Add the Performance Monitoring Gradle plugin
        id("com.google.firebase.firebase-perf")
        ...
    }

    Groovy

    plugins {
        id 'com.android.application'
    
        // Make sure that you have the Google services Gradle plugin
        id 'com.google.gms.google-services'
    
        // Add the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf'
        ...
    }
  3. أعِد تجميع تطبيقك.

الخطوة 3: إنشاء أحداث الأداء لعرض البيانات الأولية

يبدأ Firebase بمعالجة الأحداث عند إضافة حزمة تطوير البرامج (SDK) إلى تطبيقك بنجاح. إذا كنت لا تزال تعمل على تطوير تطبيقك محليًا، تفاعَل معه لإنشاء أحداث لجمع البيانات الأولية ومعالجتها.

  1. يمكنك إنشاء الأحداث من خلال تبديل تطبيقك بين الخلفية والمقدّمة عدة مرات، والتفاعل مع تطبيقك من خلال التنقّل بين الشاشات و/أو إرسال طلبات الشبكة.

  2. انتقِل إلى لوحة بيانات الأداء في وحدة التحكّم Firebase. من المفترض أن تظهر لك البيانات الأولية في غضون بضع دقائق.

    إذا لم تظهر لك البيانات الأولية، راجِع نصائح تحديد المشاكل وحلّها.

الخطوة 4: (اختياري) عرض رسائل السجلّ لأحداث الأداء

  1. فعِّل تسجيل بيانات تصحيح الأخطاء في Performance Monitoring في وقت التجميع من خلال إضافة عنصر <meta-data> إلى ملف AndroidManifest.xml في تطبيقك، على النحو التالي:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
  2. راجِع رسائل السجلّ بحثًا عن أي رسائل خطأ.

  3. تضع خدمة Performance Monitoring العلامة FirebasePerformance على رسائل السجلّ. باستخدام فلترة logcat، يمكنك عرض تسجيل تتبُّع المدة وتسجيل طلبات شبكة HTTP/S على وجه التحديد من خلال تنفيذ الأمر التالي:

    adb logcat -s FirebasePerformance
  4. ابحث عن أنواع السجلّات التالية التي تشير إلى أنّ Performance Monitoring تسجّل أحداث الأداء:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. انقر على عنوان URL لعرض بياناتك في وحدة تحكّم Firebase. قد يستغرق تحديث البيانات في لوحة البيانات بضع لحظات.

إذا كان تطبيقك لا يسجّل أحداث الأداء، راجِع نصائح تحديد المشاكل وحلّها.

الخطوة 5: (اختياري) إضافة مراقبة مخصّصة لرمز معيّن

لمراقبة بيانات الأداء المرتبطة برمز معيّن في تطبيقك، يمكنك تتبُّع عمليات تنفيذ التعليمات البرمجية المخصّصة.

باستخدام عملية تنفيذ التعليمات البرمجية المخصّصة، يمكنك قياس المدة التي يستغرقها تطبيقك لإكمال مهمة معيّنة أو مجموعة من المهام، مثل تحميل مجموعة من الصور أو طلب بيانات من قاعدة البيانات. المقياس التلقائي لعملية تنفيذ التعليمات البرمجية المخصّصة هو مدتها، ولكن يمكنك أيضًا إضافة مقاييس مخصّصة، مثل عدد مرات الوصول إلى البيانات المخزّنة مؤقتًا وعدد التحذيرات بشأن الذاكرة.

في الرمز، يمكنك تحديد بداية ونهاية عملية تنفيذ التعليمات البرمجية المخصّصة (و إضافة أي مقاييس مخصّصة مطلوبة) باستخدام واجهة برمجة التطبيقات التي توفّرها حزمة تطوير البرامج (SDK) لخدمة Performance Monitoring. بالنسبة إلى تطبيقات Android، يمكنك أيضًا مراقبة مدة طرق معيّنة باستخدام التعليق التوضيحي ‎@AddTrace.

انتقِل إلى مقالة إضافة مراقبة لرمز معيّن لمعرفة المزيد عن هذه الميزات وكيفية إضافتها إلى تطبيقك.

الخطوة 6: نشر تطبيقك ثم مراجعة النتائج

بعد التحقّق من صحة Performance Monitoring باستخدام جهاز اختبار واحد أو أكثر، يمكنك نشر الإصدار المعدَّل من تطبيقك للمستخدمين.

يمكنك مراقبة بيانات الأداء في لوحة بيانات الأداء في وحدة تحكّم Firebase.

المشكلات المعروفة

  • يمكن أن يتسبب الإصدار 1.1.0 من المكوّن الإضافي Performance Monitoring في Gradle في حدوث عدم تطابق في تبعيات Guava ، ما يؤدي إلى ظهور الخطأ التالي:

    Error:Execution failed for task ':app:packageInstantRunResourcesDebug'.
    > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

    إذا ظهر لك هذا الخطأ، يمكنك إجراء أحد الإجراءَين التاليَين:

    • ترقية المكوّن الإضافي Performance Monitoring إلى الإصدار 1.1.1 أو إصدار أحدث (أحدث إصدار هو 2.0.2)

    • استبدال سطر تبعية المكوّن الإضافي Performance Monitoring في ملف Gradle على مستوى الجذر (على مستوى المشروع) (<project>/build.gradle.kts أو <project>/build.gradle)، على النحو التالي:

      Kotlin

      buildscript {
        // ...
      
        dependencies {
          // ...
      
          // Replace the standard Performance Monitoring plugin dependency line, as follows:
          classpath("com.google.firebase:perf-plugin:1.1.0") {
              exclude(group = "com.google.guava", module = "guava-jdk5")
          }
        }
      }

      Groovy

      buildscript {
        // ...
      
        dependencies {
          // ...
      
          // Replace the standard Performance Monitoring plugin dependency line, as follows:
          classpath('com.google.firebase:perf-plugin:1.1.0') {
              exclude group: 'com.google.guava', module: 'guava-jdk5'
          }
        }
      }
  • Performance Monitoring تُبلغ عن إجمالي حجم الحمولة لطلبات شبكة HTTP استنادًا إلى القيمة التي تم ضبطها في عنوان HTTP content-length. قد لا تكون هذه القيمة دقيقة دائمًا.

  • Performance Monitoring لا تتوافق إلا مع العملية الرئيسية في تطبيقات Android المتعدّدة العمليات.

الخطوات التالية