| प्लैटफ़ॉर्म चुनें: | iOS+ Android Android NDK Flutter Unity |
इस गाइड में, Firebase Crashlytics का इस्तेमाल शुरू करने का तरीका बताया गया है आपके Flutter ऐप्लिकेशन में.
अपने ऐप्लिकेशन में Crashlytics Flutter प्लग-इन सेट अप करने के बाद, क्रैश की पूरी रिपोर्ट Firebase कंसोल में देखी जा सकती हैं.
Crashlytics सेट अप करने के लिए, कमांड-लाइन टूल और आईडीई, दोनों का इस्तेमाल करना होता है. सेटअप पूरा करने के लिए, आपको टेस्ट के तौर पर एक गड़बड़ी को ज़बरदस्ती जनरेट करना होगा, ताकि Firebase को क्रैश की पहली रिपोर्ट भेजी जा सके.
शुरू करने से पहले
अगर आपने पहले से ही ऐसा नहीं किया है, तो अपने Flutter प्रोजेक्ट में Firebase को कॉन्फ़िगर और शुरू करें.
सुझाया गया: क्रैश, नॉन-फ़ेटल या ANR इवेंट से पहले, उपयोगकर्ता की कार्रवाइयों को समझने के लिए, ब्रेडक्रंब लॉग अपने-आप पाने के लिए, आपको अपने Firebase प्रोजेक्ट में Google Analytics को चालू करना होगा.
अगर आपको नया Firebase प्रोजेक्ट बनाना है, तो प्रोजेक्ट बनाने के वर्कफ़्लो के दौरान Google Analytics को चालू करें.
अगर किसी ऐसे मौजूदा Firebase प्रोजेक्ट का इस्तेमाल किया जा रहा है जिसमें Google Analytics चालू नहीं है, तो उसे
सेटिंग > इंटिग्रेशन पेज पर जाकर चालू किया जा सकता है.Firebase
ध्यान दें कि ब्रेडक्रंब लॉग, Crashlytics के साथ काम करने वाले सभी Android और Apple प्लैटफ़ॉर्म के लिए उपलब्ध हैं. हालांकि, watchOS के लिए यह सुविधा उपलब्ध नहीं है.Crashlytics
पहला चरण: अपने Flutter प्रोजेक्ट में Crashlytics जोड़ना
Crashlytics के लिए Flutter प्लग-इन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट की रूट डायरेक्ट्री से यह कमांड चलाएं Crashlytics.
ब्रेडक्रंब लॉग का फ़ायदा पाने के लिए, अपने ऐप्लिकेशन में Google Analytics के लिए Flutter प्लग-इन भी जोड़ें. पक्का करें कि आपके Firebase प्रोजेक्ट में Google Analytics चालू हो .
flutter pub add firebase_crashlytics && flutter pub add firebase_analyticsअपने Flutter प्रोजेक्ट की रूट डायरेक्ट्री से यह कमांड चलाएं:
flutterfire configureइस कमांड को चलाने से यह पक्का होता है कि आपके Flutter ऐप्लिकेशन का Firebase कॉन्फ़िगरेशन अप-टू-डेट है. साथ ही, Android के लिए, आपके ऐप्लिकेशन में ज़रूरी Crashlytics Gradle प्लग-इन जुड़ जाता है.
यह प्रोसेस पूरी होने के बाद, अपने Flutter प्रोजेक्ट को फिर से बनाएं:
flutter run(ज़रूरी नहीं) अगर आपके Flutter प्रोजेक्ट में
--split-debug-infoफ़्लैग का इस्तेमाल किया जाता है, तो आपके ऐप्लिकेशन के लिए, स्टैक ट्रेस को पढ़ने लायक बनाने के लिए, अतिरिक्त चरणों को पूरा करना होगा. इसके अलावा,--obfuscateफ़्लैग का इस्तेमाल भी किया जा सकता है.Apple प्लैटफ़ॉर्म: पक्का करें कि आपका प्रोजेक्ट, सुझाए गए वर्शन कॉन्फ़िगरेशन (Flutter 3.12.0 और Crashlytics Flutter प्लग-इन 3.3.4 या इसके बाद के वर्शन) का इस्तेमाल कर रहा हो, ताकि आपका प्रोजेक्ट, Flutter सिंबल (dSYM फ़ाइलें) को अपने-आप जनरेट और अपलोड कर सके.Crashlytics
Android: Flutter के डीबग सिंबल अपलोड करने के लिए, Firebase CLI (वर्शन 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:17104a2ced0c9b9bPATH/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());
}
एसिंक्रोनस गड़बड़ियों को पकड़ने के लिए, PlatformDispatcher.instance.onError का इस्तेमाल करें. इन गड़बड़ियों को Flutter फ़्रेमवर्क हैंडल नहीं करता:
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 कंसोल में DevOps और उपयोगकर्ता जुड़ाव > Crashlytics डैशबोर्ड पर जाएं.
अगर कंसोल को रीफ़्रेश करने के बाद भी, पांच मिनट तक टेस्ट के तौर पर जनरेट किए गए क्रैश की रिपोर्ट नहीं दिखती है, तो डीबग लॉगिंग चालू करें . इससे यह पता चलेगा कि आपका ऐप्लिकेशन, क्रैश की रिपोर्ट भेज रहा है या नहीं.
बस इतना ही! अब Crashlytics आपके ऐप्लिकेशन में क्रैश की निगरानी कर रहा है. साथ ही, Android पर, नॉन-फ़ेटल गड़बड़ियों और ANR की भी निगरानी कर रहा है. अपनी सभी रिपोर्ट और आंकड़े देखने और उनकी जांच करने के लिए, Crashlytics डैशबोर्ड पर जाएं.
अगले चरण
क्रैश रिपोर्ट के सेटअप को पसंद के मुताबिक बनाएं ऑप्ट-इन रिपोर्टिंग, लॉग, की, और नॉन-फ़ेटल गड़बड़ियों को ट्रैक करने की सुविधा जोड़कर.
के साथ इंटिग्रेट करें, ताकि Google Play डैशबोर्ड में सीधे Google Play ट्रैक के हिसाब से, अपने Android ऐप्लिकेशन की क्रैश रिपोर्ट को फ़िल्टर किया जा सके.Crashlytics इससे, डैशबोर्ड को खास बिल्ड पर बेहतर तरीके से फ़ोकस किया जा सकेगा.
Android Studio में ऐप्लिकेशन की क्वालिटी के बारे में अहम जानकारी विंडो में, अपने कोड के साथ-साथ स्टैक ट्रेस और क्रैश के आंकड़े देखें. यह सुविधा, Electric Eel 2022.1.1 से उपलब्ध है.
बेहतर विश्लेषण और सुविधाओं के लिए, अपना डेटा BigQuery या Cloud Logging में एक्सपोर्ट करें. जैसे, अपने डेटा को क्वेरी करना, कस्टम डैशबोर्ड बनाना, और कस्टम अलर्ट सेट अप करना.