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