| اختيار النظام الأساسي: | 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إلى مراحل تصميم هدف Runner.راجِع القسم المناسب أدناه لمعرفة ما إذا كان نص برمجي للتنفيذ غير متوفّر أو متوفّرًا.
مراجعة إعدادات الإصدار لكل من Flutter وCrashlytics (في حال استخدام العلامة --split-debug-info)
إذا كان مشروع Flutter يستخدم العلامة --split-debug-info (وأيضًا العلامة --obfuscate اختياريًا)، يجب اتّخاذ خطوات إضافية لعرض تتبُّع المكدس القابل للقراءة لتطبيقك.
تأكَّد من أنّ مشروعك يستخدم إعدادات الإصدار المقترَحة (Flutter 3.12.0 والإصدارات الأحدث ومكوّن Crashlytics الإضافي لـ Flutter 3.3.4 والإصدارات الأحدث) حتى يتمكّن مشروعك من إنشاء رموز 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 واجهة سطر الأوامر في Firebase (الإصدار 11.9.0 والإصدارات الأحدث) لتحميل رموز تصحيح أخطاء Flutter . عليك تحميل رموز تصحيح الأخطاء قبل الإبلاغ عن عطل من إصدار رمز تم إخفاؤه.
من دليل المستوى الأعلى لمشروع Flutter، نفِّذ الأمر التالي:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
FIREBASE_APP_ID: رقم تعريف تطبيقك على أجهزة Android في Firebase (وليس اسم الحزمة)
مثال على رقم تعريف تطبيق على أجهزة Android في Firebase:1:567383003300:android:17104a2ced0c9b9bPATH/TO/symbols: الدليل نفسه الذي تمرّره إلى العلامة--split-debug-infoعند إنشاء التطبيق
إذا استمرت المشاكل، يُرجى الرجوع إلى الـ دليل الخاص بأجهزة Android لتحديد مشاكل التقارير التي تم إخفاؤها وحلّها.