फायरबेस क्रैशलिटिक्स के साथ आरंभ करें

यह क्विकस्टार्ट वर्णन करता है कि फायरबेस क्रैशलिटिक्स एसडीके के साथ अपने ऐप में फायरबेस क्रैशलिटिक्स कैसे सेट करें ताकि आप फायरबेस कंसोल में व्यापक क्रैश रिपोर्ट प्राप्त कर सकें।

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

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

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

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

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

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

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

चरण 1 : अपने ऐप में Crashlytics SDK जोड़ें

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

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

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

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

    तीव्र

    import Firebase

    उद्देश्य सी

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

    तीव्र

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

    उद्देश्य सी

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

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

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

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

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

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

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

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

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

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

      सुनिश्चित करें कि यह नया रन स्क्रिप्ट चरण आपके प्रोजेक्ट का अंतिम निर्माण चरण है; अन्यथा, क्रैशलाइटिक्स 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)

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

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

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

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

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

    स्विफ्टयूआई

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

    यूआईकिट

    तीव्र

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

    1. बिल्ड पर क्लिक करें और फिर परीक्षण डिवाइस या सिम्युलेटर पर अपना ऐप बनाने के लिए वर्तमान योजना चलाएं

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

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

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

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

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

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

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


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

अगले कदम