Apple प्लैटफ़ॉर्म के लिए Crashlytics का इस्तेमाल शुरू करना

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


इस गाइड में, Apple प्लैटफ़ॉर्म के ऐप्लिकेशन (उदाहरण के लिए, iOS ऐप्लिकेशन) में Firebase Crashlytics का इस्तेमाल शुरू करने का तरीका बताया गया है.

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

एआई असिस्टेंस पाने के लिए, यहां दिए गए प्रॉम्प्ट को अपने एआई कोडिंग एजेंट (जैसे, Antigravity, Claude Code, Codex, और Cursor) में कॉपी करें. प्रॉम्प्ट को अपनी पसंद के मुताबिक बनाया जा सकता है. साथ ही, एजेंट के साथ मिलकर उसमें बदलाव किया जा सकता है. इंस्टॉल करने के बारे में ज़्यादा जानकारी के लिए, Firebase एजेंट स्किल पर जाएं.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up Firebase Crashlytics for my app.

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

Crashlytics को सेट अप करने के लिए, Firebase कंसोल और आईडीई, दोनों में टास्क पूरे करने होंगे. जैसे, Firebase कॉन्फ़िगरेशन फ़ाइल और Crashlytics SDK टूल जोड़ना. सेटअप पूरा करने के लिए, आपको टेस्ट क्रैश को ज़बरदस्ती बंद करना होगा, ताकि Firebase को पहली क्रैश रिपोर्ट भेजी जा सके.

  1. अगर आपने पहले से ही ऐसा नहीं किया है, तो अपने Apple प्रोजेक्ट में Firebase जोड़ें. अगर आपके पास कोई Apple ऐप्लिकेशन नहीं है, तो सैंपल के तौर पर मिला ऐप्लिकेशन डाउनलोड किया जा सकता है.

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

    • अगर आपको नया Firebase प्रोजेक्ट बनाना है, तो प्रोजेक्ट बनाने के वर्कफ़्लो के दौरान Google Analytics को चालू करें.

    • अगर किसी ऐसे मौजूदा Firebase प्रोजेक्ट का इस्तेमाल किया जा रहा है जिसमें Google Analytics चालू नहीं है, तो उसे चालू करने के लिए Firebase कंसोल के सेटिंग > इंटिग्रेशन पेज पर जाएं.

    ध्यान दें कि ब्रेडक्रंब लॉग, watchOS को छोड़कर Crashlytics के साथ काम करने वाले सभी Apple प्लैटफ़ॉर्म के लिए उपलब्ध हैं.

पहला चरण: अपने ऐप्लिकेशन में Crashlytics SDK टूल जोड़ें

Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.

  1. Xcode में, अपना ऐप्लिकेशन प्रोजेक्ट खोलें. इसके बाद, File > Add Packages पर जाएं.
  2. प्रॉम्प्ट मिलने पर, Firebase Apple प्लैटफ़ॉर्म SDK टूल की रिपॉज़िटरी जोड़ें:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Crashlytics लाइब्रेरी चुनें.
  5. ब्रेडक्रंब लॉग का फ़ायदा पाने के लिए, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल भी जोड़ें. पक्का करें कि आपके Firebase प्रोजेक्ट में Google Analytics चालू हो.
  6. अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में, -ObjC फ़्लैग जोड़ें.
  7. (सिर्फ़ macOS के लिए) अपनी Info.plist में, NSApplicationCrashOnExceptions कुंजी जोड़ें और इसे YES पर सेट करें.
  8. इसके बाद, Xcode बैकग्राउंड में आपकी डिपेंडेंसी से जुड़ी समस्या को हल करना और उन्हें डाउनलोड करना शुरू कर देगा.

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

  1. अपने App स्ट्रक्चर या UIApplicationDelegate में Firebase मॉड्यूल इंपोर्ट करें:

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  2. 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 अपने-आप जनरेट हों, प्रोसेस हों, और फ़ाइलें अपलोड हों.

  1. अपने प्रोजेक्ट का Xcode फ़ाइल फ़ोल्डर खोलें. इसके बाद, बाईं ओर मौजूद नेविगेटर में इसकी प्रोजेक्ट फ़ाइल चुनें.

  2. टारगेट सूची में से, अपना मुख्य बिल्ड टारगेट चुनें.

  3. Build Settings टैब पर क्लिक करें. इसके बाद, यहां दिया गया तरीका अपनाएं, ताकि Xcode आपके बिल्ड के लिए dSYM जनरेट कर सके.

    1. सभी पर क्लिक करें. इसके बाद, debug information format खोजें.

    2. अपने सभी बिल्ड टाइप के लिए, डीबग करने की जानकारी का फ़ॉर्मैट DWARF with dSYM File पर सेट करें.

  4. Build Phases टैब पर क्लिक करें. इसके बाद, यहां दिया गया तरीका अपनाएं, ताकि Xcode आपके dSYM को प्रोसेस कर सके और फ़ाइलें अपलोड कर सके.

    1. > New Run Script Phase पर क्लिक करें.

      पक्का करें कि यह नया Run Script फ़ेज़, आपके प्रोजेक्ट का आखिरी बिल्ड फ़ेज़ हो. ऐसा न होने पर, Crashlytics, dSYM को ठीक से प्रोसेस नहीं कर पाएगा.

    2. नए स्क्रिप्ट चलाएं सेक्शन को बड़ा करें.

    3. स्क्रिप्ट फ़ील्ड (Shell लेबल के नीचे मौजूद) में, यह रन स्क्रिप्ट जोड़ें.

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

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. Input Files सेक्शन में, इन फ़ाइलों की जगहों के पाथ जोड़ें:

      ${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)
      अगर आपके प्रोजेक्ट की बिल्ड सेटिंग में ENABLE_USER_SCRIPT_SANDBOXING=YES और ENABLE_DEBUG_DYLIB=YES है, तो इन्हें शामिल करें:
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib

dSYM फ़ाइलों और Crashlytics के बारे में ज़्यादा जानकारी के लिए, डिकोड की गई क्रैश रिपोर्ट पाएं पर जाएं. इसमें dSYM फ़ाइलों को मैन्युअल तरीके से अपलोड करने का तरीका भी बताया गया है.

तीसरा चरण: सेटअप पूरा करने के लिए, टेस्ट क्रैश को फ़ोर्स करना

Crashlytics को सेट अप करने और Firebase कंसोल के 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 डैशबोर्ड पर जाएं.

अगले चरण