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

ابدأ مع Firebase Crashlytics

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

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

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

قبل ان تبدأ

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

  2. موصى به : للحصول على ميزات مثل المستخدمين الذين لم يتعرضوا للأعطال وسجلات التنقل وتنبيهات السرعة ، تحتاج إلى تمكين Google Analytics في مشروع Firebase.

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

    • إذا كنت تنشئ مشروع Firebase جديدًا ، فقم بتمكين Google Analytics أثناء سير عمل إنشاء المشروع.

الخطوة 1 : أضف Crashlytics SDK إلى تطبيقك

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

للحصول على تجربة مثالية مع Crashlytics ، نوصي بتمكين Google Analytics في مشروع Firebase وإضافة Firebase SDK لـ Google Analytics إلى تطبيقك.

Java

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

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

(بديل) أضف تبعيات مكتبة 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:18.2.13'
    implementation 'com.google.firebase:firebase-analytics:21.1.1'
}

Kotlin+KTX

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

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

(بديل) أضف تبعيات مكتبة 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-ktx:18.2.13'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.1.1'
}

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

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

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            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 Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
        }
    }
  2. في ملف Gradle (على مستوى التطبيق) الوحدة النمطية الخاصة بك (عادةً <project>/<app-module>/build.gradle ) ، أضف البرنامج الإضافي Crashlytics Gradle:

    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 الخاص بتطبيقك لإضافة زر إلى تطبيقك يؤدي عند الضغط عليه إلى حدوث عطل. الزر يسمى "اختبار التعطل".

    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));
    

    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))
    
  2. بناء وتشغيل التطبيق الخاص بك.

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

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

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

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

  4. انتقل إلى لوحة معلومات Crashlytics بوحدة تحكم Firebase لمشاهدة اختبار تحطم الطائرة.

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


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

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

  • تكامل مع Google Play حتى تتمكن من تصفية تقارير أعطال تطبيق Android الخاص بك عن طريق مسار Google Play مباشرة في لوحة معلومات Crashlytics. يتيح لك هذا التركيز بشكل أفضل على لوحة القيادة الخاصة بك على تصميمات محددة.
  • اعرض تتبعات المكدس وإحصاءات الأعطال مباشرةً جنبًا إلى جنب مع التعليمات البرمجية الخاصة بك من خلال نافذة App Quality Insights في Android Studio. باستخدام هذه الأداة ، لن تحتاج إلى الانتقال ذهابًا وإيابًا بين لوحة معلومات Crashlytics و IDE لبدء معالجة أهم المشكلات.