Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

ابدأ مع مراقبة الأداء لنظام Android

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

قبل ان تبدأ

أضف Firebase إلى مشروع Android ، إذا لم تكن قد قمت بذلك بالفعل.

الخطوة 1 : أضف SDK لمراقبة الأداء إلى تطبيقك

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

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

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.5.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:20.1.1'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:30.5.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-ktx'
    }
    

    باستخدام 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-ktx:20.1.1'
    }
    

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

الخطوة 2 : أضف المكون الإضافي لمراقبة الأداء Gradle إلى تطبيقك

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

  1. في ملف Gradle على مستوى الجذر (على مستوى المشروع) ( <project>/build.gradle ) ، أضف المكوّن الإضافي لمراقبة الأداء Gradle كعنصر تابع لـ buildscript:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            // To benefit from the latest Performance Monitoring plugin features,
            // update your Android Gradle plugin dependency to at least v3.4.0
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the Performance Monitoring Gradle plugin
            classpath 'com.google.firebase:perf-plugin:1.4.1'
        }
    }
  2. في ملف Gradle (على مستوى التطبيق) الوحدة النمطية الخاصة بك (عادةً ما يكون <project>/<app-module>/build.gradle ) ، أضف البرنامج الإضافي لمراقبة الأداء Gradle:

    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. قم بتمكين تسجيل تصحيح الأخطاء لمراقبة الأداء في وقت الإنشاء عن طريق إضافة عنصر <meta-data> إلى ملف AndroidManifest.xml الخاص بتطبيقك ، مثل:

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

  3. تعمل مراقبة الأداء على وضع علامة FirebasePerformance على رسائل السجل الخاصة بها. باستخدام تصفية logcat ، يمكنك على وجه التحديد عرض تتبع المدة وتسجيل طلب شبكة HTTP / S عن طريق تشغيل الأمر التالي:

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

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

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

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

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

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

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

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

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

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

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

مشاكل معروفة

  • يمكن أن يتسبب ملحق Gradle الإضافي لمراقبة الأداء v1.1.0 في عدم تطابق تبعيات الجوافة ، مما يؤدي إلى الخطأ التالي:

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

    إذا رأيت هذا الخطأ ، فيمكنك إما:

    • قم بترقية البرنامج المساعد لمراقبة الأداء إلى الإصدار 1.1.1 أو إصدار أحدث (الأحدث هو v1.4.1).

    • استبدل سطر تبعية المكون الإضافي لمراقبة الأداء في ملف Gradle على مستوى الجذر (مستوى المشروع) ( build.gradle ) ، على النحو التالي:

      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'
          }
        }
      }
      
  • تقارير مراقبة الأداء إجمالي حجم الحمولة لطلبات شبكة HTTP استنادًا إلى القيمة المحددة في رأس طول محتوى HTTP. قد لا تكون هذه القيمة دقيقة دائمًا.

  • تدعم مراقبة الأداء العملية الرئيسية فقط في تطبيقات Android متعددة العمليات.

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