| प्लैटफ़ॉर्म चुनें: | iOS+ Android Flutter Unity |
किसी समस्या के बारे में ज़्यादा जानकारी पाने के लिए, DevOps और ऑडियंस की दिलचस्पी > Crashlytics डैशबोर्ड में जाकर, समस्या पर क्लिक करें. इसके बाद, आपको इवेंट की ज़्यादा जानकारी वाली रिपोर्ट दिखेगी.Firebase इन रिपोर्ट को अपनी ज़रूरत के हिसाब से बनाया जा सकता है. इससे आपको यह बेहतर ढंग से समझने में मदद मिलती है कि आपके ऐप्लिकेशन में क्या हो रहा है और इवेंट किन वजहों से हुए जिनकी रिपोर्ट Crashlytics को दी गई है.
Crashlytics को, पकड़ी गई गड़बड़ियों और न पकड़ी गई गड़बड़ियों की रिपोर्ट करें.
मेमोरी में गड़बड़ी की समस्याओं को डीबग करने के लिए, GWP-ASan की रिपोर्ट शामिल करें.
अपने ऐप्लिकेशन को, कस्टम बटन, कस्टम लॉग मैसेज, और उपयोगकर्ता की पहचान करने वाले आईडी लॉग करने के लिए इंस्ट्रूमेंट करें.
अगर आपका ऐप्लिकेशन, Firebase SDK टूल का इस्तेमाल करता है, तो आपको ब्रेडक्रंब लॉग अपने-आप मिल जाएंगे Google Analytics. इन लॉग से आपको यह पता चलता है कि आपके ऐप्लिकेशन में, Crashlytics से इकट्ठा किए गए इवेंट से पहले, उपयोगकर्ता ने कौनसी कार्रवाइयां की थीं.
क्रैश होने की रिपोर्टिंग की सुविधा को बंद करें और उपयोगकर्ताओं के लिए, ऑप्ट-इन रिपोर्टिंग की सुविधा चालू करें. ध्यान दें कि डिफ़ॉल्ट रूप से, Crashlytics आपके ऐप्लिकेशन के सभी उपयोगकर्ताओं के लिए, क्रैश होने की रिपोर्ट अपने-आप इकट्ठा करता है.
गड़बड़ियों की रिपोर्ट करना
पकड़ी गई गड़बड़ियों की रिपोर्ट करना
अगर आपको पता है कि गड़बड़ियां हो सकती हैं, तो Crashlytics SDK को नॉन-फ़ेटल इवेंट के तौर पर रिपोर्ट करने के लिए सेट किया जा सकता है. इन इवेंट को डिवाइस पर लॉग किया जाता है. इसके बाद, इन्हें अगले फ़ेटल इवेंट की रिपोर्ट के साथ भेजा जाता है. इसके अलावा, इन्हें तब भी भेजा जाता है, जब एंड-यूज़र गेम को रीस्टार्ट करता है.
C# में गड़बड़ियों को लॉग करने के लिए, इस तरीके का इस्तेमाल करें:
Crashlytics.LogException(Exception ex);
अपने गेम के try/catch ब्लॉक में, संभावित गड़बड़ियों को लॉग किया जा सकता है:
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.LogException(e); // handle your exception here! }
न पकड़ी गई गड़बड़ियों की रिपोर्ट करना
न पकड़ी गई गड़बड़ियों की रिपोर्ट करने के लिए, Crashlytics SDK टूल को फ़ेटल इवेंट के तौर पर रिपोर्ट करने के लिए सेट किया जा सकता है. इसके लिए, Unity प्रोजेक्ट में Crashlytics को शुरू करते समय, Crashlytics.ReportUncaughtExceptionsAsFatal प्रॉपर्टी को true पर सेट करें. हालांकि, यह सुविधा उन गड़बड़ियों के लिए उपलब्ध नहीं है जिनकी वजह से आपका गेम क्रैश नहीं होता. जैसे, गेम लॉजिक में C# की न पकड़ी गई गड़बड़ियां.
इन इवेंट की रिपोर्ट, Crashlytics को रीयल टाइम में मिलती है. इसके लिए,
एंड-यूज़र को गेम रीस्टार्ट करने की ज़रूरत नहीं होती.
न पकड़ी गई गड़बड़ियों को फ़ेटल इवेंट के तौर पर रिपोर्ट करने का मतलब है कि इन्हें, क्रैश न होने वाले उपयोगकर्ताओं के आंकड़ों और वेलोसिटी अलर्ट में गिना जाएगा.
ध्यान दें कि नेटिव क्रैश को हमेशा फ़ेटल इवेंट के तौर पर रिपोर्ट किया जाता है. इन इवेंट को डिवाइस पर लॉग किया जाता है. इसके बाद, इन्हें तब भेजा जाता है, जब एंड-यूज़र गेम को रीस्टार्ट करता है.
void Start() { // Since there is no try-block surrounding this call, if an exception is thrown, // it is considered unexpected. // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true` // will ensure that such cases are reported as fatals. thirdPartyMethodThatMayThrow(); }
मेमोरी में गड़बड़ी की समस्याओं को डीबग करने के लिए, GWP-ASan की रिपोर्ट शामिल करना
IL2CPP का इस्तेमाल करने वाले Android ऐप्लिकेशन के लिए, Crashlytics GWP-ASan की रिपोर्ट इकट्ठा करके, नेटिव मेमोरी में होने वाली गड़बड़ियों की वजह से होने वाले क्रैश को डीबग करने में आपकी मदद कर सकता है. मेमोरी से जुड़ी इन गड़बड़ियों की वजह से, आपके ऐप्लिकेशन में मेमोरी करप्ट हो सकती है. यह ऐप्लिकेशन की सुरक्षा से जुड़े जोखिमों की मुख्य वजह है.
Firebase कंसोल के DevOps और ऑडियंस की दिलचस्पी > Crashlytics डैशबोर्ड में, इस डेटा के साथ ये काम किए जा सकते हैं:
किसी समस्या की ज़्यादा जानकारी देखने के लिए, उस पर क्लिक करने पर, आपको यह डेटा "मेमोरी स्टैक ट्रेस" नाम के नए टैब में दिखेगा.
इस डेटा से जुड़ी सभी समस्याओं को तुरंत देखने के लिए, "GWP-ASan की रिपोर्ट" नाम के नए सिग्नल और फ़िल्टर का इस्तेमाल किया जा सकता है.
अगर आपका ऐप्लिकेशन, Unity के लिए Crashlytics SDK टूल के नए वर्शन (v10.7.0+) का इस्तेमाल करता है और उसमें GWP-ASan की सुविधा साफ़ तौर पर चालू है, तो आपको GWP-ASan की मेमोरी रिपोर्ट मिल सकती हैं. इसके लिए, आपको अपने Android ऐप्लिकेशन के मेनिफ़ेस्ट में बदलाव करना होगा. अगर आपके ऐप्लिकेशन में C++ का कोई कोड है, तो Android के दस्तावेज़ में दिए गए नेटिव कोड के उदाहरण का इस्तेमाल करके, GWP-ASan के सेटअप की जांच की जा सकती है.
कस्टम बटन जोड़ना
कस्टम बटन की मदद से, क्रैश होने से पहले आपके ऐप्लिकेशन की खास स्थिति के बारे में पता चलता है. क्रैश की रिपोर्ट के साथ, अपनी पसंद के मुताबिक बटन-वैल्यू पेयर जोड़े जा सकते हैं. इसके बाद, Firebase कंसोल के DevOps और ऑडियंस की दिलचस्पी > Crashlytics डैशबोर्ड में, क्रैश की रिपोर्ट को खोजने और फ़िल्टर करने के लिए, कस्टम बटन का इस्तेमाल किया जा सकता है. Firebase
कस्टम बटन से मेल खाने वाली समस्याओं को खोजा जा सकता है.
कंसोल में किसी समस्या की समीक्षा करते समय, हर इवेंट के लिए उससे जुड़े कस्टम बटन (बटन सबटैब) देखे जा सकते हैं. साथ ही, पेज में सबसे ऊपर मौजूद फ़िल्टर मेन्यू में जाकर, इवेंट को कस्टम बटन के हिसाब से फ़िल्टर भी किया जा सकता है.
मौजूदा बटन के लिए नई वैल्यू, कई बार कॉल करने पर अपडेट हो जाएंगी. साथ ही, क्रैश रिकॉर्ड होने पर, सिर्फ़ सबसे नई वैल्यू कैप्चर की जाएगी.
Crashlytics.SetCustomKey(string key, string value);
कस्टम लॉग मैसेज जोड़ना
क्रैश होने से पहले के इवेंट के बारे में ज़्यादा जानकारी पाने के लिए, अपने ऐप्लिकेशन में कस्टम Crashlytics लॉग जोड़े जा सकते हैं. Crashlytics लॉग को क्रैश के डेटा से जोड़ता है और किसी समस्या की ज़्यादा जानकारी देखते समय, उन्हें लॉग टैब में दिखाता है. Firebase कंसोल के DevOps और ऑडियंस की दिलचस्पी > Crashlytics डैशबोर्ड में, अपनी सभी समस्याएं देखी जा सकती हैं.
CrashlyticsCrashlytics.Log(string message);
यूज़र आइडेंटिफ़ायर सेट करना
अपने ऐप्लिकेशन के एंड-यूज़र की खास पहचान करने के लिए, आईडी नंबर, टोकन या हैश की गई वैल्यू का इस्तेमाल किया जा सकता है. इसके लिए, उनकी निजी जानकारी का खुलासा या ट्रांसमिट नहीं किया जाता. वैल्यू को खाली स्ट्रिंग पर सेट करके भी मिटाया जा सकता है. Firebase कंसोल के Firebase डैशबोर्ड में, किसी खास क्रैश को देखते समय यह वैल्यू दिखती है.Crashlytics
Crashlytics.SetUserId(string identifier);
ब्रेडक्रंब लॉग पाना
ब्रेडक्रंब लॉग से आपको यह बेहतर ढंग से समझने में मदद मिलती है कि क्रैश, नॉन-फ़ेटल या एएनआर इवेंट से पहले, उपयोगकर्ता ने आपके ऐप्लिकेशन के साथ कौनसे इंटरैक्शन किए थे. किसी समस्या को दोहराने और डीबग करने की कोशिश करते समय, ये लॉग काम आ सकते हैं.
ब्रेडक्रंब लॉग, Google Analytics की मदद से जनरेट होते हैं. इसलिए, ब्रेडक्रंब लॉग पाने के लिए, आपको अपने Firebase प्रोजेक्ट के लिए Google Analytics चालू करना होगा. साथ ही, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल जोड़ना होगा. इन ज़रूरी शर्तों को पूरा करने के बाद, किसी समस्या की ज़्यादा जानकारी देखते समय, **लॉग** टैब में, इवेंट के डेटा के साथ ब्रेडक्रंब लॉग अपने-आप शामिल हो जाते हैं. Firebase कंसोल के **DevOps और ऑडियंस की दिलचस्पी** > **Crashlytics** डैशबोर्ड में, अपनी सभी समस्याएं देखी जा सकती हैं.Google AnalyticsCrashlyticsFirebase
Analytics SDK
टूल, screen_view इवेंट
को अपने-आप लॉग करता है. इससे ब्रेडक्रंब लॉग में,
क्रैश, नॉन-फ़ेटल या एएनआर इवेंट से पहले देखे गए स्क्रीन की सूची दिखती है. screen_view ब्रेडक्रंब लॉग में, firebase_screen_class पैरामीटर शामिल होता है.
ब्रेडक्रंब लॉग में, उपयोगकर्ता के सेशन में मैन्युअल तरीके से लॉग किए गए सभी कस्टम इवेंट भी शामिल होते हैं. इनमें, इवेंट का पैरामीटर डेटा भी शामिल होता है. इस डेटा से, क्रैश, नॉन-फ़ेटल या एएनआर इवेंट से पहले, उपयोगकर्ता की कार्रवाइयों की सीरीज़ दिखाई जा सकती है.
ध्यान दें कि डेटाGoogle Analytics को इकट्ठा करने और इस्तेमाल करने की प्रोसेस को कंट्रोल किया जा सकता है, इसमें, ब्रेडक्रंब लॉग में शामिल डेटा भी शामिल है.
ऑप्ट-इन रिपोर्टिंग की सुविधा चालू करना
डिफ़ॉल्ट रूप से, Crashlytics आपके ऐप्लिकेशन के सभी उपयोगकर्ताओं के लिए, क्रैश होने की रिपोर्ट अपने-आप इकट्ठा करता है. उपयोगकर्ताओं को क्रैश की रिपोर्टिंग के लिए ऑप्ट-इन करने की सुविधा देकर, उन्हें अपने डेटा पर ज़्यादा कंट्रोल दिया जा सकता है.
सिर्फ़ चुने गए उपयोगकर्ताओं के लिए, ऑटोमैटिक डेटा कलेक्शन की सुविधा बंद करने के लिए, रनटाइम में Crashlytics डेटा कलेक्शन को ओवरराइड करें. ओवरराइड की वैल्यू, आपके ऐप्लिकेशन के सभी लॉन्च के दौरान बनी रहती है. इसलिए, Crashlytics उस उपयोगकर्ता के लिए, रिपोर्ट अपने-आप इकट्ठा कर सकता है.
Crashlytics.IsCrashlyticsCollectionEnabled = true
अगर उपयोगकर्ता बाद में डेटा कलेक्शन से ऑप्ट-आउट करता है, तो ओवरराइड की वैल्यू के तौर पर false पास किया जा सकता है. यह वैल्यू, उपयोगकर्ता के अगली बार ऐप्लिकेशन लॉन्च करने पर लागू होगी. साथ ही, उस उपयोगकर्ता के लिए, ऐप्लिकेशन के सभी लॉन्च के दौरान बनी रहेगी.
क्रैश इनसाइट के डेटा को मैनेज करना
क्रैश इनसाइट, आपके ऐप्लिकेशन के एनोनिमाइज़ किए गए स्टैक ट्रेस की तुलना, Firebase के अन्य ऐप्लिकेशन के ट्रेस से करके, समस्याओं को हल करने में आपकी मदद करता है. साथ ही, यह आपको बताता है कि आपकी समस्या, किसी बड़े ट्रेंड का हिस्सा है या नहीं. कई समस्याओं के लिए, क्रैश इनसाइट, क्रैश को डीबग करने में आपकी मदद करने के लिए संसाधन भी उपलब्ध कराता है.
क्रैश इनसाइट, स्थिरता से जुड़े सामान्य ट्रेंड की पहचान करने के लिए, क्रैश के एग्रीगेट किए गए डेटा का इस्तेमाल करता है. अगर आपको अपने ऐप्लिकेशन का डेटा शेयर नहीं करना है, तो Firebase कंसोल के DevOps और ऑडियंस की दिलचस्पी > Crashlytics डैशबोर्ड में, समस्याओं की सूची में सबसे ऊपर मौजूद क्रैश इनसाइट मेन्यू में जाकर, क्रैश इनसाइट से ऑप्ट-आउट किया जा सकता है.
अगले चरण
- अपने डेटा को BigQuery या Cloud Logging में एक्सपोर्ट करें, ताकि उसे गहराई से समझा जा सके. साथ ही, डेटा के लिए क्वेरी करना, कस्टम डैशबोर्ड बनाना, और कस्टम अलर्ट सेट अप करना जैसी सुविधाएं इस्तेमाल की जा सकें.