ابدأ مع 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.kts أو <project>/<app-module>/build.gradle )، أضف التبعية لنظام Crashlytics Android مكتبة. نوصي باستخدام Firebase Android BoM للتحكم في إصدار المكتبة.

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

Kotlin+KTX

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

    // 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.4.3")
    implementation("com.google.firebase:firebase-analytics-ktx:21.3.0")
}

Java

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

    // 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.4.3")
    implementation("com.google.firebase:firebase-analytics:21.3.0")
}

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

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

    Kotlin

    plugins {
        id("com.android.application") version "7.2.0" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin dependency
        id("com.google.gms.google-services") version "4.3.15" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "2.9.9" apply false
    }
    

    Groovy

    plugins {
        id 'com.android.application' version '7.2.0' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin dependency
        id 'com.google.gms.google-services' version '4.3.15' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '2.9.9' 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 Studio، يمكنك عرض بيانات Crashlytics وتصفيتها.