بدء استخدام Firebase Crashlytics

تصف دليل البدء السريع هذا كيفية إعداد Firebase Crashlytics في تطبيقك باستخدام حزمة تطوير البرامج (SDK) الخاصة بمنصة Firebase Crashlytics كي تتمكّن من الحصول على تقارير شاملة عن الأعطال في وحدة تحكُّم Firebase. باستخدام Crashlytics لنظام التشغيل Android، يمكنك تلقّي تقارير حول الأعطال والأخطاء غير الفادحة وأخطاء "التطبيق لا يستجيب" (ANR).

يتطلب إعداد Crashlytics تنفيذ مهام في كلّ من وحدة تحكّم Firebase وبيئة تطوير البرامج (IDE) (مثل إضافة ملف إعداد Firebase وحزمة تطوير البرامج (SDK) التي تخصّ Crashlytics). لإنهاء عملية الإعداد، ستحتاج إلى فرض حدوث عطل تجريبي لإرسال تقرير الأعطال الأول إلى Firebase.

قبل البدء

  1. أضِف Firebase إلى مشروع Android، إذا لم يسبق لك إجراء ذلك. إذا لم يكن لديك تطبيق Android، يمكنك تنزيل نموذج تطبيق.

  2. إجراء مقترَح: للحصول تلقائيًا على سجلّات شريط التنقّل لفهم إجراءات المستخدمين التي تؤدي إلى حدوث عطل أو حدث غير خطير أو حدث ANR، عليك تفعيل "إحصاءات Google" في مشروعك على Firebase.

    • إذا لم يسبق لك تفعيل "إحصاءات Google" في مشروعك الحالي على Firebase، يمكنك تفعيل "إحصاءات Google" من علامة تبويب عمليات الدمج ضِمن > إعدادات المشروع في وحدة تحكُّم Firebase.

    • إذا كنت بصدد إنشاء مشروع جديد على Firebase، يمكنك تفعيل "إحصاءات Google" أثناء سير عمل إنشاء المشروع.

  3. تأكَّد من أنّ تطبيقك يتضمّن الحد الأدنى من الإصدارات المطلوبة التالية:

    • إصدار Gradle 8.0
    • الإصدار 8.1.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android
    • الإصدار 4.4.1 من المكوّن الإضافي لنظام Gradle المتوافق مع خدمات Google

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

<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradle ننصحك باستخدام برنامج Firebase Android BoM للتحكّم في إصدارات المكتبة.

للاستفادة من سجلّات شريط التنقّل، أضِف أيضًا حزمة تطوير البرامج (SDK) لمنصّة Firebase الخاصة بخدمة "إحصاءات Google" إلى تطبيقك. تأكّد من تفعيل "إحصاءات Google" في مشروعك على Firebase.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.0.0"))

    // Add the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics")
    implementation("com.google.firebase:firebase-analytics")
}

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

(بديل) أضِف تبعيات مكتبة Firebase بدون استخدام قائمة BoM.

إذا اختَرت عدم استخدام قائمة مشروعات Firebase، يجب تحديد كل إصدار من إصدارات مكتبة Firebase في سطر التبعية الخاص به.

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

dependencies {
    // Add the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics:19.0.0")
    implementation("com.google.firebase:firebase-analytics:22.0.0")
}
هل تبحث عن وحدة مكتبة خاصة بلغة Kotlin؟ اعتبارًا من تشرين الأول (أكتوبر) 2023 ( Firebase BoM 32.5.0)، أصبح بإمكان مطوّري لغتَي Kotlin وJava الاعتماد على وحدة المكتبة الرئيسية (لمعرفة التفاصيل، يُرجى الاطّلاع على الأسئلة الشائعة حول هذه المبادرة).

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

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

    Kotlin

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id("com.android.application") version "8.1.4" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id("com.google.gms.google-services") version "4.4.1" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.0" apply false
    }
    

    Groovy

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id 'com.android.application' version '8.1.4' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id 'com.google.gms.google-services' version '4.4.1' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.0' apply false
    }
    
  2. في ملف Gradle الوحدة (على مستوى التطبيق) (عادةً <project>/<app-module>/build.gradle.kts أو <project>/<app-module>/build.gradle)، أضِف المكوّن الإضافي Crashlytics 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 Crashlytics Gradle plugin
      id("com.google.firebase.crashlytics")
    }

    Groovy

    plugins {
      id 'com.android.application'
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id 'com.google.gms.google-services'
    
      // Add the Crashlytics Gradle plugin
      id 'com.google.firebase.crashlytics'
    }

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

لإنهاء عملية إعداد Crashlytics والاطّلاع على البيانات الأولية في لوحة بيانات Crashlytics بوحدة تحكّم Firebase، عليك فرض تعطُّل تجريبي.

  1. أضِف رمزًا إلى تطبيقك يمكنك استخدامه لفرض حدوث عطل تجريبي.

    يمكنك استخدام الرمز التالي في MainActivity لتطبيقك لإضافة زر إلى تطبيقك يؤدي النقر عليه إلى تعطُّل. يحمل الزر اسم "اختبار العطل".

    Kotlin+KTX

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // Force a crash
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))
    

    Java

    Button crashButton = new Button(this);
    crashButton.setText("Test Crash");
    crashButton.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {
           throw new RuntimeException("Test Crash"); // Force a crash
       }
    });
    
    addContentView(crashButton, new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT));
    
  2. إنشاء تطبيقك وتشغيله

  3. يمكنك فرض التعطُّل التجريبي لإرسال أول تقرير عن الأعطال لتطبيقك:

    1. افتح التطبيق من جهاز الاختبار أو المحاكي.

    2. في تطبيقك، اضغط على زر "اختبار التعطُّل" الذي أضفته باستخدام الرمز الموضَّح أعلاه.

    3. بعد تعطُّل تطبيقك، أعِد تشغيله حتى يتمكّن التطبيق من إرسال تقرير الأعطال إلى Firebase.

  4. انتقِل إلى لوحة بيانات Crashlytics ضمن وحدة تحكُّم Firebase للاطّلاع على العطل في الاختبار.

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


وهذا كل ما في الأمر! يراقب Crashlytics الآن تطبيقك بحثًا عن الأعطال والأخطاء غير الفادحة وأخطاء ANR. انتقِل إلى لوحة بيانات Crashlytics لعرض جميع التقارير والإحصاءات والتحقيق فيها.

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

  • خصِّص إعداد تقرير الأعطال عن طريق إضافة التقارير والسجلّات والمفاتيح وتتبُّع الأخطاء غير الفادحة التي تم تفعيلها، وذلك من خلال إضافة تقارير الأعطال.
  • الدمج مع Google Play حتى تتمكن من فلترة تقارير أعطال تطبيق Android حسب قناة Google Play مباشرةً في لوحة بيانات Crashlytics. يتيح لك ذلك تركيز لوحة البيانات بشكل أفضل على إصدارات معيّنة.
  • في "استوديو Android"، يمكنك عرض بيانات Crashlytics وفلترتها.