इस क्विकस्टार्ट में, अपने ऐप्लिकेशन में Firebase Crashlytics को सेट अप करने का तरीका बताया गया है Crashlytics Flutter प्लगिन के साथ क्रैश होने की समस्या को हल करें Firebase कंसोल में रिपोर्ट देखी जा सकती हैं.
Crashlytics को सेट अप करने के लिए, कमांड-लाइन टूल और IDE, दोनों का इस्तेमाल किया जाता है. सेटअप पूरा करने के लिए, आपको अपने Firebase को पहली क्रैश रिपोर्ट भेजी जा सकती है.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो अपने Flutter में Firebase को कॉन्फ़िगर और शुरू करें प्रोजेक्ट.
सुझाव: अपने आप पाने के लिए ब्रेडक्रंब लॉग उपयोगकर्ता की उन कार्रवाइयों को समझने के लिए जिनकी वजह से क्रैश, नॉन-घातक या ANR इवेंट होता है. आपको अपने Firebase प्रोजेक्ट में Google Analytics को चालू करना होगा.
अगर आपके मौजूदा Firebase प्रोजेक्ट में Google Analytics नहीं है चालू है, तो आप इनसे Google Analytics को चालू कर सकते हैं: आपके इंटिग्रेशन टैब
> प्रोजेक्ट सेटिंगFirebase कंसोल में. अगर नया Firebase प्रोजेक्ट बनाया जा रहा है, तो Google Analytics चालू करें का इस्तेमाल करते हैं.
ध्यान दें कि ब्रेडक्रंब लॉग, सभी Android और Apple प्लैटफ़ॉर्म के लिए उपलब्ध हैं यह सुविधा, Crashlytics पर काम करती है. हालांकि, इसमें WatchOS का इस्तेमाल नहीं किया जा सकता.
पहला चरण: अपने Flutter प्रोजेक्ट में Crashlytics जोड़ें
अपने Flutter प्रोजेक्ट के रूट से, इंस्टॉल करने के लिए नीचे दिया गया कमांड चलाएं Crashlytics के लिए Flutter प्लग इन.
इस सुविधा का फ़ायदा पाने के लिए ब्रेडक्रंब लॉग, साथ ही, अपने ऐप्लिकेशन में Google Analytics के लिए Flutter प्लगिन जोड़ें. पक्का करें कि Google Analytics चालू है आपके Firebase प्रोजेक्ट में.
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: अपलोड करने के लिए, Firebase सीएलआई (v.11.9.0+) का इस्तेमाल करें Flutter डीबग सिंबल. आपको पहले डीबग सिंबल अपलोड करने होंगे अस्पष्ट कोड बिल्ड से होने वाले क्रैश की रिपोर्ट करना.
अपने Flutter प्रोजेक्ट की रूट डायरेक्ट्री से, नीचे दिए गए काम करें आदेश:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
FIREBASE_APP_ID: आपका Firebase Android ऐप्लिकेशन आईडी (आपका नहीं पैकेज का नाम)
Firebase के Android ऐप्लिकेशन का आईडी:1:567383003300:android:17104a2ced0c9b9b
PATH/TO/symbols
: वही डायरेक्ट्री ऐप्लिकेशन बनाते समय--split-debug-info
फ़्लैग को पास करें
दूसरा चरण: क्रैश हैंडलर कॉन्फ़िगर करना
Flutter में फेंकी जाने वाली सभी गड़बड़ियां अपने-आप कैच की जा सकती हैं
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());
}
एसिंक्रोनस गड़बड़ियों को पहचानने के लिए, जिन्हें 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 का सेट अप पूरा करने और Crashlytics में शुरुआती डेटा देखने के लिए Firebase कंसोल का डैशबोर्ड, तो आपको जांच अपवाद को बलपूर्वक लागू करना होगा फेंका गया.
अपने ऐप्लिकेशन में ऐसा कोड जोड़ें जिसका इस्तेमाल करके, जांच के लिए अपवाद जोड़ा जा सके फेंका गया.
अगर आपने गड़बड़ी हैंडलर जोड़ा है जो
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true)
से टॉप लेवलZone
है, तो अपने ऐप्लिकेशन में बटन जोड़ने के लिए इस कोड का इस्तेमाल किया जा सकता है जिसे दबाने पर, टेस्ट अपवाद दिखता है:TextButton( onPressed: () => throw Exception(), child: const Text("Throw Test Exception"), ),
अपना ऐप्लिकेशन बनाएं और चलाएं.
अपने ऐप्लिकेशन के पहले उपयोगकर्ता को भेजने के लिए, टेस्ट अपवाद को हर हाल में छोड़ें रिपोर्ट:
अपने टेस्ट डिवाइस या एम्युलेटर से ऐप्लिकेशन खोलें.
अपने ऐप्लिकेशन में, जांच के अपवाद वाले उस बटन को दबाएं जिसे आपने कोड ऊपर दिया गया है.
YouTube Studio के Crashlytics डैशबोर्ड Firebase कंसोल में जाकर, अपने टेस्ट क्रैश को देखें.
अगर आपने कंसोल रीफ़्रेश कर दिया है और आपको अब भी टेस्ट क्रैश नहीं दिख रहा है, तो पाँच मिनट बाद, डीबग लॉगिंग चालू करें यह देखने के लिए कि आपका ऐप्लिकेशन क्रैश रिपोर्ट भेज रहा है या नहीं.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
बस, हो गया. Crashlytics अब आपके ऐप्लिकेशन के क्रैश होने से जुड़ी समस्याओं को मॉनिटर कर रहा है. साथ ही, यह सुविधा चालू है
Android, साधारण गड़बड़ियां और एएनआर. YouTube Studio के
Crashlytics डैशबोर्ड
अपनी सभी रिपोर्ट और आंकड़े देखने और उनकी जांच करने के लिए.
अगले चरण
क्रैश रिपोर्ट के सेटअप को पसंद के मुताबिक बनाना इसके लिए ऑप्ट-इन रिपोर्टिंग, लॉग, कुंजियां, और अन्य नुकसान न पहुंचाने वाली चीज़ों की ट्रैकिंग गड़बड़ियां हैं.
Google Play के साथ इंटिग्रेट करना ताकि आप अपने Android ऐप्लिकेशन की क्रैश रिपोर्ट को Google Play ट्रैक के हिसाब से फ़िल्टर कर सकें Crashlytics डैशबोर्ड में. इससे आपको बेहतर फ़ोकस करने में मदद मिलती है खास बिल्ड पर आपका डैशबोर्ड.
अपने ऐप्लिकेशन के साथ-साथ स्टैक ट्रेस और क्रैश के आंकड़े देखें कोड Android Studio में ऐप्लिकेशन की क्वालिटी के बारे में अहम जानकारी विंडो की मदद से (यह सुविधा अभी से उपलब्ध है) इलेक्ट्रिक ईल 2022.1.1 के साथ.