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

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

Crashlytics को सेट अप करने के लिए, Firebase कंसोल और आपका IDE (जैसे, Firebase कॉन्फ़िगरेशन फ़ाइल और Crashlytics जोड़ना) SDK टूल). सेटअप पूरा करने के लिए, आपको पहले टेस्ट क्रैश को ज़बरदस्ती भेजना होगा Firebase को क्रैश रिपोर्ट.

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

  1. अगर आपने पहले से Firebase नहीं जोड़ा है, तो अपने Apple में Firebase जोड़ें प्रोजेक्ट. अगर आपके पास Apple का ऐप्लिकेशन नहीं है, तो ऐप्लिकेशन का नमूना.

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

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

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

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

पहला चरण: अपने ऐप्लिकेशन में Crashlytics SDK टूल जोड़ना

Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift पैकेज मैनेजर का इस्तेमाल करें.

  1. Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलने के लिए, फ़ाइल > पैकेज जोड़ना.
  2. जब कहा जाए, तब Firebase Apple प्लैटफ़ॉर्म SDK टूल का रिपॉज़िटरी जोड़ें:
  3.   https://github.com/firebase/firebase-ios-sdk.git
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  4. Crashlytics लाइब्रेरी को चुनें.
  5. इस सुविधा का फ़ायदा पाने के लिए ब्रेडक्रंब लॉग, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल भी जोड़ें. पक्का करें कि Google Analytics चालू है आपके Firebase प्रोजेक्ट में.
  6. अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में -ObjC फ़्लैग जोड़ें.
  7. (सिर्फ़ macOS के लिए) अपने Info.plist में, कुंजी जोड़ें NSApplicationCrashOnExceptions और इसे इस पर सेट करें YES.
  8. यह काम पूरा होने पर, Xcode अपने-आप रिज़ॉल्व और डाउनलोड होना शुरू कर देगा पर निर्भर करता है.

इसके बाद, Firebase मॉड्यूल कॉन्फ़िगर करें:

  1. अपने App स्ट्रक्चर या UIApplicationDelegate में Firebase मॉड्यूल इंपोर्ट करें:

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  2. FirebaseApp शेयर किए गए इंस्टेंस को कॉन्फ़िगर करें. आम तौर पर, यह इंस्टेंस आपके ऐप्लिकेशन डेलिगेट के application(_:didFinishLaunchingWithOptions:) तरीका:

    Swift

    // Use the Firebase library to configure APIs.
    FirebaseApp.configure()
    

    Objective-C

    // Use the Firebase library to configure APIs.
    [FIRApp configure];
    

दूसरा चरण: dSYM फ़ाइलों को अपने-आप अपलोड करने के लिए Xcode सेट अप करें

