Crashlytics डैशबोर्ड (Flutter) में आसानी से पढ़ी जा सकने वाली क्रैश रिपोर्ट पाना
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
डिफ़ॉल्ट रूप से, Firebase Crashlytics आपके Flutter प्रोजेक्ट को अपने-आप इंस्ट्रुमेंट करता है, ताकि ज़रूरी सिंबल फ़ाइलें अपलोड की जा सकें. इससे यह पक्का होता है कि क्रैश रिपोर्ट को डीऑब्फ़स्केट किया गया है और उसे कोई भी व्यक्ति आसानी से पढ़ सकता है.
हालांकि, कुछ मामलों में ऐसा हो सकता है कि प्रोजेक्ट पूरी तरह से कॉन्फ़िगर न हो. इस गाइड में, ऑटोमेशन की प्रोसेस के बारे में बताया गया है. साथ ही, आपके प्रोजेक्ट सेटअप को डीबग करने के शुरुआती तरीके बताए गए हैं.
Apple के प्लैटफ़ॉर्म
dSYM फ़ाइलें अपलोड करने के लिए, अपने कॉन्फ़िगरेशन की जांच करना
Crashlytics Flutter प्लग इन को जोड़ने और flutterfire configure कमांड को चलाने से, आपके प्रोजेक्ट के Xcode फ़ाइल फ़ोल्डर में रन स्क्रिप्ट जोड़ने की कोशिश की जाएगी. यह स्क्रिप्ट, ज़रूरी dSYM सिंबल फ़ाइलों को ढूंढकर, उन्हें Crashlytics पर अपलोड करती है. इन फ़ाइलों के बिना, आपको Crashlytics डैशबोर्ड में "dSYM मौजूद नहीं है" चेतावनी दिखेगी. साथ ही, जब तक मौजूद नहीं होने वाली फ़ाइलें अपलोड नहीं की जातीं, तब तक अपवादों को बैकएंड से होल्ड किया जाएगा.
अगर आपको यह समस्या आ रही है, तो सबसे पहले पक्का करें कि आपके पास रन स्क्रिप्ट इंस्टॉल हो:
अपने प्रोजेक्ट की iOS डायरेक्ट्री (FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace) में, Xcode फ़ाइल ढूंढें और उसे खोलें.
यह पता लगाएं कि रनर टारगेट के बिल्ड फ़ेज़ में, [firebase_crashlytics] Crashlytics Upload Symbols नाम की रन स्क्रिप्ट जोड़ी गई है या नहीं.
dSYM फ़ाइलों को अपने-आप अपलोड करने के लिए स्क्रिप्ट मौजूद नहीं है
अगर यह रन स्क्रिप्ट मौजूद नहीं है, तो इसे मैन्युअल तरीके से जोड़ा जा सकता है:
अपने Apple ऐप्लिकेशन के लिए, Firebase ऐप्लिकेशन आईडी ढूंढें. यह आईडी इन दो अलग-अलग जगहों पर मिल सकता है:
Firebase कंसोल में, settings > प्रोजेक्ट सेटिंग पर जाएं.
आपके ऐप्लिकेशन कार्ड पर जाएं. इसके बाद, ऐप्लिकेशन की जानकारी देखने के लिए, अपने Firebase Apple ऐप्लिकेशन पर क्लिक करें. इसमें ऐप्लिकेशन आईडी भी शामिल है.
अपने Flutter प्रोजेक्ट की टॉप-लेवल डायरेक्ट्री में, अपनी firebase_options.dart फ़ाइल ढूंढें. आपके Apple ऐप्लिकेशन के Firebase ऐप्लिकेशन आईडी को appId के तौर पर लेबल किया गया है.
add > New Run Script Phase पर क्लिक करें.
पक्का करें कि यह नया Run Script फ़ेज़, आपके प्रोजेक्ट का आखिरी बिल्ड फ़ेज़ हो. ऐसा न करने पर, Crashlytics dSYM को ठीक से प्रोसेस नहीं कर पाएगा.
नए स्क्रिप्ट चलाएं सेक्शन को बड़ा करें.
स्क्रिप्ट फ़ील्ड (Shell लेबल के नीचे मौजूद) में, ये रन स्क्रिप्ट जोड़ें.
ये स्क्रिप्ट आपकी dSYM फ़ाइलों को प्रोसेस करती हैं और उन्हें Crashlytics पर अपलोड करती हैं.
FIREBASE_APP_ID: आपका Firebase Apple ऐप्लिकेशन आईडी (आपका Apple बंडल आईडी नहीं)
Firebase Apple ऐप्लिकेशन आईडी का उदाहरण: 1:1234567890:ios:321abc456def7890
क्या आपको अपना Firebase ऐप्लिकेशन आईडी ढूंढना है?
Firebase ऐप्लिकेशन आईडी ढूंढने के दो तरीके यहां दिए गए हैं:
आपकी GoogleService-Info.plist फ़ाइल में, आपका ऐप्लिकेशन आईडी, GOOGLE_APP_ID वैल्यू है; या
Firebase कंसोल में, प्रोजेक्ट सेटिंग पर जाएं.
आपके ऐप्लिकेशन कार्ड पर जाएं. इसके बाद, उस Firebase ऐप्लिकेशन पर क्लिक करें जिसका ऐप्लिकेशन आईडी आपको ढूंढना है.
Input Files सेक्शन में, इन फ़ाइलों की जगहों के पाथ जोड़ें:
यह समझना कि इन फ़ाइलों की जगह की जानकारी की ज़रूरत क्यों है
Xcode, इनपुट फ़ाइलों के लिए बताई गई जगहों पर खोज करता है, ताकि यह पक्का किया जा सके कि बिल्ड फ़ाइलें, रन स्क्रिप्ट के लिए उपलब्ध हैं. इसके अलावा, अगर User Script Sandboxing चालू है, तो Xcode सिर्फ़ Input Files में बताई गई फ़ाइलों को ऐक्सेस करने के लिए, रन स्क्रिप्ट को अनुमति देता है.
अपने प्रोजेक्ट की dSYM फ़ाइलों की जगह की जानकारी देने से, Crashlytics को dSYM प्रोसेस करने में मदद मिलती है.
अपने ऐप्लिकेशन की बिल्ड
GoogleService-Info.plist
फ़ाइल की जगह की जानकारी देने से, Crashlytics को dSYM को आपके
Firebase ऐप्लिकेशन से जोड़ने में मदद मिलती है.
अपने ऐप्लिकेशन के एक्ज़ीक्यूटेबल की जगह की जानकारी देने से, रन स्क्रिप्ट को एक ही dSYM के डुप्लीकेट अपलोड को रोकने में मदद मिलती है. ध्यान दें कि ऐप्लिकेशन की बाइनरी अपलोड नहीं की गई हैं.
डीएसवाईएम को अपने-आप अपलोड करने के लिए स्क्रिप्ट चलाएं
अपने Apple ऐप्लिकेशन के लिए, Firebase ऐप्लिकेशन आईडी ढूंढें. यह आईडी इन दो अलग-अलग जगहों पर मिल सकता है:
Firebase कंसोल में, settings > प्रोजेक्ट सेटिंग पर जाएं.
आपके ऐप्लिकेशन कार्ड पर जाएं. इसके बाद, ऐप्लिकेशन की जानकारी देखने के लिए, अपने Firebase Apple ऐप्लिकेशन पर क्लिक करें. इसमें ऐप्लिकेशन आईडी भी शामिल है.
अपने Flutter प्रोजेक्ट की टॉप-लेवल डायरेक्ट्री में, अपनी firebase_options.dart फ़ाइल ढूंढें. आपके Apple ऐप्लिकेशन के Firebase ऐप्लिकेशन आईडी को appId के तौर पर लेबल किया गया है.
upload-symbols स्क्रिप्ट को चलाते समय, -gsp /path/to/GoogleService-Info.plist के बजाय -ai FIREBASE_APPLE_APP_ID का इस्तेमाल करें.
Flutter और Crashlytics के लिए, अपने वर्शन का कॉन्फ़िगरेशन देखें (अगर --split-debug-info फ़्लैग का इस्तेमाल किया जा रहा है)
अगर आपका Flutter प्रोजेक्ट --split-debug-info फ़्लैग का इस्तेमाल करता है (और, वैकल्पिक रूप से, --obfuscate फ़्लैग का भी), तो आपके ऐप्लिकेशन के लिए, आसानी से पढ़े जा सकने वाले स्टैक ट्रेस दिखाने के लिए, कुछ और चरणों को पूरा करना ज़रूरी है.
पक्का करें कि आपका प्रोजेक्ट, सुझाए गए वर्शन कॉन्फ़िगरेशन (Flutter 3.12.0+ और Crashlytics Flutter प्लग इन 3.3.4+) का इस्तेमाल कर रहा हो, ताकि आपका प्रोजेक्ट Flutter सिंबल (dSYM फ़ाइलें) अपने-आप जनरेट करके, Crashlytics पर अपलोड कर सके.
Android
अपने डिपेंडेंसी कॉन्फ़िगरेशन की जांच करना
flutterfire configure कमांड, आपके प्रोजेक्ट की Gradle बिल्ड फ़ाइलों में ज़रूरी डिपेंडेंसी जोड़ने की कोशिश करता है. इन डिपेंडेंसी के बिना, Firebase कंसोल में क्रैश रिपोर्ट को कोड के तौर पर दिखाया जा सकता है. ऐसा तब होता है, जब कोड के तौर पर दिखाने की सुविधा चालू हो.
पक्का करें कि प्रोजेक्ट-लेवल build.gradle और ऐप्लिकेशन-लेवल build.gradle में ये लाइनें मौजूद हों:
प्रोजेक्ट-लेवल की बिल्ड फ़ाइल (android/build.gradle) में, यह लाइन देखें:
ऐप्लिकेशन-लेवल की बिल्ड फ़ाइल (android/app/build.gradle) में, यह लाइन देखें:
// ... other importsandroid{// ... your android config}dependencies{// ... your dependencies}// This section must appear at the bottom of the fileapplyplugin:'com.google.gms.google-services'applyplugin:'com.google.firebase.crashlytics'
देखें कि Flutter सिंबल अपलोड करने के लिए, सीएलआई का इस्तेमाल किया जा रहा हो (अगर --split-debug-info फ़्लैग का इस्तेमाल किया जा रहा है)
अगर आपका Flutter प्रोजेक्ट --split-debug-info फ़्लैग का इस्तेमाल करता है (और, वैकल्पिक रूप से, --obfuscate फ़्लैग का भी), तो आपके ऐप्लिकेशन के लिए, आसानी से पढ़े जा सकने वाले स्टैक ट्रेस दिखाने के लिए, कुछ और चरणों को पूरा करना ज़रूरी है.
Flutter डीबग सिंबल अपलोड करने के लिए, Firebase सीएलआई (v.11.9.0+) का इस्तेमाल करें. किसी अस्पष्ट कोड बिल्ड से क्रैश की रिपोर्ट करने से पहले, आपको डीबग सिंबल अपलोड करने होंगे.
अपने Flutter प्रोजेक्ट की रूट डायरेक्ट्री से, यह कमांड चलाएं:
FIREBASE_APP_ID: आपके Firebase Android ऐप्लिकेशन का आईडी (पैकेज का नाम नहीं)
Firebase Android ऐप्लिकेशन के आईडी का उदाहरण: 1:567383003300:android:17104a2ced0c9b9b
क्या आपको अपना Firebase ऐप्लिकेशन आईडी ढूंढना है?
Firebase ऐप्लिकेशन आईडी ढूंढने के दो तरीके यहां दिए गए हैं:
आपकी google-services.json फ़ाइल में, आपका ऐप्लिकेशन आईडी, mobilesdk_app_id वैल्यू है; या
Firebase कंसोल में, प्रोजेक्ट सेटिंग पर जाएं.
आपके ऐप्लिकेशन कार्ड पर जाएं. इसके बाद, उस Firebase ऐप्लिकेशन पर क्लिक करें जिसका ऐप्लिकेशन आईडी आपको ढूंढना है.
PATH/TO/symbols: वही डायरेक्ट्री जिसे ऐप्लिकेशन बनाते समय --split-debug-info फ़्लैग में पास किया जाता है
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2026-10-18 (UTC) को अपडेट किया गया."],[],[]]