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

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

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

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

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

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

    Crashlytics (वॉचओएस को छोड़कर) द्वारा समर्थित सभी Apple प्लेटफ़ॉर्म Google Analytics की इन सुविधाओं का लाभ उठा सकते हैं। ध्यान दें कि macOS और tvOS ऐप्स के लिए आपको SDK v8.9.0+ की आवश्यकता है।

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

    • यदि आप एक नया Firebase प्रोजेक्ट बना रहे हैं, तो प्रोजेक्ट निर्माण कार्यप्रवाह के दौरान Google Analytics को सक्षम करें।

चरण 1 : अपने ऐप्लिकेशन में Firebase Crashlytics SDK जोड़ें

फायरबेस निर्भरता को स्थापित और प्रबंधित करने के लिए स्विफ्ट पैकेज मैनेजर का उपयोग करें।

  1. Xcode में, आपका ऐप प्रोजेक्ट खुला होने के साथ, File > Add Packages पर नेविगेट करें।
  2. संकेत मिलने पर, Firebase Apple प्लेटफॉर्म्स SDK रिपॉजिटरी जोड़ें:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. क्रैशलिटिक्स लाइब्रेरी चुनें।
  5. Crashlytics के साथ एक इष्टतम अनुभव के लिए, हम अनुशंसा करते हैं कि आप अपने Firebase प्रोजेक्ट में Google Analytics को सक्षम करें और Google Analytics के लिए Firebase SDK को अपने ऐप में जोड़ें। आप आईडीएफए संग्रह के बिना या आईडीएफए संग्रह के साथ पुस्तकालय का चयन कर सकते हैं।
  6. समाप्त होने पर, Xcode स्वचालित रूप से पृष्ठभूमि में आपकी निर्भरता को हल करना और डाउनलोड करना शुरू कर देगा।

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

  1. अपने App स्ट्रक्चर या UIApplicationDelegate में फायरबेस मॉड्यूल आयात करें:

    तीव्र

    import Firebase

    उद्देश्य सी

    @import Firebase;
  2. एक FirebaseApp साझा इंस्टेंस कॉन्फ़िगर करें, आमतौर पर आपके App के प्रारंभकर्ता या आपके ऐप प्रतिनिधि के application(_:didFinishLaunchingWithOptions:) विधि में:

    तीव्र

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

    उद्देश्य सी

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

चरण 2 : dSYM फ़ाइलों को स्वचालित रूप से अपलोड करने के लिए Xcode सेट करें

मानव पठनीय क्रैश रिपोर्ट जनरेट करने के लिए, Crashlytics को आपके प्रोजेक्ट के डिबग सिंबल (dSYM) फ़ाइलों की आवश्यकता होती है। निम्नलिखित चरणों का वर्णन है कि अपने dSYM को स्वचालित रूप से बनाने, उन्हें संसाधित करने और जब भी आप अपना ऐप बनाते हैं तो फ़ाइलें अपलोड करने के लिए Xcode को कैसे कॉन्फ़िगर करें।

  1. अपने प्रोजेक्ट का Xcode कार्यक्षेत्र खोलें, फिर बाएं नेविगेटर में इसकी प्रोजेक्ट फ़ाइल चुनें।

  2. TARGETS सूची से, अपना मुख्य निर्माण लक्ष्य चुनें।

  3. बिल्ड सेटिंग्स टैब पर क्लिक करें, फिर निम्नलिखित चरणों को पूरा करें ताकि एक्सकोड आपके बिल्ड के लिए डीएसवाईएम तैयार करे।

    1. सभी पर क्लिक करें, फिर debug information format खोजें।

    2. अपने सभी बिल्ड प्रकारों के लिए DWARF with dSYM File डीबग सूचना प्रारूप को DWARF पर सेट करें।

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

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

      सुनिश्चित करें कि यह नया रन स्क्रिप्ट चरण आपके प्रोजेक्ट का अंतिम निर्माण चरण है; अन्यथा, Crashlytics dSYM को ठीक से संसाधित नहीं कर सकता।

    2. नए रन स्क्रिप्ट अनुभाग का विस्तार करें।

    3. स्क्रिप्ट फ़ील्ड में ( शेल लेबल के अंतर्गत स्थित), निम्न रन स्क्रिप्ट जोड़ें।

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

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. इनपुट फ़ाइलें अनुभाग में, निम्न फ़ाइलों के स्थानों के लिए पथ जोड़ें:

      • आपके प्रोजेक्ट की dSYM फ़ाइलों का स्थान :

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}

        अपने प्रोजेक्ट की dSYM फ़ाइलों का स्थान प्रदान करने से Crashlytics को बड़े ऐप्स के लिए dSYM को अधिक तेज़ी से संसाधित करने में सक्षम बनाता है।

      • आपके प्रोजेक्ट की निर्मित Info.plist फ़ाइल का स्थान :

        $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

        आपके प्रोजेक्ट की निर्मित Info.plist फ़ाइल का स्थान प्रदान करने से Crashlytics को dSYMs के साथ एक ऐप संस्करण संबद्ध करने में सक्षम बनाता है।

dSYM फ़ाइलों और Crashlytics (dSYM फ़ाइलों को मैन्युअल रूप से अपलोड करने के तरीके सहित) के बारे में अधिक विस्तृत जानकारी के लिए, deobfuscated क्रैश रिपोर्ट प्राप्त करें पर जाएँ।

चरण 3 : सेटअप समाप्त करने के लिए परीक्षण क्रैश को बाध्य करें

Crashlytics का सेट अप पूरा करने के लिए और Firebase कंसोल के Crashlytics डैशबोर्ड में प्रारंभिक डेटा देखने के लिए, आपको एक परीक्षण क्रैश के लिए बाध्य करना होगा।

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

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

    स्विफ्टयूआई

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

    UIKit

    तीव्र

    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]
      }
    }
    

    उद्देश्य सी

    #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. एक्सकोड में अपना ऐप बनाएं और चलाएं।

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

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

  3. अपने ऐप की पहली क्रैश रिपोर्ट भेजने के लिए परीक्षण क्रैश को बाध्य करें:

    1. अपने परीक्षण उपकरण या सिम्युलेटर की होम स्क्रीन से अपना ऐप खोलें।

    2. अपने ऐप में, ऊपर दिए गए कोड का उपयोग करके जोड़ा गया "टेस्ट क्रैश" बटन दबाएं।

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

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

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


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

अगले कदम