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

قبل البدء

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

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

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

  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:35.0.1"))
    
        // 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:23.0.1")
    }

  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.5.0" 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.5.0' 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".

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

  • يمكن أن يتسبب المكوّن الإضافي Performance Monitoring لنظام Gradle، الإصدار 1.1.0، في عدم تطابق في تبعيات 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. قد لا تكون هذه القيمة دقيقة دائمًا.

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

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