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