Catch up on highlights from Firebase at Google I/O 2023. Learn more

ابدأ مع Firebase Crashlytics

يصف هذا Quickstart كيفية إعداد Firebase Crashlytics في تطبيقك باستخدام المكون الإضافي Crashlytics Flutter بحيث يمكنك الحصول على تقارير أعطال شاملة في وحدة تحكم Firebase.

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

قبل ان تبدأ

  1. إذا لم تكن قد قمت بذلك بالفعل ، فقم بتهيئة وتهيئة Firebase في مشروع Flutter الخاص بك.

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

    يمكن لجميع منصات Android و Apple التي تدعمها Crashlytics (باستثناء watchOS) الاستفادة من هذه الميزات من Google Analytics.

    تأكد من تمكين Google Analytics في مشروع Firebase الخاص بك: انتقل إلى > إعدادات المشروع > علامة التبويب التكامل ، ثم اتبع التعليمات التي تظهر على الشاشة لبرنامج Google Analytics.

الخطوة 1 : أضف Crashlytics إلى مشروع Flutter الخاص بك

  1. من جذر مشروع Flutter ، قم بتشغيل الأمر التالي لتثبيت المكون الإضافي Crashlytics Flutter:

    flutter pub add firebase_crashlytics
    
  2. من الدليل الجذر لمشروع Flutter الخاص بك ، قم بتشغيل الأمر التالي:

    flutterfire configure
    

    يضمن تشغيل هذا الأمر أن يكون تكوين Firebase الخاص بتطبيق Flutter محدثًا ، وبالنسبة لنظام Android ، يضيف المكون الإضافي Crashlytics Gradle المطلوب إلى تطبيقك.

  3. بمجرد الانتهاء ، أعد بناء مشروع Flutter الخاص بك:

    flutter run
    
  4. (اختياري) إذا كان مشروع Flutter يستخدم علامة --split-debug-info (واختياريًا ، علامة --obfuscate ) ، فأنت بحاجة إلى استخدام Firebase CLI (الإصدار 11.9.0 +) لتحميل رموز Android.

    من الدليل الجذر لمشروع Flutter الخاص بك ، قم بتشغيل الأمر التالي:

    firebase crashlytics:symbols:upload --app=APP_ID PATH/TO/symbols

    دليل PATH/TO /symbols هو نفس الدليل الذي تمرره إلى علامة --split-debug-info عند إنشاء التطبيق.

الخطوة 2 : تكوين معالجات الأعطال

يمكنك تلقائيًا اكتشاف جميع الأخطاء التي تظهر داخل إطار عمل Flutter عن طريق تجاوز FlutterError.onError مع FirebaseCrashlytics.instance.recordFlutterFatalError :

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp();

  // Pass all uncaught "fatal" errors from the framework to Crashlytics
  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;

  runApp(MyApp());
}

للقبض على الأخطاء غير المتزامنة التي لا يعالجها إطار عمل Flutter ، استخدم PlatformDispatcher.instance.onError :

Future<void> main() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();
    FlutterError.onError = (errorDetails) {
      FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
    };
    // Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics
    PlatformDispatcher.instance.onError = (error, stack) {
      FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
      return true;
    };
    runApp(MyApp());

}

للحصول على أمثلة حول كيفية التعامل مع الأنواع الأخرى من الأخطاء ، راجع تخصيص تقارير الأعطال .

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

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

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

    إذا أضفت معالج خطأ يستدعي FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) إلى Zone المستوى الأعلى ، يمكنك استخدام الكود التالي لإضافة زر إلى تطبيقك ، عند الضغط عليه ، يلقي استثناء اختبار:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. بناء وتشغيل التطبيق الخاص بك.

  3. فرض استثناء الاختبار لإرسال التقرير الأول لتطبيقك:

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

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

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

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


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

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