Firebase Crashlytics का इस्तेमाल शुरू करें

इस क्विकस्टार्ट में, ऐप्लिकेशन में Firebase Crashlytics को सेट अप करने का तरीका बताया गया है Crashlytics Flutter प्लगिन का इस्तेमाल करें, ताकि ऐप्लिकेशन क्रैश होने से जुड़ी पूरी जानकारी मिल सके रिपोर्ट देखें.

Crashlytics को सेट अप करने के लिए, कमांड-लाइन टूल और आईडीई, दोनों का इस्तेमाल किया जाता है. सेटअप पूरा करने के लिए, आपको अपने Firebase को पहली क्रैश रिपोर्ट भेजी जा सकती है.

शुरू करने से पहले

  1. अगर आपने अब तक ऐसा नहीं किया है, तो अपने Flutter में Firebase को कॉन्फ़िगर और शुरू करें प्रोजेक्ट.

  2. सुझाव: अपने आप पाने के लिए ब्रेडक्रंब लॉग उपयोगकर्ता की उन कार्रवाइयों को समझने के लिए जिनकी वजह से क्रैश, नॉन-घातक या ANR इवेंट होता है. आपको अपने Firebase प्रोजेक्ट में Google Analytics चालू करना होगा.

    • अगर आपके मौजूदा Firebase प्रोजेक्ट में Google Analytics नहीं है चालू है, तो आप इनसे Google Analytics को चालू कर सकते हैं: आपके इंटिग्रेशन टैब > प्रोजेक्ट सेटिंग देखें.

    • अगर कोई नया Firebase प्रोजेक्ट बनाया जा रहा है, तो Google Analytics चालू करें का इस्तेमाल करते हैं.

    ध्यान दें कि ब्रेडक्रंब लॉग, सभी Android और Apple प्लैटफ़ॉर्म के लिए उपलब्ध हैं यह सुविधा Crashlytics के साथ काम करती है. इसमें WatchOS का इस्तेमाल नहीं किया जा सकता.

पहला चरण: अपने Flutter प्रोजेक्ट में Crashlytics जोड़ना

  1. अपने Flutter प्रोजेक्ट के रूट से, इंस्टॉल करने के लिए नीचे दिया गया कमांड चलाएं Crashlytics के लिए Flutter प्लगिन का इस्तेमाल करें.

    इस सुविधा का फ़ायदा पाने के लिए ब्रेडक्रंब लॉग, अपने ऐप्लिकेशन में Google Analytics के लिए Flutter प्लगिन भी जोड़ें. पक्का करें कि Google Analytics चालू है आपके Firebase प्रोजेक्ट में.

    flutter pub add firebase_crashlytics && flutter pub add firebase_analytics
    
  2. अपने Flutter प्रोजेक्ट की रूट डायरेक्ट्री से, यह कमांड चलाएं:

    flutterfire configure
    

    इस निर्देश को चलाने से यह पक्का हो जाता है कि आपके Flutter ऐप्लिकेशन का Firebase कॉन्फ़िगरेशन वह अप-टू-डेट होता है. साथ ही, Android के लिए, यह ज़रूरी Crashlytics Gradle जोड़ता है प्लगिन का उपयोग करें.

  3. पूरा हो जाने के बाद, अपना Flutter प्रोजेक्ट फिर से बनाएं:

    flutter run
    
  4. (ज़रूरी नहीं) अगर आपका 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 कंसोल के डैशबोर्ड के लिए, आपको जांच अपवाद को ज़बरदस्ती लागू करना होगा फेंका गया.

  1. अपने ऐप्लिकेशन में ऐसा कोड जोड़ें जिसका इस्तेमाल करके, जांच के लिए अपवाद लागू किया जा सके फेंका गया.

    अगर आपने गड़बड़ी हैंडलर जोड़ा है जो FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) से टॉप लेवल Zone है, तो अपने ऐप्लिकेशन में बटन जोड़ने के लिए इस कोड का इस्तेमाल किया जा सकता है जिसे दबाने पर, टेस्ट अपवाद दिखता है:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. अपना ऐप्लिकेशन बनाएं और चलाएं.

  3. अपने ऐप्लिकेशन के पहले उपयोगकर्ता को भेजने के लिए, टेस्ट अपवाद को हर हाल में छोड़ें रिपोर्ट:

    1. अपने टेस्ट डिवाइस या एम्युलेटर से ऐप्लिकेशन खोलें.

    2. अपने ऐप्लिकेशन में, जांच के अपवाद वाले उस बटन को दबाएं जिसे आपने कोड ऊपर दिया गया है.

  4. YouTube Studio के Crashlytics का डैशबोर्ड का इस्तेमाल करें.

    अगर आपने कंसोल रीफ़्रेश कर दिया है और आपको अब भी टेस्ट क्रैश नहीं दिख रहा है, तो पाँच मिनट बाद, डीबग लॉगिंग चालू करें यह देखने के लिए कि आपका ऐप्लिकेशन क्रैश रिपोर्ट भेज रहा है या नहीं.


अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है बस, हो गया. Crashlytics, अब आपके ऐप्लिकेशन के क्रैश होने पर उसे मॉनिटर करता है. साथ ही, Android, साधारण गड़बड़ियां और एएनआर. YouTube Studio के Crashlytics का डैशबोर्ड अपनी सभी रिपोर्ट और आंकड़े देखने और उनकी जांच करने के लिए.

अगले चरण