Crashlytics डैशबोर्ड (Flutter) में आसानी से पढ़ी जा सकने वाली क्रैश रिपोर्ट पाना
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
डिफ़ॉल्ट रूप से, Firebase Crashlytics आपके Flutter
प्रोजेक्ट को अपने-आप इंस्ट्रूमेंट करता है, ताकि ज़रूरी सिंबल फ़ाइलें अपलोड की जा सकें. इससे यह पक्का होता है कि क्रैश रिपोर्ट को
डीऑब्फ़स्केट किया जाए और वे लोगों को पढ़ने में आसान हों.
माफ़ करें, कुछ मामलों में ऐसा हो सकता है कि प्रोजेक्ट पूरी तरह से कॉन्फ़िगर न हो. इस गाइड में, ऑटोमेशन की प्रोसेस के बारे में बताया गया है. साथ ही, इसमें आपके प्रोजेक्ट सेटअप को डीबग करने के शुरुआती चरण भी दिए गए हैं.
Apple के प्लैटफ़ॉर्म
dSYM फ़ाइलें अपलोड करने के लिए, अपने कॉन्फ़िगरेशन की जांच करना
Crashlytics Flutter प्लग इन जोड़ने और
flutterfire configure कमांड चलाने पर, आपके
प्रोजेक्ट के Xcode वर्कस्पेस में एक रन स्क्रिप्ट जोड़ने की कोशिश की जाएगी. यह स्क्रिप्ट, ज़रूरी dSYM सिंबल फ़ाइलें
ढूंढकर उन्हें Crashlytics पर अपलोड करती है. इन फ़ाइलों के बिना, आपको
Crashlytics डैशबोर्ड में "dSYM मौजूद नहीं है" का अलर्ट दिखेगा. साथ ही, जब तक ये फ़ाइलें अपलोड नहीं हो जातीं, तब तक बैकएंड में
अपवाद मौजूद रहेंगे.
अगर आपको यह समस्या आ रही है, तो सबसे पहले पक्का करें कि आपने रन स्क्रिप्ट इंस्टॉल की हो:
अपने प्रोजेक्ट की iOS डायरेक्ट्री
(FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace) में, Xcode वर्कस्पेस फ़ाइल ढूंढें और खोलें.
यह देखें कि Runner टारगेट के Build Phases में, [firebase_crashlytics] Crashlytics Upload Symbols नाम की कोई रन स्क्रिप्ट जोड़ी गई है या नहीं.
dSYM को अपने-आप अपलोड करने के लिए, रन स्क्रिप्ट मौजूद नहीं है
अगर यह रन स्क्रिप्ट मौजूद नहीं है, तो इसे मैन्युअल तरीके से जोड़ा जा सकता है:
अपने Apple ऐप्लिकेशन के लिए, Firebase ऐप्लिकेशन आईडी ढूंढें. यह आईडी, इन दो जगहों पर मिल सकता है:
Firebase कंसोल में, अपनी
settings > प्रोजेक्ट सेटिंग पर जाएं.
आपके ऐप्लिकेशन कार्ड पर जाएं. इसके बाद, अपने Firebase Apple ऐप्लिकेशन पर क्लिक करके, ऐप्लिकेशन की जानकारी देखें. इसमें ऐप्लिकेशन आईडी भी शामिल है.
अपने Flutter प्रोजेक्ट की सबसे ऊपर वाली डायरेक्ट्री में, firebase_options.dart फ़ाइल ढूंढें. आपके Apple ऐप्लिकेशन के लिए, Firebase ऐप्लिकेशन आईडी को appId के तौर पर लेबल किया गया है.
add >
नई रन स्क्रिप्ट फ़ेज़ पर क्लिक करें.
पक्का करें कि यह नया रन स्क्रिप्ट फ़ेज़, आपके प्रोजेक्ट का आखिरी बिल्ड फ़ेज़ हो. ऐसा न होने पर, Crashlytics dSYM को ठीक से प्रोसेस नहीं कर पाएगा.
नए रन स्क्रिप्ट सेक्शन को बड़ा करें.
शेल लेबल के नीचे मौजूद स्क्रिप्ट फ़ील्ड में, ये रन स्क्रिप्ट जोड़ें.
ये स्क्रिप्ट, आपकी dSYM फ़ाइलें प्रोसेस करती हैं और उन्हें
Crashlytics पर अपलोड करती हैं.
FIREBASE_APP_ID: आपके Firebase Apple ऐप्लिकेशन का आईडी (आपका
Apple बंडल आईडी नहीं)
Firebase Apple ऐप्लिकेशन आईडी का उदाहरण: 1:1234567890:ios:321abc456def7890
क्या आपको अपना Firebase ऐप्लिकेशन आईडी ढूंढना है?
अपना Firebase ऐप्लिकेशन आईडी ढूंढने के दो तरीके यहां दिए गए हैं:
अपनी GoogleService-Info.plist फ़ाइल में, आपका ऐप्लिकेशन आईडी, GOOGLE_APP_ID की वैल्यू होती है. इसके अलावा,
Firebase कंसोल में, अपनी
प्रोजेक्ट सेटिंग पर जाएं.
आपके ऐप्लिकेशन कार्ड पर जाएं. इसके बाद, अपना ऐप्लिकेशन आईडी ढूंढने के लिए, Firebase ऐप्लिकेशन पर क्लिक करें.
इनपुट फ़ाइलें सेक्शन में, इन फ़ाइलों की जगहों के पाथ जोड़ें:
जानें कि इन फ़ाइलों की जगहों की ज़रूरत क्यों होती है
Xcode, इनपुट फ़ाइलों के लिए तय की गई जगहों पर देखता है, ताकि यह पक्का किया जा सके
कि रन स्क्रिप्ट के लिए बिल्ड फ़ाइलें उपलब्ध हों. इसके अलावा, अगर
यूज़र स्क्रिप्ट सैंडबॉक्सिंग चालू है, तो Xcode, रन
स्क्रिप्ट को सिर्फ़ इनपुट फ़ाइलें में तय की गई फ़ाइलों को ऐक्सेस करने की अनुमति देता है.
अपने प्रोजेक्ट की dSYM फ़ाइलों की जगह की जानकारी देने से,
Crashlytics dSYM को प्रोसेस कर पाता है.
अपने ऐप्लिकेशन की बिल्ड की गई
GoogleService-Info.plist
फ़ाइल की जगह की जानकारी देने से, Crashlytics dSYM को आपके
Firebase ऐप्लिकेशन से जोड़ पाता है.
अपने ऐप्लिकेशन की एक्ज़ीक्यूटेबल फ़ाइल की जगह की जानकारी देने से, रन
स्क्रिप्ट एक ही dSYM को डुप्लीकेट तरीके से अपलोड होने से रोक पाती है. ध्यान दें कि ऐप्लिकेशन
बाइनरी अपलोड नहीं की जाती हैं.
dSYM को अपने-आप अपलोड करने के लिए, रन स्क्रिप्ट मौजूद है
अगर रन स्क्रिप्ट मौजूद है, तो dSYM से जुड़ी समस्याओं को हल करने के लिए,
Apple के लिए बनी गाइड देखें.
अगर आपने 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 CLI (वर्शन 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 फ़्लैग में पास किया जाता है
अगर समस्याएं बनी रहती हैं, तो ऑब्फ़स्केट की गई रिपोर्ट से जुड़ी समस्याओं को हल करने के लिए,
Android के लिए बनी गाइड देखें.
[[["समझने में आसान है","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-06-16 (UTC) को अपडेट किया गया."],[],[]]