了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Firebase Crashlytics . के साथ आरंभ करें

यह क्विकस्टार्ट वर्णन करता है कि Crashlytics Flutter प्लगइन के साथ अपने ऐप में Firebase Crashlytics कैसे सेट अप करें ताकि आप Firebase कंसोल में व्यापक क्रैश रिपोर्ट प्राप्त कर सकें।

Crashlytics की स्थापना में कमांड-लाइन टूल और आपके IDE दोनों का उपयोग करना शामिल है। सेटअप समाप्त करने के लिए, आपको अपनी पहली क्रैश रिपोर्ट Firebase को भेजने के लिए एक परीक्षण अपवाद को बलपूर्वक फेंकने की आवश्यकता होगी।

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

  1. यदि आपने पहले से नहीं किया है, तो अपने फ़्लटर प्रोजेक्ट में फ़ायरबेस को कॉन्फ़िगर और प्रारंभ करें

  2. अनुशंसित : क्रैश-मुक्त उपयोगकर्ता, ब्रेडक्रंब लॉग और वेलोसिटी अलर्ट जैसी सुविधाएं प्राप्त करने के लिए, आपको अपने फायरबेस प्रोजेक्ट में Google Analytics को सक्षम करना होगा।

    Crashlytics (watchOS को छोड़कर) द्वारा समर्थित सभी Android और Apple प्लेटफ़ॉर्म Google Analytics की इन सुविधाओं का लाभ उठा सकते हैं।

    सुनिश्चित करें कि Google Analytics आपके Firebase प्रोजेक्ट में सक्षम है: > प्रोजेक्ट सेटिंग > इंटीग्रेशन टैब पर जाएं, फिर Google Analytics के लिए ऑन-स्क्रीन निर्देशों का पालन करें।

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

  1. अपने Flutter प्रोजेक्ट के रूट से Crashlytics Flutter प्लगइन इंस्टॉल करने के लिए निम्न कमांड चलाएँ:

    flutter pub add firebase_crashlytics
    
  2. अपने स्पंदन प्रोजेक्ट की रूट डायरेक्टरी से, निम्नलिखित कमांड चलाएँ:

    flutterfire configure
    

    इस आदेश को चलाने से यह सुनिश्चित होता है कि आपके फ़्लटर ऐप का फायरबेस कॉन्फ़िगरेशन अद्यतित है और Android के लिए आपके ऐप में आवश्यक Crashlytics Gradle प्लगइन जोड़ता है।

  3. एक बार पूरा हो जाने पर, अपनी स्पंदन परियोजना का पुनर्निर्माण करें:

    flutter run
    
  4. (वैकल्पिक) यदि आपका फ़्लटर प्रोजेक्ट --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 डैशबोर्ड में प्रारंभिक डेटा देखने के लिए, आपको एक परीक्षण अपवाद को फेंकने के लिए बाध्य करना होगा।

  1. अपने ऐप में कोड जोड़ें जिसका उपयोग आप परीक्षण अपवाद को फेंकने के लिए बाध्य करने के लिए कर सकते हैं।

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

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

  3. अपने ऐप की पहली रिपोर्ट भेजने के लिए परीक्षण अपवाद को बलपूर्वक फेंकें:

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

    2. अपने ऐप में, परीक्षण अपवाद बटन दबाएं जिसे आपने उपरोक्त कोड का उपयोग करके जोड़ा है।

  4. अपना परीक्षण क्रैश देखने के लिए Firebase कंसोल के Crashlytics डैशबोर्ड पर जाएं.

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


और बस! Crashlytics अब क्रैश और Android पर गैर-घातक त्रुटियों और ANRs के लिए आपके ऐप की निगरानी कर रहा है। अपनी सभी रिपोर्ट और आंकड़े देखने और जाँच करने के लिए Crashlytics डैशबोर्ड पर जाएँ।

अगले कदम