इस शुरुआती लेख में, Firebase Crashlytics SDK टूल की मदद से अपने ऐप्लिकेशन में Firebase Crashlytics को सेट अप करने का तरीका बताया गया है. इससे आपको Firebase कंसोल में क्रैश की पूरी जानकारी वाली रिपोर्ट मिल सकती हैं.
Crashlytics को सेट अप करने के लिए, Firebase कंसोल और IDE, दोनों में टास्क करने की ज़रूरत होती है. जैसे, Firebase कॉन्फ़िगरेशन फ़ाइल और Crashlytics SDK टूल जोड़ना. सेटअप पूरा करने के लिए, आपको पहले टेस्ट क्रैश को ज़बरदस्ती भेजना होगा Firebase को क्रैश रिपोर्ट.
शुरू करने से पहले
अगर आपने पहले से ऐसा नहीं किया है, तो अपने Apple प्रोजेक्ट में Firebase जोड़ें. अगर आपके पास Apple ऐप्लिकेशन नहीं है, तो सैंपल ऐप्लिकेशन डाउनलोड किया जा सकता है.
सुझाव: अपने आप पाने के लिए ब्रेडक्रंब लॉग उपयोगकर्ता की उन कार्रवाइयों को समझने के लिए जिनकी वजह से क्रैश, नॉन-घातक या ANR इवेंट होता है. आपको अपने Firebase प्रोजेक्ट में Google Analytics को चालू करना होगा.
अगर आपके मौजूदा Firebase प्रोजेक्ट में Google Analytics नहीं है चालू है, तो आप इनसे Google Analytics को चालू कर सकते हैं: आपके इंटिग्रेशन टैब
> प्रोजेक्ट सेटिंगFirebase कंसोल में. अगर कोई नया Firebase प्रोजेक्ट बनाया जा रहा है, तो Google Analytics चालू करें का इस्तेमाल किया जाता है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ध्यान दें कि ब्रेडक्रंब लॉग, Apple के उन सभी प्लैटफ़ॉर्म के लिए उपलब्ध हैं जिनका इस्तेमाल किया जा सकता है सिर्फ़ Crashlytics.
पहला चरण: अपने ऐप्लिकेशन में Crashlytics SDK टूल जोड़ें
Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.
- Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलकर, फ़ाइल > पैकेज जोड़ें पर जाएं.
- जब कहा जाए, तब Firebase के Apple प्लैटफ़ॉर्म के SDK टूल का रिपॉज़िटरी जोड़ें:
- Crashlytics लाइब्रेरी चुनें.
- इस सुविधा का फ़ायदा पाने के लिए ब्रेडक्रंब लॉग, साथ ही, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल जोड़ें. पक्का करें कि Google Analytics चालू है आपके Firebase प्रोजेक्ट में.
- अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में
-ObjC
फ़्लैग जोड़ें. - (सिर्फ़ macOS के लिए) अपने
Info.plist
में, कुंजी जोड़ेंNSApplicationCrashOnExceptions
और इसे इस पर सेट करेंYES
. - प्रोसेस पूरी होने के बाद, Xcode बैकग्राउंड में आपकी डिपेंडेंसी को अपने-आप हल और डाउनलोड करना शुरू कर देगा.
https://github.com/firebase/firebase-ios-sdk.git
इसके बाद, Firebase मॉड्यूल कॉन्फ़िगर करें:
अपने
App
स्ट्रक्चर याUIApplicationDelegate
में Firebase मॉड्यूल इंपोर्ट करें:Swift
import Firebase
Objective-C
@import Firebase;
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 अपने-आप जनरेट हो जाएं, उन्हें प्रोसेस किया जा सके, और फ़ाइलें अपलोड की जा सकें.
अपने प्रोजेक्ट का Xcode वर्कस्पेस खोलें. इसके बाद, बाईं ओर मौजूद नेविगेटर में प्रोजेक्ट फ़ाइल चुनें.
TARGETS सूची से, अपना मुख्य बिल्ड टारगेट चुनें.
बिल्ड सेटिंग टैब पर क्लिक करें. इसके बाद, यह तरीका अपनाएं, ताकि Xcode आपके बिल्ड के लिए dSYMs जनरेट कर सके.
सभी पर क्लिक करें. इसके बाद,
debug information format
खोजें.सभी तरह के बिल्ड के लिए, डीबग की जानकारी का फ़ॉर्मैट को
DWARF with dSYM File
पर सेट करें.
बिल्ड फ़ेज़ टैब पर क्लिक करें. इसके बाद, यहां दिया गया तरीका अपनाएं, ताकि Xcode आपके dSYMs को प्रोसेस कर सके और फ़ाइलों को अपलोड कर सके.
> नई स्क्रिप्ट चलाने का फ़ेज़ पर क्लिक करें.
पक्का करें कि स्क्रिप्ट चलाएं फ़ेज़ आपके प्रोजेक्ट का आखिरी बिल्ड हो फ़ेज़; ऐसा न होने पर, Crashlytics dSYM को सही तरीके से प्रोसेस नहीं कर पाएगा.
नए स्क्रिप्ट चलाएं सेक्शन को बड़ा करें.
शेल लेबल के नीचे मौजूद स्क्रिप्ट फ़ील्ड में, रन स्क्रिप्ट का पालन किया जा रहा है.
यह स्क्रिप्ट आपके प्रोजेक्ट की dSYM फ़ाइलों को प्रोसेस करती है और फ़ाइलों को Crashlytics पर अपलोड करती है.
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
इनपुट फ़ाइलें सेक्शन में, इन फ़ाइलों की जगहों के पाथ जोड़ें:
${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 डैशबोर्ड में शुरुआती डेटा देखने के लिए, आपको टेस्ट को क्रैश करना होगा.
अपने ऐप्लिकेशन में ऐसा कोड जोड़ें जिसका इस्तेमाल करके, ऐप्लिकेशन के क्रैश होने की जांच की जा सके.
अपने ऐप्लिकेशन में बटन जोड़ने के लिए, इस कोड का इस्तेमाल किया जा सकता है, जब बटन दबाने से, यह क्रैश हो जाता है. इस बटन पर "क्रैश की जांच करें" का लेबल लगा होता है.
स्विफ़्टयूआई
Button("Crash") { fatalError("Crash was triggered") }
UIKit
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
Xcode डीबगर को डिसकनेक्ट करके, Xcode में अपना ऐप्लिकेशन बनाएं और चलाएं.
बनाएं और फिर टेस्ट डिवाइस पर ऐप्लिकेशन बनाने के लिए, मौजूदा स्कीम चलाएं या सिम्युलेटर.
जब तक आपका ऐप्लिकेशन चल रहा है, तब तक इंतज़ार करें. इसके बाद, अपने ऐप्लिकेशन के शुरुआती इंस्टेंस को बंद करने के लिए, Crashlytics में रुकावट डालता था.
स्कीम या ऐक्शन को चलाना बंद करें पर क्लिक करें. इस शुरुआती इंस्टेंस में डीबगर शामिल था, जो
अपने ऐप्लिकेशन की पहली क्रैश रिपोर्ट भेजने के लिए टेस्ट क्रैश को हर हाल में भेजें:
टेस्ट डिवाइस या सिम्युलेटर की होम स्क्रीन से अपना ऐप्लिकेशन खोलें.
अपने ऐप्लिकेशन में, ऊपर दिए गए कोड का इस्तेमाल करके जोड़ा गया "क्रैश की जांच करें" बटन दबाएं.
ऐप्लिकेशन क्रैश होने के बाद, उसे Xcode से फिर से चलाएं, ताकि आपका ऐप्लिकेशन Firebase को क्रैश रिपोर्ट भेज सके.
टेस्ट क्रैश देखने के लिए, Firebase कंसोल के Crashlytics डैशबोर्ड पर जाएं.
अगर आपने कंसोल को रीफ़्रेश किया है और पांच मिनट बाद भी आपको जांच के क्रैश होने की जानकारी नहीं दिख रही है, तो डीबग लॉगिंग की सुविधा चालू करें. इससे आपको यह पता चलेगा कि आपका ऐप्लिकेशन क्रैश की रिपोर्ट भेज रहा है या नहीं.
बस, हो गया. Crashlytics अब आपके ऐप्लिकेशन के क्रैश होने पर नज़र रख रहा है. देखने और जांच करने के लिए Crashlytics डैशबोर्ड पर जाएं अपनी सभी रिपोर्ट और आंकड़ों की समीक्षा कर सकते हैं.
अगले चरण
- क्रैश रिपोर्ट के सेटअप को पसंद के मुताबिक बनाना इसके लिए ऑप्ट-इन रिपोर्टिंग, लॉग, कुंजियां, और साधारण गड़बड़ियों की ट्रैकिंग जोड़ें.