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

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

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

قبل البدء

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

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

    • إذا لم يكن مشروعك الحالي في Firebase يحتوي على Google Analytics مُفعَّل، يمكنك تفعيل "Google Analytics" من في علامة التبويب عمليات الدمج على إعدادات المشروع في وحدة التحكم Firebase.

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

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

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

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

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

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

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

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

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

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

إذا اخترت عدم استخدام Firebase BoM، يجب تحديد كل إصدار من إصدارات مكتبة 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.3")
    implementation("com.google.firebase:firebase-analytics:22.0.2")
}
هل تبحث عن وحدة مكتبة خاصة بلغة 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.2" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.2" 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.2' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.2' 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 وفلترتها.
    • استخدِم نافذة إحصاءات جودة التطبيقات (AQI) في "استوديو Android" للاطّلاع على Crashlytics. البيانات جنبًا إلى جنب مع الرمز البرمجي، ولن تحتاج إلى التنقّل كثيرًا بين Crashlytics ولوحة المعلومات وIDE لبدء تصحيح أخطاء أهم المشكلات.
    • التعلّم كيفية استخدام نافذة مؤشر جودة الهواء في المواد المتعلقة بـ "استوديو Android".
    • تسرّنا معرفة رأيك. أرسِل إلينا ملاحظاتك حول نافذة مؤشر جودة الهواء من خلال تقديم تقرير خطأ