Apple प्लैटफ़ॉर्म पर Crashlytics को लागू करने की जांच करना

प्लैटफ़ॉर्म चुनें: iOS+ Android Flutter Unity


अगर आपने शुरुआती निर्देश का पालन किया है और आपको अब भी Crashlytics डैशबोर्ड में क्रैश नहीं दिख रहे हैं, तो इस गाइड का इस्तेमाल करें.

लागू किए गए बदलावों की जांच करने के लिए, क्रैश को फ़ोर्स करना

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

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

    SwiftUI

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

    1. किसी टेस्ट डिवाइस या सिम्युलेटर पर अपना ऐप्लिकेशन बनाने के लिए, Build and then run the current scheme पर क्लिक करें.

    2. ऐप्लिकेशन के चलने तक इंतज़ार करें. इसके बाद, ऐप्लिकेशन के शुरुआती इंस्टेंस को बंद करने के लिए, स्कीम या कार्रवाई को रोकना पर क्लिक करें. इस शुरुआती इंस्टेंस में डीबगर शामिल था, जो Crashlytics में रुकावट डालता है.

  3. अपने ऐप्लिकेशन के क्रैश होने की पहली रिपोर्ट भेजने के लिए, टेस्ट क्रैश को फ़ोर्स करें:

    1. टेस्ट डिवाइस या सिम्युलेटर की होम स्क्रीन से अपना ऐप्लिकेशन खोलें.

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

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

  4. Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > Crashlytics डैशबोर्ड पर जाकर, क्रैश की जांच वाली रिपोर्ट देखें.

    अगर आपने कंसोल को रीफ़्रेश कर लिया है और पांच मिनट बाद भी आपको टेस्ट क्रैश नहीं दिख रहा है, तो डीबग लॉगिंग चालू करके देखें. इसके बारे में अगले सेक्शन में बताया गया है.

Crashlytics के लिए डीबग लॉग जनरेट करने की सुविधा चालू करें

अगर आपको Crashlytics डैशबोर्ड में टेस्ट क्रैश नहीं दिखता है, तो समस्या को ट्रैक करने के लिए, Crashlytics के लिए डीबग लॉगिंग का इस्तेमाल किया जा सकता है.

  1. डीबग लॉग जनरेट करने की सुविधा चालू करना:

    1. Xcode में, Product > Scheme > Edit scheme को चुनें.

    2. बाईं ओर मौजूद मेन्यू से, Run को चुनें. इसके बाद, Arguments टैब को चुनें.

    3. Arguments Passed on Launch सेक्शन में, -FIRDebugEnabled जोड़ें.

  2. ज़बरदस्ती टेस्ट क्रैश करें. इस पेज के पहले सेक्शन में, ऐसा करने का तरीका बताया गया है.

  3. अपने लॉग में, Crashlytics से मिला कोई ऐसा लॉग मैसेज खोजें जिसमें यह स्ट्रिंग शामिल हो. इससे यह पुष्टि होती है कि आपका ऐप्लिकेशन, Firebase को क्रैश की जानकारी भेज रहा है.

    Completed report submission

अगर पांच मिनट के बाद भी आपको यह लॉग या टेस्ट क्रैश, Firebase कंसोल के DevOps और यूज़र ऐक्टिविटी > Crashlytics डैशबोर्ड में नहीं दिखता है, तो Firebase की सहायता टीम से संपर्क करें. साथ ही, अपने लॉग आउटपुट की एक कॉपी भी भेजें, ताकि हम समस्या को हल करने में आपकी मदद कर सकें.

अगले चरण