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

قبل البدء

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

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

بعد إضافة حزمة تطوير البرامج (SDK) لمنصّة Performance Monitoring، تبدأ Firebase تلقائيًا في جمع data لميزة عرض الشاشة في تطبيقك والبيانات المتعلقة بدورة حياة تطبيقك (مثل وقت بدء التطبيق). ل تفعيل 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:33.6.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:21.0.2")
    }
    
    هل تبحث عن وحدة مكتبة خاصة بلغة Kotlin؟ اعتبارًا من تشرين الأول (أكتوبر) 2023 (Firebase BoM 32.5.0)، يمكن لمطوّري Kotlin وJava الاعتماد على وحدة المكتبة الرئيسية (للاطّلاع على التفاصيل، راجِع الأسئلة الشائعة حول هذه المبادرة).

  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.2" apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id("com.google.firebase.firebase-perf") version "1.4.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.2' apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf' version '1.4.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 v1.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 أو إصدار أحدث (أحدث إصدار هو 1.4.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 التي تستخدم عمليات متعددة.

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