Crashlytics ড্যাশবোর্ডে (Flutter) পাঠযোগ্য ক্র্যাশ রিপোর্ট পাওয়া
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
ডিফল্ট হিসেবে, Firebase Crashlytics আপনার Flutter
প্রোজেক্ট অটোমেটিক ইনস্ট্রুমেন্ট করে যাতে প্রয়োজনীয় সিম্বল ফাইল আপলোড করা যায়। এর ফলে ক্র্যাশ রিপোর্ট
ডিবফস্কেট করা যায় এবং তা মানুষের পক্ষে পড়ার উপযুক্ত হয়।
কিছু ক্ষেত্রে, প্রোজেক্ট সম্পূর্ণভাবে কনফিগার করা নাও হতে পারে। এই গাইড অটোমেশন কী করে তা বর্ণনা করে এবং আপনার প্রোজেক্ট সেট-আপ
ডিবাগ করার জন্য প্রথম ধাপগুলি প্রদান করে।
Apple প্ল্যাটফর্ম
dSYM ফাইল আপলোড করার জন্য আপনার কনফিগারেশন চেক করুন
Crashlytics Flutter প্লাগ-ইন যোগ করা এবং
flutterfire configure কমান্ড চালানোর মাধ্যমে আপনার
প্রোজেক্টের Xcode ওয়ার্কস্পেসে রান স্ক্রিপ্ট যোগ করার চেষ্টা করা হবে। এটি Crashlytics-এ প্রয়োজনীয় dSYM সিম্বল ফাইল খুঁজে
আপলোড করে। এইসব ফাইল না থাকলে, আপনি Crashlytics ড্যাশবোর্ডে "dSYM নেই" অ্যালার্ট দেখতে পাবেন এবং
হারিয়ে যাওয়া ফাইল আপলোড না করা পর্যন্ত ব্যাকএন্ডে ব্যতিক্রম
হোল্ডে রাখা হবে।
আপনার এই সমস্যা হলে, প্রথমে রান স্ক্রিপ্ট ইনস্টল করা আছে কিনা তা নিশ্চিত করুন:
dSYMs অটোমেটিক আপলোড করার জন্য স্ক্রিপ্ট রান করার সুবিধা নেই
এই রান স্ক্রিপ্টটি না থাকলে, আপনি এটি ম্যানুয়ালি যোগ করতে পারবেন:
আপনার Apple অ্যাপের জন্য Firebase অ্যাপ আইডি খুঁজে বের করুন। এখানে দুটি আলাদা জায়গা
রয়েছে যেখানে আপনি এই আইডি খুঁজে পাবেন:
Firebase কনসোলে, আপনার
settings > প্রোজেক্ট সেটিংস বিকল্পে যান।
আপনার অ্যাপ কার্ডে যান, তারপর আপনার
Firebase Apple অ্যাপে ক্লিক করে অ্যাপ আইডি সহ অ্যাপের তথ্য দেখুন।
আপনার Flutter প্রোজেক্টের সবচেয়ে উপরের লেভেলের ডিরেক্টরিতে, আপনার
firebase_options.dart ফাইল খুঁজুন। আপনার Apple অ্যাপের Firebase অ্যাপ আইডিকে
appId হিসেবে লেবেল করা হয়েছে।
add >
নতুন রান স্ক্রিপ্ট ফেজ বিকল্পে ক্লিক করুন।
দেখে নিন যে এই নতুন রান স্ক্রিপ্ট ফেজটি আপনার প্রজেক্টের শেষ বিল্ড
ফেজ। তা না হলে, Crashlytics dSYM সঠিকভাবে প্রসেস করতে পারবে না।
নতুন স্ক্রিপ্ট রান করুন বিভাগটি বড় করুন।
স্ক্রিপ্ট ফিল্ডে (Shell লেবেলের নিচে অবস্থিত), নিচে দেওয়া
রান স্ক্রিপ্ট যোগ করুন।
এইসব স্ক্রিপ্ট আপনার dSYM ফাইল প্রসেস করে এবং ফাইলগুলি
Crashlytics-এ আপলোড করে।
রান স্ক্রিপ্টের জন্য বিল্ড ফাইল উপলভ্য আছে কিনা তা নিশ্চিত করতে
Xcode নির্দিষ্ট লোকেশনে এইসব ইনপুট ফাইল খোঁজে। এছাড়াও, ব্যবহারকারীর স্ক্রিপ্ট স্যান্ডবক্সিং চালু করা থাকলে, Xcode শুধুমাত্র রান
স্ক্রিপ্টকে ইনপুট ফাইল-এ উল্লেখ করা ফাইল অ্যাক্সেস করার অনুমতি দেয়।
আপনার প্রোজেক্টের dSYM ফাইলের লোকেশন প্রদান করলে,
Crashlytics dSYM প্রসেস করতে পারে।
আপনার অ্যাপের বিল্ডের লোকেশন প্রদান করলে
GoogleService-Info.plistCrashlytics আপনার Firebase অ্যাপের সাথে dSYMs অ্যাসোসিয়েট করতে
পারে।
আপনার অ্যাপের এক্সিকিউটেবল ফাইলের লোকেশন প্রদান করলে, রান
স্ক্রিপ্ট একই dSYM-এর ডুপ্লিকেট আপলোড প্রতিরোধ করতে পারে। মনে রাখবেন, অ্যাপ
বাইনারি আপলোড করা হয় না।
dSYM অটোমেটিক আপলোড করার জন্য স্ক্রিপ্ট রান করা আছে
আপনার Apple অ্যাপের জন্য Firebase অ্যাপ আইডি খুঁজে বের করুন। এখানে দুটি আলাদা জায়গা
রয়েছে যেখানে আপনি এই আইডি খুঁজে পাবেন:
Firebase কনসোলে, আপনার
settings > প্রোজেক্ট সেটিংস বিকল্পে যান।
আপনার অ্যাপ কার্ডে যান, তারপর আপনার
Firebase Apple অ্যাপে ক্লিক করে অ্যাপ আইডি সহ অ্যাপের তথ্য দেখুন।
আপনার Flutter প্রোজেক্টের সবচেয়ে উপরের লেভেলের ডিরেক্টরিতে, আপনার
firebase_options.dart ফাইল খুঁজুন। আপনার Apple অ্যাপের Firebase অ্যাপ আইডিকে
appId হিসেবে লেবেল করা হয়েছে।
Flutter ও Crashlytics-এর জন্য আপনার ভার্সন কনফিগারেশন চেক করুন (--split-debug-info ফ্ল্যাগ ব্যবহার করলে)
আপনার Flutter প্রোজেক্টে --split-debug-info ফ্ল্যাগ ব্যবহার করা হলে (এবং ঐচ্ছিকভাবে,
--obfuscate ফ্ল্যাগও ব্যবহার করা হলে), আপনার অ্যাপের জন্য পাঠযোগ্য
স্ট্যাক ট্রেস দেখাতে অতিরিক্ত ধাপ প্রয়োজন।
আপনার প্রজেক্টে যেন সাজেস্ট করা ভার্সন কনফিগারেশন
(Flutter 3.12.0+ এবং Crashlytics Flutter প্লাগ-ইন 3.3.4+) ব্যবহার করা হয় তা নিশ্চিত করুন, যাতে আপনার প্রজেক্ট
Crashlytics-এ অটোমেটিক Flutter সিম্বল (dSYM ফাইল) জেনারেট ও আপলোড করতে
পারে।
Android
আপনার ডিপেন্ডেন্সি কনফিগারেশন চেক করুন
flutterfire configure কমান্ড আপনার প্রোজেক্টের Gradle বিল্ড ফাইলে
প্রয়োজনীয় ডিপেন্ডেন্সি যোগ করার চেষ্টা করে। এইসব নির্ভরতা না থাকলে, Firebase কনসোলে
ক্র্যাশ রিপোর্ট অস্পষ্ট হয়ে যেতে পারে, যদি অস্পষ্টতা চালু করা থাকে।
প্রোজেক্ট-লেভেল build.gradle
ও অ্যাপ-লেভেলে build.gradle নিম্নলিখিত লাইনগুলি আছে কিনা দেখুন:
প্রোজেক্ট-লেভেল বিল্ড ফাইলে (android/build.gradle), নিম্নলিখিত
লাইনটি আছে কিনা দেখুন:
অ্যাপ-লেভেল বিল্ড ফাইলে (android/app/build.gradle), নিচে উল্লেখ করা লাইনটি আছে কিনা দেখুন:
// ... other importsandroid{// ... your android config}dependencies{// ... your dependencies}// This section must appear at the bottom of the fileapplyplugin:'com.google.gms.google-services'applyplugin:'com.google.firebase.crashlytics'
Flutter সিম্বল আপলোড করার জন্য CLI ব্যবহার করছেন কিনা তা চেক করুন (--split-debug-info ফ্ল্যাগ ব্যবহার করলে)
আপনার Flutter প্রোজেক্টে --split-debug-info ফ্ল্যাগ ব্যবহার করা হলে (এবং ঐচ্ছিকভাবে,
--obfuscate ফ্ল্যাগও ব্যবহার করা হলে), আপনার অ্যাপের জন্য পাঠযোগ্য
স্ট্যাক ট্রেস দেখাতে অতিরিক্ত ধাপ প্রয়োজন।
Flutter ডিবাগ
সিম্বল আপলোড করতে Firebase CLI (v.11.9.0+) ব্যবহার করুন। অবফাসকেট করা কোড বিল্ড থেকে ক্র্যাশ রিপোর্ট করার আগে আপনাকে ডিবাগ সিম্বল আপলোড করতে হবে।
আপনার Flutter প্রোজেক্টের মূল ডিরেক্টরি থেকে, নিম্নলিখিত কমান্ড রান করুন:
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2026-10-07 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[]]