এই কুইকস্টার্টটি বর্ণনা করে কিভাবে আপনার অ্যাপে Crashlytics Flutter প্লাগইন ব্যবহার করে Firebase Crashlytics সেট আপ করবেন যাতে আপনি Firebase কনসোলে ব্যাপক ক্র্যাশ রিপোর্ট পেতে পারেন।
Crashlytics সেট আপ করার জন্য একটি কমান্ড-লাইন টুল এবং আপনার IDE উভয়ই ব্যবহার করা প্রয়োজন। সেটআপ শেষ করতে, আপনার প্রথম ক্র্যাশ রিপোর্ট Firebase-এ পাঠানোর জন্য আপনাকে একটি পরীক্ষা ব্যতিক্রম জোর করে থ্রো করতে হবে।
শুরু করার আগে
যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার Flutter প্রকল্পে Firebase কনফিগার করুন এবং আরম্ভ করুন ।
প্রস্তাবিত : ক্র্যাশ, নন-ফ্যাটাল, বা ANR ইভেন্টের দিকে পরিচালিত ব্যবহারকারীর ক্রিয়াগুলি বুঝতে ব্রেডক্রাম্ব লগগুলি স্বয়ংক্রিয়ভাবে পেতে, আপনার Firebase প্রকল্পে Google Analytics সক্ষম করতে হবে।
যদি আপনার বিদ্যমান Firebase প্রকল্পে Google Analytics সক্ষম না থাকে, তাহলে আপনি আপনার Integrations ট্যাব থেকে Google Analytics সক্ষম করতে পারেন
> Firebase কনসোলে প্রজেক্ট সেটিংস । যদি আপনি একটি নতুন Firebase প্রকল্প তৈরি করেন, তাহলে প্রকল্প তৈরির কর্মপ্রবাহের সময় Google Analytics সক্ষম করুন।
মনে রাখবেন যে ব্রেডক্রাম্ব লগগুলি Crashlytics দ্বারা সমর্থিত সমস্ত Android এবং Apple প্ল্যাটফর্মের জন্য উপলব্ধ (watchOS ব্যতীত)।
ধাপ ১ : আপনার ফ্লটার প্রজেক্টে Crashlytics যোগ করুন
আপনার Flutter প্রকল্পের মূল থেকে, Crashlytics এর জন্য Flutter প্লাগইন ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান।
ব্রেডক্রাম্ব লগের সুবিধা নিতে, আপনার অ্যাপে Google Analytics জন্য ফ্লটার প্লাগইন যোগ করুন। নিশ্চিত করুন যে আপনার ফায়ারবেস প্রজেক্টে গুগল অ্যানালিটিক্স সক্রিয় আছে ।
flutter pub add firebase_crashlytics && flutter pub add firebase_analyticsআপনার Flutter প্রকল্পের রুট ডিরেক্টরি থেকে, নিম্নলিখিত কমান্ডটি চালান:
flutterfire configureএই কমান্ডটি চালানো নিশ্চিত করে যে আপনার Flutter অ্যাপের Firebase কনফিগারেশন আপ-টু-ডেট এবং Android এর জন্য, আপনার অ্যাপে প্রয়োজনীয় Crashlytics Gradle প্লাগইন যোগ করে।
একবার সম্পূর্ণ হয়ে গেলে, আপনার ফ্লটার প্রকল্পটি পুনর্নির্মাণ করুন:
flutter run(ঐচ্ছিক) যদি আপনার Flutter প্রকল্পটি
--split-debug-infoপতাকা ব্যবহার করে (এবং, ঐচ্ছিকভাবে,--obfuscateপতাকাও), তাহলে আপনার অ্যাপগুলির জন্য পঠনযোগ্য স্ট্যাক ট্রেস দেখানোর জন্য অতিরিক্ত পদক্ষেপের প্রয়োজন হবে।অ্যাপল প্ল্যাটফর্ম: নিশ্চিত করুন যে আপনার প্রকল্পটি প্রস্তাবিত সংস্করণ কনফিগারেশন (ফ্লাটার 3.12.0+ এবং Crashlytics ফ্লাটার প্লাগইন 3.3.4+) ব্যবহার করছে যাতে আপনার প্রকল্পটি স্বয়ংক্রিয়ভাবে Crashlytics ফ্লাটার প্রতীক (dSYM ফাইল) তৈরি এবং আপলোড করতে পারে।
অ্যান্ড্রয়েড: 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ফ্ল্যাগে পাস করেন সেই একই ডিরেক্টরি
ধাপ ২ : ক্র্যাশ হ্যান্ডলার কনফিগার করুন
FlutterError.onError FirebaseCrashlytics.instance.recordFlutterFatalError করে Flutter ফ্রেমওয়ার্কের মধ্যে থাকা সমস্ত ত্রুটি স্বয়ংক্রিয়ভাবে ধরা যাবে:
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());
}
Flutter ফ্রেমওয়ার্ক দ্বারা পরিচালিত না হওয়া অ্যাসিঙ্ক্রোনাস ত্রুটিগুলি ধরতে, 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 ড্যাশবোর্ডে প্রাথমিক ডেটা দেখতে, আপনাকে একটি পরীক্ষামূলক ব্যতিক্রম জোর করে থ্রো করতে হবে।
আপনার অ্যাপে এমন কোড যোগ করুন যা ব্যবহার করে আপনি একটি পরীক্ষামূলক ব্যতিক্রম জোর করে ছুঁড়ে ফেলতে পারেন।
যদি আপনি একটি ত্রুটি হ্যান্ডলার যোগ করে থাকেন যা
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true)টপ-লেভেলZoneএ কল করে, তাহলে আপনি নিম্নলিখিত কোডটি ব্যবহার করে আপনার অ্যাপে একটি বোতাম যোগ করতে পারেন যা টিপলে একটি পরীক্ষামূলক ব্যতিক্রম দেখাবে:TextButton( onPressed: () => throw Exception(), child: const Text("Throw Test Exception"), ),আপনার অ্যাপ তৈরি করুন এবং চালান।
আপনার অ্যাপের প্রথম রিপোর্ট পাঠানোর জন্য পরীক্ষার ব্যতিক্রমটি জোর করে ছুঁড়ে ফেলুন:
আপনার পরীক্ষামূলক ডিভাইস বা এমুলেটর থেকে আপনার অ্যাপটি খুলুন।
আপনার অ্যাপে, উপরের কোডটি ব্যবহার করে যোগ করা test exception বোতামটি টিপুন।
আপনার টেস্ট ক্র্যাশ দেখতে Firebase কনসোলের Crashlytics ড্যাশবোর্ডে যান।
যদি আপনি কনসোলটি রিফ্রেশ করে থাকেন এবং পাঁচ মিনিট পরেও পরীক্ষামূলক ক্র্যাশ দেখতে না পান, তাহলে আপনার অ্যাপটি ক্র্যাশ রিপোর্ট পাঠাচ্ছে কিনা তা দেখার জন্য ডিবাগ লগিং সক্ষম করুন ।
আর এই তো! Crashlytics এখন আপনার অ্যাপের ক্র্যাশ এবং Android-এ, নন-ফ্যাটাল ত্রুটি এবং ANR-এর জন্য নজরদারি করছে। আপনার সমস্ত রিপোর্ট এবং পরিসংখ্যান দেখতে এবং তদন্ত করতে Crashlytics ড্যাশবোর্ডে যান।
পরবর্তী পদক্ষেপ
অপ্ট-ইন রিপোর্টিং, লগ, কী এবং অতিরিক্ত অ-মারাত্মক ত্রুটির ট্র্যাকিং যোগ করে আপনার ক্র্যাশ রিপোর্ট সেটআপ কাস্টমাইজ করুন ।
Google Play এর সাথে ইন্টিগ্রেট করুন যাতে আপনি Crashlytics ড্যাশবোর্ডে সরাসরি Google Play ট্র্যাক দ্বারা আপনার অ্যান্ড্রয়েড অ্যাপের ক্র্যাশ রিপোর্ট ফিল্টার করতে পারেন। এটি আপনাকে নির্দিষ্ট বিল্ডগুলিতে আপনার ড্যাশবোর্ডকে আরও ভালভাবে ফোকাস করতে দেয়।
অ্যান্ড্রয়েড স্টুডিওতে অ্যাপ কোয়ালিটি ইনসাইটস উইন্ডো ব্যবহার করে আপনার কোডের পাশাপাশি স্ট্যাক ট্রেস এবং ক্র্যাশ পরিসংখ্যান দেখুন (ইলেকট্রিক ঈল ২০২২.১.১ থেকে শুরু করে উপলব্ধ)।