यह क्विकस्टार्ट आपके ऐप में Firebase Crashlytics SDK के साथ Firebase Crashlytics को सेट करने का तरीका बताता है ताकि आप Firebase कंसोल में व्यापक क्रैश रिपोर्ट प्राप्त कर सकें।
Crashlytics को सेट करने के लिए Firebase कंसोल और आपके IDE (जैसे Firebase कॉन्फ़िगरेशन फ़ाइल और Crashlytics SDK को जोड़ना) दोनों में कार्यों की आवश्यकता होती है। सेटअप समाप्त करने के लिए, आपको Firebase को अपनी पहली क्रैश रिपोर्ट भेजने के लिए एक परीक्षण क्रैश को बाध्य करना होगा।
शुरू करने से पहले
यदि आपने पहले से नहीं किया है, तो अपने Apple प्रोजेक्ट में Firebase जोड़ें । यदि आपके पास Apple ऐप नहीं है, तो आप एक नमूना ऐप डाउनलोड कर सकते हैं।
अनुशंसित : क्रैश-मुक्त उपयोगकर्ता, ब्रेडक्रंब लॉग और वेलोसिटी अलर्ट जैसी सुविधाएं प्राप्त करने के लिए, आपको अपने फायरबेस प्रोजेक्ट में Google Analytics को सक्षम करना होगा।
Crashlytics (watchOS को छोड़कर) द्वारा समर्थित सभी Apple प्लेटफ़ॉर्म Google Analytics की इन सुविधाओं का लाभ उठा सकते हैं। ध्यान दें कि आपको macOS और tvOS ऐप्स के लिए SDK v8.9.0+ की आवश्यकता है।
यदि आपके मौजूदा Firebase प्रोजेक्ट में Google Analytics सक्षम नहीं है, तो आप Firebase कंसोल में अपनी एकीकरण टैब से Google Analytics को सक्षम कर सकते हैं।
> प्रोजेक्ट सेटिंग्स केयदि आप एक नया फायरबेस प्रोजेक्ट बना रहे हैं, तो प्रोजेक्ट निर्माण कार्यप्रवाह के दौरान Google Analytics को सक्षम करें।
चरण 1 : Crashlytics SDK को अपने ऐप में जोड़ें
फायरबेस निर्भरताओं को स्थापित और प्रबंधित करने के लिए स्विफ्ट पैकेज मैनेजर का उपयोग करें।
- Xcode में, अपने ऐप प्रोजेक्ट को खोलने के साथ, File > Add Packages पर नेविगेट करें।
- संकेत दिए जाने पर, Firebase Apple प्लेटफ़ॉर्म SDK रिपॉजिटरी जोड़ें:
- Crashlytics लाइब्रेरी चुनें।
- Crashlytics के साथ बेहतरीन अनुभव के लिए, हम आपके Firebase प्रोजेक्ट में Google Analytics को सक्षम करने और Google Analytics के लिए Firebase SDK को अपने ऐप में जोड़ने की सलाह देते हैं। आप या तो आईडीएफए संग्रह के बिना या आईडीएफए संग्रह के साथ पुस्तकालय का चयन कर सकते हैं।
- समाप्त होने पर, Xcode स्वचालित रूप से पृष्ठभूमि में आपकी निर्भरताओं को हल करना और डाउनलोड करना शुरू कर देगा।
https://github.com/firebase/firebase-ios-sdk
अगला, फायरबेस मॉड्यूल को कॉन्फ़िगर करें:
अपने
App
स्ट्रक्चर याUIApplicationDelegate
में फायरबेस मॉड्यूल आयात करें:तीव्र
import Firebase
उद्देश्य सी
@import Firebase;
एक
FirebaseApp
साझा उदाहरण को कॉन्फ़िगर करें, आमतौर पर आपके ऐप प्रतिनिधि के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) फ़ाइलों की आवश्यकता होती है। निम्न चरणों का वर्णन है कि जब भी आप अपना ऐप बनाते हैं, तो अपने dSYMs को स्वचालित रूप से बनाने, उन्हें संसाधित करने और फ़ाइलों को अपलोड करने के लिए Xcode को कैसे कॉन्फ़िगर करें।
अपने प्रोजेक्ट का Xcode कार्यक्षेत्र खोलें, फिर बाएं नेविगेटर में इसकी प्रोजेक्ट फ़ाइल चुनें।
लक्ष्य सूची से, अपना मुख्य निर्माण लक्ष्य चुनें।
बिल्ड सेटिंग्स टैब पर क्लिक करें, फिर निम्नलिखित चरणों को पूरा करें ताकि Xcode आपके बिल्ड के लिए dSYMs का उत्पादन करे।
सभी पर क्लिक करें, फिर
debug information format
की खोज करें।अपने सभी प्रकार के निर्माण के लिए
DWARF with dSYM File
को डीबग सूचना प्रारूप सेट करें।
बिल्ड चरण टैब पर क्लिक करें, फिर निम्न चरणों को पूरा करें ताकि Xcode आपके dSYM को संसाधित कर सके और फ़ाइलें अपलोड कर सके।
सुनिश्चित करें कि यह नया रन स्क्रिप्ट चरण आपके प्रोजेक्ट का अंतिम निर्माण चरण है; अन्यथा, Crashlytics dSYMs को ठीक से संसाधित नहीं कर सकता।
नए रन स्क्रिप्ट अनुभाग का विस्तार करें।
स्क्रिप्ट फ़ील्ड में ( शैल लेबल के अंतर्गत स्थित), निम्न रन स्क्रिप्ट जोड़ें।
यह स्क्रिप्ट आपके प्रोजेक्ट की dSYM फ़ाइलों को प्रोसेस करती है और फ़ाइलों को Crashlytics पर अपलोड करती है।
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
इनपुट फ़ाइलें अनुभाग में, निम्न फ़ाइलों के स्थानों के लिए पथ जोड़ें:
आपके प्रोजेक्ट की dSYM फ़ाइलों का स्थान:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
अपने प्रोजेक्ट की dSYM फ़ाइलों का स्थान प्रदान करना Crashlytics को बड़े ऐप्स के लिए dSYMs को अधिक तेज़ी से संसाधित करने में सक्षम बनाता है।
आपके प्रोजेक्ट की निर्मित
Info.plist
फ़ाइल का स्थान :$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
अपने प्रोजेक्ट की निर्मित
Info.plist
फ़ाइल का स्थान प्रदान करना Crashlytics को dSYMs के साथ एक ऐप संस्करण को संबद्ध करने में सक्षम बनाता है।
dSYM फ़ाइलों और Crashlytics (मैन्युअल रूप से dSYM फ़ाइलों को अपलोड करने के तरीके सहित) के बारे में अधिक विस्तृत जानकारी के लिए, अस्पष्टीकृत क्रैश रिपोर्ट प्राप्त करें पर जाएं.
चरण 3 : सेटअप समाप्त करने के लिए परीक्षण क्रैश को बाध्य करें
Crashlytics की स्थापना समाप्त करने और Firebase कंसोल के Crashlytics डैशबोर्ड में प्रारंभिक डेटा देखने के लिए, आपको एक परीक्षण क्रैश को बाध्य करने की आवश्यकता है।
अपने ऐप में कोड जोड़ें जिसका उपयोग आप टेस्ट क्रैश को बाध्य करने के लिए कर सकते हैं।
आप अपने ऐप में एक बटन जोड़ने के लिए निम्न कोड का उपयोग कर सकते हैं, जिसे दबाए जाने पर क्रैश हो जाता है। बटन को "टेस्ट क्रैश" लेबल किया गया है।
स्विफ्टयूआई
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
एक्सकोड में अपना ऐप बनाएं और चलाएं।
जब तक आपका ऐप चल रहा है तब तक प्रतीक्षा करें, फिर अपने ऐप के शुरुआती इंस्टेंस को बंद करने के लिए स्कीम या एक्शन को रोकना
पर क्लिक करें। इस प्रारंभिक उदाहरण में डीबगर शामिल था जो Crashlytics में हस्तक्षेप करता है।
अपने ऐप की पहली क्रैश रिपोर्ट भेजने के लिए टेस्ट क्रैश को बाध्य करें:
अपने ऐप को अपने टेस्ट डिवाइस या सिम्युलेटर की होम स्क्रीन से खोलें।
अपने ऐप में, "टेस्ट क्रैश" बटन दबाएं जिसे आपने उपरोक्त कोड का उपयोग करके जोड़ा था।
आपके ऐप के क्रैश होने के बाद, इसे फिर से Xcode से चलाएं ताकि आपका ऐप क्रैश रिपोर्ट Firebase को भेज सके।
अपना परीक्षण क्रैश देखने के लिए Firebase कंसोल के Crashlytics डैशबोर्ड पर जाएं.
यदि आपने कंसोल को रीफ़्रेश किया है और आपको पाँच मिनट के बाद भी परीक्षण क्रैश दिखाई नहीं दे रहा है, तो यह देखने के लिए डीबग लॉगिंग सक्षम करें कि आपका ऐप क्रैश रिपोर्ट भेज रहा है या नहीं।
और बस! Crashlytics अब क्रैश के लिए आपके ऐप की निगरानी कर रहा है। अपनी सभी रिपोर्ट और आंकड़े देखने और जाँच करने के लिए Crashlytics डैशबोर्ड पर जाएँ।
अगले कदम
- ऑप्ट-इन रिपोर्टिंग, लॉग, कुंजियाँ और गैर-घातक त्रुटियों की ट्रैकिंग जोड़कर अपने क्रैश रिपोर्ट सेटअप को अनुकूलित करें ।