यह क्विकस्टार्ट वर्णन करता है कि Crashlytics Flutter प्लगइन के साथ अपने ऐप में Firebase Crashlytics कैसे सेट अप करें ताकि आप Firebase कंसोल में व्यापक क्रैश रिपोर्ट प्राप्त कर सकें।
Crashlytics की स्थापना में कमांड-लाइन टूल और आपके IDE दोनों का उपयोग करना शामिल है। सेटअप समाप्त करने के लिए, आपको अपनी पहली क्रैश रिपोर्ट Firebase को भेजने के लिए एक परीक्षण अपवाद को बलपूर्वक फेंकने की आवश्यकता होगी।
शुरू करने से पहले
यदि आपने पहले से नहीं किया है, तो अपने फ़्लटर प्रोजेक्ट में फ़ायरबेस को कॉन्फ़िगर और प्रारंभ करें ।
अनुशंसित : क्रैश-मुक्त उपयोगकर्ता, ब्रेडक्रंब लॉग और वेलोसिटी अलर्ट जैसी सुविधाएं प्राप्त करने के लिए, आपको अपने फायरबेस प्रोजेक्ट में Google Analytics को सक्षम करना होगा।
Crashlytics (watchOS को छोड़कर) द्वारा समर्थित सभी Android और Apple प्लेटफ़ॉर्म Google Analytics की इन सुविधाओं का लाभ उठा सकते हैं।
सुनिश्चित करें कि Google Analytics आपके Firebase प्रोजेक्ट में सक्षम है:
> प्रोजेक्ट सेटिंग > इंटीग्रेशन टैब पर जाएं, फिर Google Analytics के लिए ऑन-स्क्रीन निर्देशों का पालन करें।
चरण 1 : Crashlytics को अपने Flutter प्रोजेक्ट में जोड़ें
अपने Flutter प्रोजेक्ट के रूट से Crashlytics Flutter प्लगइन इंस्टॉल करने के लिए निम्न कमांड चलाएँ:
flutter pub add firebase_crashlytics
अपने स्पंदन प्रोजेक्ट की रूट डायरेक्टरी से, निम्नलिखित कमांड चलाएँ:
flutterfire configure
इस आदेश को चलाने से यह सुनिश्चित होता है कि आपके फ़्लटर ऐप का फायरबेस कॉन्फ़िगरेशन अद्यतित है और Android के लिए आपके ऐप में आवश्यक Crashlytics Gradle प्लगइन जोड़ता है।
एक बार पूरा हो जाने पर, अपनी स्पंदन परियोजना का पुनर्निर्माण करें:
flutter run
(वैकल्पिक) यदि आपका फ़्लटर प्रोजेक्ट
--split-debug-info
फ़्लैग (और, वैकल्पिक रूप से,--obfuscate
फ़्लैग ) का उपयोग करता है, तो आपको Android प्रतीकों को अपलोड करने के लिए Firebase CLI (v.11.9.0+) का उपयोग करना होगा।अपने स्पंदन प्रोजेक्ट की रूट डायरेक्टरी से, निम्नलिखित कमांड चलाएँ:
firebase crashlytics:symbols:upload --app=APP_ID PATH/TO/symbols
PATH/TO /symbols
निर्देशिका वही निर्देशिका है जिसे आप अनुप्रयोग बनाते समय--split-debug-info
फ़्लैग में पास करते हैं।
चरण 2 : क्रैश हैंडलर कॉन्फ़िगर करें
आप 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());
}
अन्य प्रकार की त्रुटियों को कैसे प्रबंधित करें, इसके उदाहरणों के लिए, क्रैश रिपोर्ट कस्टमाइज़ करें देखें।
चरण 3 : सेटअप समाप्त करने के लिए परीक्षण क्रैश को बाध्य करें
Crashlytics की स्थापना समाप्त करने और Firebase कंसोल के Crashlytics डैशबोर्ड में प्रारंभिक डेटा देखने के लिए, आपको एक परीक्षण अपवाद को फेंकने के लिए बाध्य करना होगा।
अपने ऐप में कोड जोड़ें जिसका उपयोग आप परीक्षण अपवाद को फेंकने के लिए बाध्य करने के लिए कर सकते हैं।
यदि आपने एक त्रुटि हैंडलर जोड़ा है जो
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true)
शीर्ष-स्तरीयZone
में कॉल करता है, तो आप अपने ऐप में एक बटन जोड़ने के लिए निम्न कोड का उपयोग कर सकते हैं, जिसे दबाने पर, फेंकता है एक परीक्षण अपवाद:TextButton( onPressed: () => throw Exception(), child: const Text("Throw Test Exception"), ),
अपना ऐप बनाएं और चलाएं।
अपने ऐप की पहली रिपोर्ट भेजने के लिए परीक्षण अपवाद को बलपूर्वक फेंकें:
अपने ऐप को अपने टेस्ट डिवाइस या एमुलेटर से खोलें।
अपने ऐप में, परीक्षण अपवाद बटन दबाएं जिसे आपने उपरोक्त कोड का उपयोग करके जोड़ा है।
अपना परीक्षण क्रैश देखने के लिए Firebase कंसोल के Crashlytics डैशबोर्ड पर जाएं.
यदि आपने कंसोल को रीफ़्रेश किया है और आपको पाँच मिनट के बाद भी परीक्षण क्रैश दिखाई नहीं दे रहा है, तो यह देखने के लिए डीबग लॉगिंग सक्षम करें कि आपका ऐप क्रैश रिपोर्ट भेज रहा है या नहीं।
और बस! Crashlytics अब क्रैश और Android पर गैर-घातक त्रुटियों और ANRs के लिए आपके ऐप की निगरानी कर रहा है। अपनी सभी रिपोर्ट और आंकड़े देखने और जाँच करने के लिए Crashlytics डैशबोर्ड पर जाएँ।
अगले कदम
ऑप्ट-इन रिपोर्टिंग, लॉग, कुंजियाँ और अतिरिक्त गैर-घातक त्रुटियों की ट्रैकिंग जोड़कर अपने क्रैश रिपोर्ट सेटअप को अनुकूलित करें ।
Google Play के साथ एकीकृत करें ताकि आप सीधे Crashlytics डैशबोर्ड में Google Play ट्रैक द्वारा अपने Android ऐप की क्रैश रिपोर्ट को फ़िल्टर कर सकें। यह आपको विशिष्ट बिल्ड पर अपने डैशबोर्ड को बेहतर ढंग से केंद्रित करने की अनुमति देता है।
एंड्रॉइड स्टूडियो में ऐप क्वालिटी इनसाइट्स विंडो के साथ अपने कोड के साथ स्टैक ट्रेस और क्रैश आंकड़े देखें (इलेक्ट्रिक ईल 2022.1.1 से शुरू होने पर उपलब्ध)।