| انتخاب پلاتفرم: | iOS+ Android Flutter Unity |
بهطور پیشفرض، Firebase Crashlytics بهطور خودکار پروژه Flutter شما را مجهز میکند تا فایلهای نماد لازم را بارگذاری کند و اطمینان حاصل شود که گزارشهای خرابی ابهامزدایی شده و برای انسان قابلخواندن هستند.
متأسفانه مواردی وجود دارد که میتواند منجر به پیکربندی نشدن کامل پروژه شود. این راهنما توضیح میدهد که خودکارسازی چه کاری انجام میدهد و اولین مراحل اشکالزدایی راهاندازی پروژه را ارائه میدهد.
پلاتفرمهای Apple
پیکربندیتان را برای بارگذاری فایلهای dSYM بررسی کنید
با افزودن افزایه Flutter Crashlytics و اجرای فرمان 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 نسخه ۳.۱۲.۰ و بالاتر و افزونه Flutter Crashlytics نسخه ۳.۳.۴ و بالاتر) تا پروژهتان بتواند بهطور خودکار نمادهای 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'
بررسی کنید که از CLI برای بارگذاری نمادهای Flutter استفاده میکنید (اگر از پرچم --split-debug-info استفاده میکنید)
اگر پروژه Flutter شما از پرچم --split-debug-info (و بهصورت اختیاری،
از پرچم --obfuscate نیز) استفاده میکند، برای نمایش ردیابیهای پشته خوانا
برای برنامهتان، مراحل اضافی لازم است.
از Firebase CLI (نسخه ۱۱.۹.۰+) برای بارگذاری نمادهای اشکالزدایی Flutter استفاده کنید. باید نمادهای اشکالزدایی را قبلاز گزارش خرابی از ساخت کد مبهم بارگذاری کنید.
از دایرکتوری ریشه پروژه Flutter، فرمان زیر را اجرا کنید:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
FIREBASE_APP_ID: شناسه برنامه Android در Firebase (نه نام بسته شما)
نمونه شناسه برنامه Android در Firebase:1:567383003300:android:17104a2ced0c9b9b
PATH/TO/symbols: همان دایرکتوریای که هنگام ساختن برنامه به پرچم--split-debug-infoارسال میکنید
اگر مشکل برطرف نشد، به راهنمای مختص Android برای عیبیابی گزارشهای مبهم مراجعه کنید.