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

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

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

वेब कंटेनर इंस्टॉल करने से पहले

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

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

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

    • अगर कोई नया Firebase प्रोजेक्ट बनाया जा रहा है, तो प्रोजेक्ट बनाने के वर्कफ़्लो के दौरान Google Analytics चालू करें.

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

पहला चरण: अपने ऐप्लिकेशन में 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 टूल जोड़ें. साथ ही, पक्का करें कि आपके Firebase प्रोजेक्ट में Google Analytics चालू हो.
  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. अपने टेस्ट क्रैश को देखने के लिए Firebase कंसोल के Crashlytics डैशबोर्ड पर जाएं.

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


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

अगले चरण