ডিফল্টরূপে, Firebase Crashlytics স্বয়ংক্রিয়ভাবে আপনার ফ্লাটার প্রজেক্টকে প্রয়োজনীয় চিহ্ন ফাইল আপলোড করতে ইন্সট্রুমেন্ট করে যা নিশ্চিত করে যে ক্র্যাশ রিপোর্টগুলি অস্পষ্ট এবং মানুষের পাঠযোগ্য।
দুর্ভাগ্যবশত, এমন কিছু ঘটনা রয়েছে যার ফলে প্রকল্পটি সম্পূর্ণরূপে কনফিগার করা হয়নি। এই নির্দেশিকাটি অটোমেশন কী করে তা রূপরেখা দেয় এবং আপনার প্রকল্প সেটআপ ডিবাগ করার জন্য প্রথম পদক্ষেপগুলি সরবরাহ করে।
অ্যাপল প্ল্যাটফর্ম
dSYM ফাইল আপলোড করার জন্য আপনার কনফিগারেশন চেক করুন
Crashlytics Flutter প্লাগইন যোগ করা এবং flutterfire configure
কমান্ড চালানোর ফলে আপনার প্রকল্পের Xcode ওয়ার্কস্পেসে একটি রান স্ক্রিপ্ট যোগ করার চেষ্টা করা হবে যা Crashlytics এ প্রয়োজনীয় dSYM চিহ্ন ফাইল খুঁজে এবং আপলোড করে। এই ফাইলগুলি ছাড়া, আপনি Crashlytics ড্যাশবোর্ডে একটি "মিসিং dSYM" সতর্কতা দেখতে পাবেন এবং অনুপস্থিত ফাইলগুলি আপলোড না হওয়া পর্যন্ত ব্যাকএন্ড দ্বারা ব্যতিক্রমগুলি রাখা হবে৷
আপনার যদি এই সমস্যা থাকে তবে প্রথমে নিশ্চিত করুন যে আপনার রান স্ক্রিপ্ট ইনস্টল করা আছে:
আপনার প্রকল্পের iOS ডিরেক্টরিতে Xcode ওয়ার্কস্পেস ফাইলটি সনাক্ত করুন এবং খুলুন (
FLUTTER_PROJECT_NAME /ios/Runner.xcworkspace
)।রানার টার্গেটের বিল্ড ফেজগুলিতে
[firebase_crashlytics] Crashlytics Upload Symbols
নামে একটি রান স্ক্রিপ্ট যোগ করা হয়েছে কিনা তা শনাক্ত করুন।রান স্ক্রিপ্টটি বিদ্যমান নেই বা রান স্ক্রিপ্ট বিদ্যমান কিনা তা জন্য নীচের প্রযোজ্য বিভাগটি দেখুন।
যদি এই রান স্ক্রিপ্টটি বিদ্যমান না থাকে তবে আপনি এটি ম্যানুয়ালি যোগ করতে পারেন:
আপনার Apple অ্যাপের জন্য Firebase অ্যাপ আইডি খুঁজুন। এখানে দুটি ভিন্ন জায়গা রয়েছে যেখানে আপনি এই আইডিটি খুঁজে পেতে পারেন:
Firebase কনসোলে, আপনার
আপনার Flutter প্রকল্পের শীর্ষ-স্তরের ডিরেক্টরিতে, আপনার
firebase_options.dart
ফাইলটি খুঁজুন। আপনার Apple অ্যাপের Firebase অ্যাপ আইডিটিGOOGLE_APP_ID
হিসাবে লেবেলযুক্ত।
নিশ্চিত করুন যে এই নতুন রান স্ক্রিপ্ট পর্বটি আপনার প্রকল্পের শেষ বিল্ড ফেজ। অন্যথায়, Crashlytics সঠিকভাবে dSYMs প্রক্রিয়া করতে পারবে না।
নতুন রান স্ক্রিপ্ট বিভাগটি প্রসারিত করুন।
স্ক্রিপ্ট ক্ষেত্রে ( শেল লেবেলের অধীনে অবস্থিত), নিম্নলিখিত রান স্ক্রিপ্ট যোগ করুন।
এই স্ক্রিপ্টগুলি আপনার dSYM ফাইলগুলি প্রক্রিয়া করে এবং ফাইলগুলি Crashlytics এ আপলোড করে৷
$PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase --validate -ai FIREBASE_APP_ID -- $DWARF_DSYM_FOLDER_PATH/App.framework.dSYM
$PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase -ai FIREBASE_APP_ID -- $DWARF_DSYM_FOLDER_PATH/App.framework.dSYM
- FIREBASE_APP_ID : আপনার ফায়ারবেস অ্যাপল অ্যাপ আইডি (আপনার অ্যাপল বান্ডেল আইডি নয়)
উদাহরণ Firebase Apple App ID:1:1234567890:ios:321abc456def7890
আপনার ফায়ারবেস অ্যাপ আইডি খোঁজার দুটি উপায় এখানে রয়েছে:
আপনার
GoogleService-Info.plist
ফাইলে, আপনার অ্যাপ আইডি হলGOOGLE_APP_ID
মান; বাFirebase কনসোলে, আপনার প্রকল্প সেটিংসে যান। আপনার অ্যাপস কার্ডে নিচে স্ক্রোল করুন, তারপর পছন্দসই Firebase অ্যাপের অ্যাপ আইডি খুঁজতে ক্লিক করুন।
- FIREBASE_APP_ID : আপনার ফায়ারবেস অ্যাপল অ্যাপ আইডি (আপনার অ্যাপল বান্ডেল আইডি নয়)
ইনপুট ফাইল বিভাগে, নিম্নলিখিত ফাইলগুলির অবস্থানের জন্য পাথ যোগ করুন:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
রান স্ক্রিপ্টটি বিদ্যমান থাকলে, dSYM সমস্যা সমাধানের জন্য অ্যাপল-নির্দিষ্ট নির্দেশিকা পড়ুন। আপনি যদি বর্ণিত প্রক্রিয়ার মাধ্যমে আপনার dSYM ফাইলগুলি আপলোড করতে চান তবে আপনাকে নিম্নলিখিত অতিরিক্ত পদক্ষেপগুলি গ্রহণ করতে হবে:
আপনার Apple অ্যাপের জন্য Firebase অ্যাপ আইডি খুঁজুন। এখানে দুটি ভিন্ন জায়গা রয়েছে যেখানে আপনি এই আইডিটি খুঁজে পেতে পারেন:
Firebase কনসোলে, আপনার
আপনার Flutter প্রকল্পের শীর্ষ-স্তরের ডিরেক্টরিতে, আপনার
firebase_options.dart
ফাইলটি খুঁজুন। আপনার Apple অ্যাপের Firebase অ্যাপ আইডিটিGOOGLE_APP_ID
হিসাবে লেবেলযুক্ত।
upload-symbols
স্ক্রিপ্ট চালানোর সময়, এর পরিবর্তে
ব্যবহার করুন-ai FIREBASE_APPLE_APP_ID-gsp /path/to/GoogleService-Info.plist
।
Flutter এবং Crashlytics জন্য আপনার সংস্করণ কনফিগারেশন পরীক্ষা করুন (যদি --split-debug-info
পতাকা ব্যবহার করেন)
যদি আপনার ফ্লাটার প্রকল্প --split-debug-info
ফ্ল্যাগ ব্যবহার করে (এবং, ঐচ্ছিকভাবে, --obfuscate
পতাকাও), আপনার অ্যাপের জন্য পঠনযোগ্য স্ট্যাক ট্রেস দেখানোর জন্য অতিরিক্ত পদক্ষেপের প্রয়োজন।
নিশ্চিত করুন যে আপনার প্রকল্পটি প্রস্তাবিত সংস্করণ কনফিগারেশন (ফ্লাটার 3.12.0+ এবং Crashlytics ফ্লাটার প্লাগইন 3.3.4+) ব্যবহার করছে যাতে আপনার প্রকল্পটি স্বয়ংক্রিয়ভাবে Crashlytics ফ্লাটার চিহ্ন (dSYM ফাইল) তৈরি এবং আপলোড করতে পারে।
অ্যান্ড্রয়েড
আপনার নির্ভরতা কনফিগারেশন পরীক্ষা করুন
flutterfire configure
কমান্ড আপনার প্রকল্পের Gradle বিল্ড ফাইলগুলিতে প্রয়োজনীয় নির্ভরতা যোগ করার চেষ্টা করে। এই নির্ভরতাগুলি ছাড়া, Firebase কনসোলে ক্র্যাশ রিপোর্টগুলি অস্পষ্ট হয়ে যেতে পারে যদি অস্পষ্টতা চালু থাকে।
নিম্নলিখিত লাইনগুলি প্রজেক্ট-লেভেল build.gradle
এবং app-level 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 ব্যবহার করছেন কিনা তা পরীক্ষা করুন (যদি --split-debug-info
পতাকা ব্যবহার করেন)
যদি আপনার ফ্লাটার প্রকল্প --split-debug-info
ফ্ল্যাগ ব্যবহার করে (এবং, ঐচ্ছিকভাবে, --obfuscate
পতাকাও), আপনার অ্যাপের জন্য পঠনযোগ্য স্ট্যাক ট্রেস দেখানোর জন্য অতিরিক্ত পদক্ষেপের প্রয়োজন।
Flutter ডিবাগ চিহ্ন আপলোড করতে Firebase CLI (v.11.9.0+) ব্যবহার করুন। অস্পষ্ট কোড বিল্ড থেকে ক্র্যাশ রিপোর্ট করার আগে আপনাকে ডিবাগ চিহ্নগুলি আপলোড করতে হবে।
আপনার ফ্লটার প্রকল্পের রুট ডিরেক্টরি থেকে, নিম্নলিখিত কমান্ডটি চালান:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
FIREBASE_APP_ID : আপনার Firebase Android App ID (আপনার প্যাকেজের নাম নয়)
উদাহরণ ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ আইডি:1:567383003300:android:17104a2ced0c9b9b
আপনার ফায়ারবেস অ্যাপ আইডি খোঁজার দুটি উপায় এখানে রয়েছে:
আপনার
google-services.json
ফাইলে, আপনার অ্যাপ আইডি হলmobilesdk_app_id
মান; বাFirebase কনসোলে, আপনার প্রকল্প সেটিংসে যান। আপনার অ্যাপস কার্ডে নিচে স্ক্রোল করুন, তারপর পছন্দসই Firebase অ্যাপের অ্যাপ আইডি খুঁজতে ক্লিক করুন।
PATH/TO /symbols
: অ্যাপ্লিকেশন তৈরি করার সময় আপনি--split-debug-info
ফ্ল্যাগে যে ডিরেক্টরিটি পাস করেন
সমস্যা চলতে থাকলে, অস্পষ্ট প্রতিবেদনের সমস্যা সমাধানের জন্য Android-নির্দিষ্ট নির্দেশিকা পড়ুন।