| اختيار النظام الأساسي: | iOS+ Android Flutter Unity |
تُفعّل Firebase Crashlytics تلقائيًا في مشروع Flutter لتحميل ملفات الرموز اللازمة التي تضمن إزالة التشويش عن تقارير الأعطال وجعلها قابلة للقراءة.
في بعض الحالات، قد لا يتم إعداد المشروع بالكامل. يوضّح هذا الدليل ما تفعله عملية التشغيل الآلي ويقدّم الخطوات الأولى لتصحيح أخطاء إعداد مشروعك.
منصات Apple
التحقّق من إعدادات تحميل ملفات dSYM
ستحاول إضافة Crashlytics إضافة Flutter وتشغيل الأمر
flutterfire configure إضافة نص برمجي إلى مساحة عمل Xcode الخاصة بمشروعك، ما يؤدي إلى العثور على ملفات رموز dSYM الضرورية وتحميلها إلى Crashlytics. بدون هذه الملفات، ستظهر لك تنبيه "ملف dSYM غير متوفّر" في لوحة بيانات Crashlytics، وسيحتفظ الخلفية بالاستثناءات إلى أن يتم تحميل الملفات غير المتوفّرة.
إذا واجهت هذه المشكلة، تأكَّد أولاً من تثبيت النص البرمجي للتشغيل:
ابحث عن ملف مساحة عمل Xcode وافتحه في دليل iOS الخاص بمشروعك (
FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace).تحديد ما إذا تمت إضافة نص برمجي بعنوان
[firebase_crashlytics] Crashlytics Upload Symbolsإلى مراحل الإنشاء (Build Phases) الخاصة بهدف Runner.راجِع القسم المناسب أدناه لمعرفة ما إذا كان النص البرمجي للتنفيذ غير متوفّر أو متوفّرًا.
تحقَّق من إعدادات الإصدار لكل من Flutter وCrashlytics (في حال استخدام العلامة --split-debug-info)
إذا كان مشروع Flutter يستخدم العلامة --split-debug-info (ويمكنك أيضًا استخدام العلامة --obfuscate)، يجب اتّخاذ خطوات إضافية لعرض عمليات تتبُّع تسلسل استدعاء الدوال البرمجية قابلة للقراءة لتطبيقك.
تأكَّد من أنّ مشروعك يستخدم إعدادات الإصدار الموصى بها (الإصدار 3.12.0 من Flutter والإصدار 3.3.4 من المكوّن الإضافي Crashlytics Flutter والإصدارات الأحدث) حتى يتمكّن مشروعك من إنشاء رموز Flutter (ملفات dSYM) وتحميلها تلقائيًا إلى Crashlytics.
Android
مراجعة إعدادات التبعية
يحاول الأمر flutterfire configure إضافة التبعيات اللازمة إلى ملفات تصميم Gradle في مشروعك. وبدون هذه التبعيات، قد يتم تشويش تقارير الأعطال في وحدة تحكّم Firebase إذا تم تفعيل التشويش.
تأكَّد من توفّر الأسطر التالية في build.gradle على مستوى المشروع وفي build.gradle على مستوى التطبيق:
في ملف التصميم على مستوى المشروع (
android/build.gradle)، ابحث عن السطر التالي:dependencies { // ... other dependencies classpath 'com.google.gms:google-services:4.3.5' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1' }في ملف الإصدار على مستوى التطبيق (
android/app/build.gradle)، ابحث عن السطر التالي:// ... other imports android { // ... your android config } dependencies { // ... your dependencies } // This section must appear at the bottom of the file apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.firebase.crashlytics'
تأكَّد من استخدام واجهة سطر الأوامر لتحميل رموز Flutter (في حال استخدام العلامة --split-debug-info)
إذا كان مشروع Flutter يستخدم العلامة --split-debug-info (ويمكنك أيضًا استخدام العلامة --obfuscate)، يجب اتّخاذ خطوات إضافية لعرض عمليات تتبُّع تسلسل استدعاء الدوال البرمجية قابلة للقراءة لتطبيقك.
استخدِم Firebase CLI (الإصدار 11.9.0 أو الإصدارات الأحدث) لتحميل رموز تصحيح الأخطاء في Flutter. عليك تحميل رموز تصحيح الأخطاء قبل الإبلاغ عن عُطل من إصدار رمز مبهم.
من دليل الجذر لمشروع Flutter، نفِّذ الأمر التالي:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
FIREBASE_APP_ID: رقم تعريف تطبيق Firebase على Android (وليس اسم الحزمة)
مثال على رقم تعريف تطبيق Firebase على Android:1:567383003300:android:17104a2ced0c9b9bPATH/TO/symbols: المجلد نفسه الذي تُدخله إلى العلامة--split-debug-infoعند إنشاء التطبيق
إذا استمرت المشاكل، يُرجى الرجوع إلى دليل تحديد المشاكل وحلّها في التقارير التي تم تشويشها على أجهزة Android.