| प्लैटफ़ॉर्म चुनें: | iOS+ Android Flutter Unity |
Crashlytics डैशबोर्ड में, किसी समस्या पर क्लिक करके, उससे जुड़ी विस्तृत इवेंट रिपोर्ट देखी जा सकती है. इन रिपोर्ट को अपनी ज़रूरत के हिसाब से बनाया जा सकता है. इससे आपको यह समझने में मदद मिलती है कि आपके ऐप्लिकेशन में क्या हो रहा है और को रिपोर्ट किए गए इवेंट किन वजहों से हुए. 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 की रिपोर्ट इकट्ठा करके, नेटिव मेमोरी में होने वाली गड़बड़ियों की वजह से होने वाले क्रैश को डीबग करने में आपकी मदद कर सकता है. मेमोरी से जुड़ी इन गड़बड़ियों की वजह से, आपके ऐप्लिकेशन में मेमोरी करप्ट हो सकती है. यह ऐप्लिकेशन की सुरक्षा से जुड़े जोखिमों की मुख्य वजह है.
इस डेटा के साथ सभी समस्याओं को तुरंत देखने के लिए, "GWP-ASan रिपोर्ट" नाम के नए सिग्नल और फ़िल्टर का भी इस्तेमाल किया जा सकता है.
अगर आपका ऐप्लिकेशन, Unity के लिए Crashlytics SDK टूल के नए वर्शन (v10.7.0+) का इस्तेमाल करता है और उसमें GWP-ASan की सुविधा साफ़ तौर पर चालू है (इसके लिए, आपको अपने Android ऐप्लिकेशन के मेनिफ़ेस्ट में बदलाव करना होगा), तो GWP-ASan की मेमोरी रिपोर्ट देखी जा सकती हैं. अगर आपके ऐप्लिकेशन में C++ का कोई कोड है, तो Android के दस्तावेज़ में दिए गए नेटिव कोड के उदाहरण का इस्तेमाल करके, GWP-ASan के सेटअप की जांच की जा सकती है.
कस्टम बटन जोड़ना
कस्टम बटन की मदद से, क्रैश होने से पहले आपके ऐप्लिकेशन की खास स्थिति के बारे में जानकारी मिलती है. क्रैश की रिपोर्ट के साथ, अपनी पसंद के मुताबिक की-वैल्यू पेयर जोड़े जा सकते हैं. इसके बाद, कस्टम बटन का इस्तेमाल करके, Firebase कंसोल में क्रैश की रिपोर्ट खोजी और फ़िल्टर की जा सकती है.
- Crashlytics डैशबोर्ड में, कस्टम बटन से मेल खाने वाली समस्याओं को खोजा जा सकता है.
- कंसोल में किसी समस्या की समीक्षा करते समय, हर इवेंट के लिए उससे जुड़े कस्टम बटन (Keys सबटैब) देखे जा सकते हैं. साथ ही, पेज में सबसे ऊपर मौजूद फ़िल्टर मेन्यू में जाकर, कस्टम बटन के हिसाब से इवेंट को फ़िल्टर भी किया जा सकता है.
एक ही बटन के लिए कई बार कॉल करने पर, मौजूदा बटन की नई वैल्यू अपडेट हो जाएंगी. साथ ही, क्रैश रिकॉर्ड होने पर, सिर्फ़ सबसे नई वैल्यू कैप्चर की जाएगी.
Crashlytics.SetCustomKey(string key, string value);
कस्टम लॉग मैसेज जोड़ना
लॉग किए गए मैसेज, क्रैश के डेटा से जुड़े होते हैं. साथ ही, किसी क्रैश को देखते समय, ये Firebase Crashlytics डैशबोर्ड में दिखते हैं.
Crashlytics.Log(string message);
यूज़र आइडेंटिफ़ायर सेट करना
अपने ऐप्लिकेशन के एंड-यूज़र की खास पहचान करने के लिए, आईडी नंबर, टोकन या हैश की गई वैल्यू का इस्तेमाल किया जा सकता है. हालांकि, इसके लिए, उनकी निजी जानकारी का खुलासा या ट्रांसमिट नहीं किया जा सकता. वैल्यू को खाली स्ट्रिंग पर सेट करके भी उसे मिटाया जा सकता है. किसी क्रैश को देखते समय, यह वैल्यू Firebase Crashlytics डैशबोर्ड में दिखती है.
Crashlytics.SetUserId(string identifier);
ब्रेडक्रंब लॉग पाना
ब्रेडक्रंब लॉग से, आपको इस बारे में बेहतर जानकारी मिलती है कि क्रैश, नॉन-फ़ेटल या एएनआर इवेंट से पहले, उपयोगकर्ता ने आपके ऐप्लिकेशन के साथ किस तरह इंटरैक्ट किया. किसी समस्या को फिर से बनाने और उसे डीबग करने की कोशिश करते समय, ये लॉग काम आ सकते हैं.
ब्रेडक्रंब लॉग, Google Analytics की मदद से जनरेट होते हैं. इसलिए, ब्रेडक्रंब लॉग पाने के लिए, आपको अपने Firebase प्रोजेक्ट के लिए Google Analytics की सुविधा चालू करनी होगी. साथ ही, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल जोड़ना होगा. इन ज़रूरी शर्तों को पूरा करने के बाद, किसी समस्या की जानकारी देखते समय, **लॉग** टैब में इवेंट के डेटा के साथ ब्रेडक्रंब लॉग अपने-आप शामिल हो जाते हैं.Google Analytics
Analytics Analytics SDK
टूल, screen_view इवेंट
को अपने-आप लॉग करता है. इससे, ब्रेडक्रंब लॉग में क्रैश, नॉन-फ़ेटल या एएनआर इवेंट से पहले देखी गई स्क्रीन की सूची दिखती है. screen_view ब्रेडक्रंब लॉग में, firebase_screen_class पैरामीटर शामिल होता है.
ब्रेडक्रंब लॉग में, उपयोगकर्ता के सेशन में मैन्युअल तरीके से लॉग किए गए सभी कस्टम इवेंट भी शामिल होते हैं. इनमें इवेंट का पैरामीटर डेटा भी शामिल होता है. इस डेटा से, क्रैश, नॉन-फ़ेटल या एएनआर इवेंट से पहले, उपयोगकर्ता की कार्रवाइयों की सीरीज़ दिखाई जा सकती है.
ध्यान दें कि डेटाGoogle Analytics को इकट्ठा करने और इस्तेमाल करने की प्रोसेस को कंट्रोल किया जा सकता है, इसमें, ब्रेडक्रंब लॉग जनरेट करने वाला डेटा भी शामिल है.
ऑप्ट-इन रिपोर्टिंग की सुविधा चालू करना
डिफ़ॉल्ट रूप से, Crashlytics आपके ऐप्लिकेशन के सभी उपयोगकर्ताओं के लिए, क्रैश की रिपोर्ट अपने-आप इकट्ठा करता है. उपयोगकर्ताओं को क्रैश की रिपोर्टिंग के लिए ऑप्ट-इन करने की सुविधा देकर, उन्हें अपने डेटा पर ज़्यादा कंट्रोल दिया जा सकता है.
सिर्फ़ चुने गए उपयोगकर्ताओं के लिए, अपने-आप डेटा इकट्ठा करने की सुविधा बंद करने के लिए, रनटाइम में Crashlytics डेटा कलेक्शन को ओवरराइड करें. ओवरराइड की वैल्यू, आपके ऐप्लिकेशन के सभी लॉन्च के दौरान बनी रहती है. इसलिए, Crashlytics उस उपयोगकर्ता के लिए, रिपोर्ट अपने-आप इकट्ठा कर सकता है.
Crashlytics.IsCrashlyticsCollectionEnabled = true
अगर उपयोगकर्ता बाद में डेटा कलेक्शन से ऑप्ट-आउट करता है, तो ओवरराइड वैल्यू के तौर पर false पास किया जा सकता है. यह वैल्यू, उपयोगकर्ता के अगली बार ऐप्लिकेशन लॉन्च करने पर लागू होगी. साथ ही, उस उपयोगकर्ता के लिए, ऐप्लिकेशन के सभी लॉन्च के दौरान बनी रहेगी.
क्रैश इनसाइट के डेटा को मैनेज करना
क्रैश इनसाइट, आपके ऐप्लिकेशन के स्टैक ट्रेस की तुलना, Firebase के अन्य ऐप्लिकेशन के स्टैक ट्रेस से करके, समस्याओं को हल करने में आपकी मदद करता है. साथ ही, यह आपको बताता है कि आपकी समस्या, किसी बड़े ट्रेंड का हिस्सा है या नहीं. कई समस्याओं के लिए, क्रैश इनसाइट, क्रैश को डीबग करने में आपकी मदद करने के लिए संसाधन भी उपलब्ध कराता है.
क्रैश इनसाइट, स्थिरता से जुड़े सामान्य ट्रेंड की पहचान करने के लिए, क्रैश के एग्रीगेट किए गए डेटा का इस्तेमाल करता है. अगर आपको अपने ऐप्लिकेशन का डेटा शेयर नहीं करना है, तो Crash Insights से ऑप्ट-आउट किया जा सकता है. इसके लिए, क्रैश इनसाइट मेन्यू पर जाएं. यह मेन्यू, आपकी Crashlytics समस्या सूची में सबसे ऊपर मौजूद है. यह सूची Firebase कंसोल में है.
अगले चरण
- अपने डेटा को BigQuery या Cloud Logging में एक्सपोर्ट करें. इससे, डेटा को गहराई से समझने और क्वेरी करने, कस्टम डैशबोर्ड बनाने, और कस्टम अलर्ट सेट अप करने जैसी सुविधाओं का इस्तेमाल किया जा सकता है.