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

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

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

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

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

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

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

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

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

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

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

  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. अपने सभी बिल्ड टाइप के लिए, डीबग जानकारी फ़ॉर्मैट को DWARF with dSYM File पर सेट करें.

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

    1. > स्क्रिप्ट रन का नया चरण पर क्लिक करें.

      पक्का करें कि यह नया Run Script फ़ेज़ आपके प्रोजेक्ट का आखिरी बिल्ड चरण है. ऐसा नहीं करने पर, Crashlytics, dSYMs को सही तरीके से प्रोसेस नहीं कर पाएगा.

    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 (डीएसवाईएम फ़ाइलों को मैन्युअल तरीके से अपलोड करने के तरीके समेत) के बारे में ज़्यादा जानकारी के लिए, खराब की गई क्रैश रिपोर्ट पाएं पर जाएं.

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

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

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

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

    SwiftUI

    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 डैशबोर्ड पर जाएं.

अगले चरण