ऐसी क्रैश रिपोर्ट जनरेट करने के लिए जिन्हें कोई भी व्यक्ति आसानी से पढ़ सके, Crashlytics को आपके प्रोजेक्ट के डीबग सिंबल (dSYM) फ़ाइलें. Xcode को कॉन्फ़िगर करने का तरीका यहां बताया गया है आपके dSYM को अपने-आप बनाने, उन्हें प्रोसेस करने, और जब चाहें फ़ाइलों को अपलोड करने के लिए आपको अपना ऐप्लिकेशन बनाना है.

  1. अपने प्रोजेक्ट का Xcode फ़ाइल फ़ोल्डर खोलें. इसके बाद, बायां नेविगेटर.

  2. टारगेट सूची से, अपना मुख्य बिल्ड टारगेट चुनें.

  3. बिल्ड सेटिंग टैब पर क्लिक करें. इसके बाद, नीचे दिए गए चरणों को पूरा करें, ताकि Xcode आपके बिल्ड के लिए dSYM बनाता है.

    1. सभी पर क्लिक करें. इसके बाद, debug information format खोजें.

    2. अपने सभी डिवाइसों के लिए, Debug Information Format को DWARF with dSYM File पर सेट करें बिल्ड टाइप.

  4. चरण बनाएं टैब पर क्लिक करें. इसके बाद, नीचे दिए गए चरणों को पूरा करें, ताकि Xcode आपके dSYM को प्रोसेस कर सकता है और फ़ाइलों को अपलोड कर सकता है.

    1. पर क्लिक करें > रन स्क्रिप्ट का नया फ़ेज़.

      पक्का करें कि स्क्रिप्ट चलाएं फ़ेज़ आपके प्रोजेक्ट का आखिरी बिल्ड हो फ़ेज़; ऐसा न होने पर, Crashlytics, dSYM को सही तरीके से प्रोसेस नहीं कर पाएगा.

    2. नए स्क्रिप्ट चलाएं सेक्शन को बड़ा करें.

    3. शेल लेबल के नीचे मौजूद स्क्रिप्ट फ़ील्ड में, रन स्क्रिप्ट का पालन किया जा रहा है.

      यह स्क्रिप्ट आपके प्रोजेक्ट की dSYM फ़ाइलों को प्रोसेस करती है और फ़ाइलों को Crashlytics का इस्तेमाल करें.

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. इनपुट फ़ाइलें सेक्शन में, ये फ़ाइलें:

      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
      $(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
      $(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)

dSYM फ़ाइलों और Crashlytics के बारे में ज़्यादा जानकारी पाने के लिए (इसमें ये शामिल हैं dSYM फ़ाइलों को मैन्युअल तरीके से कैसे अपलोड करें, इस पर जाएं डिकोड की गई क्रैश रिपोर्ट पाना.

तीसरा चरण: सेटअप पूरा करने के लिए, टेस्ट क्रैश को हर हाल में पूरा करें

Crashlytics का सेट अप पूरा करने और Firebase कंसोल का Crashlytics डैशबोर्ड, आपको हर हाल में टेस्ट करना होगा बंद करना.

  1. अपने ऐप्लिकेशन में ऐसा कोड जोड़ें जिसका इस्तेमाल करके, ऐप्लिकेशन के क्रैश होने की जांच की जा सके.

    अपने ऐप्लिकेशन में बटन जोड़ने के लिए, इस कोड का इस्तेमाल किया जा सकता है, जब बटन दबाने से, यह क्रैश हो जाता है. इस बटन पर "क्रैश की जांच करें" का लेबल लगा होता है.

    स्विफ़्टयूआई

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    यूआईकिट

    Swift

    import UIKit
    
    class ViewController: UIViewController {
      override func viewDidLoad() {
          super.viewDidLoad()
    
          // Do any additional setup after loading the view, typically from a nib.
    
          let button = UIButton(type: .roundedRect)
          button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
          button.setTitle("Test Crash", for: [])
          button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
          view.addSubview(button)
      }
    
      @IBAction func crashButtonTapped(_ sender: AnyObject) {
          let numbers = [0]
          let _ = numbers[1]
      }
    }
    

    Objective-C

    #import "ViewController.h"
    
    @implementation ViewController
    ‐ (void)viewDidLoad {
        [super viewDidLoad];
    
        // Do any additional setup after loading the view, typically from a nib.
    
        UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = CGRectMake(20, 50, 100, 30);
        [button setTitle:@"Test Crash" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(crashButtonTapped:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
    }
    
    ‐ (IBAction)crashButtonTapped:(id)sender {
        @[][1];
    }
    
    @end
    
  2. Xcode डीबगर को डिसकनेक्ट करके, Xcode में अपना ऐप्लिकेशन बनाएं और चलाएं.

    1. बनाएं और फिर टेस्ट डिवाइस पर ऐप्लिकेशन बनाने के लिए, मौजूदा स्कीम चलाएं या सिम्युलेटर.

    2. अपने ऐप्स के चलने तक इंतज़ार करें, फिर क्लिक करें स्कीम चलाना बंद करें या कार्रवाई करें. यह नाम का पहला अक्षर उदाहरण के लिए, Crashlytics के साथ रुकावट डालने वाला डीबगर शामिल किया गया.

  3. अपने ऐप्लिकेशन की पहली क्रैश रिपोर्ट भेजने के लिए टेस्ट क्रैश को हर हाल में भेजें:

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

    2. अपने ऐप्लिकेशन में, "क्रैश की जांच करें" दबाएं कोड का इस्तेमाल करके जोड़ा गया बटन पढ़ें.

    3. आपका ऐप्लिकेशन क्रैश होने के बाद, उसे Xcode से फिर से चलाएं, ताकि आपका ऐप्लिकेशन ये काम कर सके Firebase को क्रैश रिपोर्ट भेजें.

  4. इसके बाद, Crashlytics डैशबोर्ड पर जाएं Firebase कंसोल देखें.

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


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

अगले चरण