| প্ল্যাটফর্ম নির্বাচন করুন: | iOS+ অ্যান্ড্রয়েড অ্যান্ড্রয়েড এনডিকে ফ্লাটার ইউনিটি |
এই নির্দেশিকায় বর্ণনা করা হয়েছে কীভাবে আপনার ফ্লাটার অ্যাপে Firebase Crashlytics ব্যবহার শুরু করবেন।
আপনার অ্যাপে Crashlytics Flutter প্লাগইনটি সেট আপ করার পরে, আপনি Firebase কনসোলে বিস্তারিত ক্র্যাশ রিপোর্ট পেতে পারেন।
Crashlytics সেট আপ করার জন্য একটি কমান্ড-লাইন টুল এবং আপনার IDE উভয়ই ব্যবহার করতে হয়। সেটআপ শেষ করতে, Firebase-এ আপনার প্রথম ক্র্যাশ রিপোর্ট পাঠানোর জন্য আপনাকে একটি টেস্ট এক্সেপশন থ্রো করতে হবে।
শুরু করার আগে
যদি আগে থেকে না করে থাকেন, তাহলে আপনার ফ্লাটার প্রজেক্টে ফায়ারবেস কনফিগার এবং ইনিশিয়ালাইজ করুন ।
সুপারিশকৃত : কোনো ক্র্যাশ, নন-ফেটাল বা এএনআর ইভেন্টের আগে ব্যবহারকারীর কার্যকলাপ বোঝার জন্য স্বয়ংক্রিয়ভাবে ব্রেডক্রাম্ব লগ পেতে, আপনাকে আপনার ফায়ারবেস প্রজেক্টে Google Analytics সক্রিয় করতে হবে।
আপনার বিদ্যমান Firebase প্রজেক্টে যদি Google Analytics সক্রিয় করা না থাকে, তাহলে আপনি আপনার প্রজেক্টের Integrations ট্যাব থেকে Google Analytics সক্রিয় করতে পারেন।
Firebase কনসোলে > প্রজেক্ট সেটিংস । আপনি যদি একটি নতুন Firebase প্রজেক্ট তৈরি করেন, তাহলে প্রজেক্ট তৈরির প্রক্রিয়া চলাকালীন Google Analytics সক্রিয় করুন।
উল্লেখ্য যে, Crashlytics দ্বারা সমর্থিত সমস্ত অ্যান্ড্রয়েড এবং অ্যাপল প্ল্যাটফর্মের (watchOS ব্যতীত) জন্য ব্রেডক্রাম্ব লগ উপলব্ধ।
ধাপ ১ : আপনার ফ্লাটার প্রজেক্টে Crashlytics যোগ করুন
আপনার ফ্লাটার প্রজেক্টের রুট থেকে, Crashlytics এর ফ্লাটার প্লাগইনটি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান।
ব্রেডক্রাম্ব লগের সুবিধা নিতে, আপনার অ্যাপে Google Analytics ফ্লাটার প্লাগইনটিও যোগ করুন। আপনার ফায়ারবেস প্রজেক্টে গুগল অ্যানালিটিক্স সক্রিয় করা আছে কিনা, তা নিশ্চিত করুন।
flutter pub add firebase_crashlytics && flutter pub add firebase_analyticsআপনার ফ্লাটার প্রজেক্টের রুট ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালান:
flutterfire configureএই কমান্ডটি চালালে আপনার ফ্লাটার অ্যাপের ফায়ারবেস কনফিগারেশন হালনাগাদ থাকে এবং অ্যান্ড্রয়েডের জন্য, আপনার অ্যাপে প্রয়োজনীয় Crashlytics গ্রেডল প্লাগইনটি যুক্ত হয়।
একবার সম্পন্ন হলে, আপনার ফ্লাটার প্রজেক্টটি রি-বিল্ড করুন:
flutter run(ঐচ্ছিক) যদি আপনার ফ্লাটার প্রজেক্টে
--split-debug-infoফ্ল্যাগ (এবং ঐচ্ছিকভাবে,--obfuscateফ্ল্যাগও) ব্যবহৃত হয়, তাহলে আপনার অ্যাপগুলোর পাঠযোগ্য স্ট্যাক ট্রেস দেখানোর জন্য অতিরিক্ত কিছু পদক্ষেপের প্রয়োজন হবে।অ্যাপল প্ল্যাটফর্ম: নিশ্চিত করুন যে আপনার প্রজেক্টটি প্রস্তাবিত ভার্সন কনফিগারেশন (Flutter 3.12.0+ এবং Crashlytics Flutter প্লাগইন 3.3.4+) ব্যবহার করছে, যাতে আপনার প্রজেক্ট স্বয়ংক্রিয়ভাবে Flutter সিম্বল (dSYM ফাইল) তৈরি করে Crashlytics এ আপলোড করতে পারে।
অ্যান্ড্রয়েড: ফ্লাটার ডিবাগ সিম্বল আপলোড করতে Firebase সিএলআই (v.11.9.0+) ব্যবহার করুন। একটি অবফাসকেটেড কোড বিল্ড থেকে ক্র্যাশ রিপোর্ট করার আগে আপনাকে ডিবাগ সিম্বলগুলো আপলোড করতে হবে।
আপনার ফ্লাটার প্রজেক্টের রুট ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালান:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
FIREBASE_APP_ID : আপনার ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ আইডি (প্যাকেজ নেম নয়)
উদাহরণস্বরূপ ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ আইডি:1:567383003300:android:17104a2ced0c9b9bআপনার ফায়ারবেস অ্যাপ আইডি খুঁজে বের করার দুটি উপায় নিচে দেওয়া হলো:
আপনার
google-services.jsonফাইলে, আপনার অ্যাপ আইডি হলmobilesdk_app_idভ্যালুটি; অথবাFirebase কনসোলে, আপনার প্রজেক্ট সেটিংসে যান। 'Your apps' কার্ডে গিয়ে, কাঙ্ক্ষিত Firebase অ্যাপটির অ্যাপ আইডি খুঁজে বের করতে সেটিতে ক্লিক করুন।
PATH/TO /symbols: অ্যাপ্লিকেশনটি বিল্ড করার সময় আপনি--split-debug-infoফ্ল্যাগে যে ডিরেক্টরিটি পাস করেন, এটি সেই একই ডিরেক্টরি।
ধাপ ২ : ক্র্যাশ হ্যান্ডলার কনফিগার করুন
আপনি FlutterError.onError FirebaseCrashlytics.instance.recordFlutterFatalError দিয়ে ওভাররাইড করে ফ্লাটার ফ্রেমওয়ার্কের মধ্যে নিক্ষিপ্ত সমস্ত ত্রুটি স্বয়ংক্রিয়ভাবে ধরতে পারেন:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
// Pass all uncaught "fatal" errors from the framework to Crashlytics
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;
runApp(MyApp());
}
ফ্লাটার ফ্রেমওয়ার্ক দ্বারা হ্যান্ডেল করা হয় না এমন অ্যাসিঙ্ক্রোনাস ত্রুটিগুলি ধরার জন্য, PlatformDispatcher.instance.onError ব্যবহার করুন:
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FlutterError.onError = (errorDetails) {
FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
};
// Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics
PlatformDispatcher.instance.onError = (error, stack) {
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
return true;
};
runApp(MyApp());
}
অন্যান্য ধরনের ত্রুটি কীভাবে পরিচালনা করতে হয় তার উদাহরণের জন্য, ক্র্যাশ রিপোর্ট কাস্টমাইজ করুন দেখুন।
ধাপ ৩ : সেটআপ শেষ করতে একটি টেস্ট ক্র্যাশ ঘটান।
Crashlytics সেটআপ শেষ করতে এবং Firebase কনসোলের Crashlytics ড্যাশবোর্ডে প্রাথমিক ডেটা দেখতে, আপনাকে একটি টেস্ট এক্সেপশন জোর করে থ্রো করতে হবে।
আপনার অ্যাপে এমন কোড যোগ করুন যা ব্যবহার করে আপনি একটি টেস্ট এক্সেপশন থ্রো করতে বাধ্য করতে পারবেন।
যদি আপনি টপ-লেভেল
Zoneএমন একটি এরর হ্যান্ডলার যোগ করে থাকেন যাFirebaseCrashlytics.instance.recordError(error, stack, fatal: true)কল করে, তাহলে আপনার অ্যাপে এমন একটি বাটন যোগ করতে নিম্নলিখিত কোডটি ব্যবহার করতে পারেন, যা চাপলে একটি টেস্ট এক্সেপশন থ্রো করবে:TextButton( onPressed: () => throw Exception(), child: const Text("Throw Test Exception"), ),আপনার অ্যাপটি তৈরি করুন এবং চালান।
আপনার অ্যাপের প্রথম রিপোর্টটি পাঠানোর জন্য টেস্ট এক্সেপশনটি থ্রো করতে বাধ্য করুন:
আপনার টেস্ট ডিভাইস বা এমুলেটর থেকে অ্যাপটি খুলুন।
আপনার অ্যাপে, উপরের কোড ব্যবহার করে যোগ করা টেস্ট এক্সেপশন বাটনটি চাপুন।
আপনার টেস্ট ক্র্যাশটি দেখতে Firebase কনসোলের Crashlytics ড্যাশবোর্ডে যান।
আপনি যদি কনসোল রিফ্রেশ করার পরেও পাঁচ মিনিট পর টেস্টটি ক্র্যাশ করতে না দেখেন, তাহলে আপনার অ্যাপটি ক্র্যাশ রিপোর্ট পাঠাচ্ছে কিনা তা দেখতে ডিবাগ লগিং চালু করুন ।
আর এটুকুই! Crashlytics এখন আপনার অ্যাপের ক্র্যাশ এবং অ্যান্ড্রয়েডের ক্ষেত্রে, নন-ফেটাল এরর ও ANR-এর উপর নজর রাখছে। আপনার সমস্ত রিপোর্ট ও পরিসংখ্যান দেখতে এবং খতিয়ে দেখতে Crashlytics ড্যাশবোর্ডে যান।
পরবর্তী পদক্ষেপ
ঐচ্ছিক রিপোর্টিং, লগ, কী এবং অতিরিক্ত অ-মারাত্মক ত্রুটির ট্র্যাকিং যোগ করে আপনার ক্র্যাশ রিপোর্ট সেটআপটি কাস্টমাইজ করুন ।
Google Play সাথে ইন্টিগ্রেট করুন , যাতে আপনি সরাসরি Crashlytics ড্যাশবোর্ডে Google Play ট্র্যাক অনুযায়ী আপনার অ্যান্ড্রয়েড অ্যাপের ক্র্যাশ রিপোর্টগুলো ফিল্টার করতে পারেন। এর ফলে আপনি নির্দিষ্ট বিল্ডগুলোর ওপর আপনার ড্যাশবোর্ডকে আরও ভালোভাবে ফোকাস করতে পারবেন।
অ্যান্ড্রয়েড স্টুডিও-এর অ্যাপ কোয়ালিটি ইনসাইটস উইন্ডোতে আপনার কোডের পাশাপাশি স্ট্যাক ট্রেস এবং ক্র্যাশ পরিসংখ্যান দেখুন (ইলেকট্রিক ইল ২০২২.১.১ থেকে উপলব্ধ)।
উন্নত বিশ্লেষণ এবং বিভিন্ন ফিচারের জন্য, যেমন আপনার ডেটা কোয়েরি করা, কাস্টম ড্যাশবোর্ড তৈরি করা এবং কাস্টম অ্যালার্ট সেট আপ করার জন্য, আপনার ডেটা BigQuery বা Cloud Logging এ এক্সপোর্ট করুন ।