Firebase Crashlytics की क्रैश रिपोर्ट को पसंद के मुताबिक बनाएं


Crashlytics डैशबोर्ड में, किसी समस्या पर क्लिक करके, इवेंट की ज़्यादा जानकारी वाली रिपोर्ट देखी जा सकती है. बेहतर तरीके से समझने के लिए, उन रिपोर्ट को पसंद के मुताबिक बनाया जा सकता है आपके ऐप्लिकेशन में क्या हो रहा है और इवेंट से जुड़ी स्थितियों की जानकारी Crashlytics.

  • अगर आपका ऐप्लिकेशन Google Analytics के लिए Firebase SDK टूल का इस्तेमाल करता है, तो ब्रेडक्रंब लॉग अपने-आप मिलते हैं. इन लॉग से, आपको उपयोगकर्ता की उन कार्रवाइयों के बारे में जानकारी मिलती है जिनकी वजह से आपके ऐप्लिकेशन में Crashlytics से इकट्ठा किया गया इवेंट ट्रिगर होता है.

  • क्रैश की अपने-आप होने वाली रिपोर्टिंग बंद करें और अपने उपयोगकर्ताओं के लिए, ऑप्ट-इन रिपोर्टिंग की सुविधा चालू करें. ध्यान दें कि, डिफ़ॉल्ट रूप से, Crashlytics आपके सभी डिवाइसों के लिए क्रैश रिपोर्ट अपने-आप इकट्ठा करता है उपयोगकर्ता हैं.

रिपोर्ट के अपवाद

मिले अपवादों की शिकायत करें

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

C# में अपवादों को लॉग करने के लिए, यह तरीका अपनाएं:

Crashlytics.LogException(Exception ex);

अपने गेम के 'ट्राई करें/कैच करें' ब्लॉक में, अपवादों की जानकारी दी जा सकती है:

try {
    myMethodThatThrows();
} catch (Exception e) {
   Crashlytics.LogException(e);
   // handle your exception here!
}

उन अपवादों की शिकायत करना जिनकी पहचान नहीं हुई है

ऐसे अपवाद जो आपके गेम को क्रैश नहीं करते. उदाहरण के लिए, ऐसे अपवाद जिनके बारे में लोगों को पता नहीं चला C# अपवाद), गेम लॉजिक के तहत जोड़े जा सकते हैं. जैसे, Crashlytics SDK टूल से उनकी शिकायत की जा सकती है घातक घटनाओं के तौर पर true के लिए Crashlytics.ReportUncaughtExceptionsAsFatal प्रॉपर्टी, जहां आपने अपने Unity प्रोजेक्ट में Crashlytics को शुरू करें को अपनाएं. इन इवेंट की जानकारी, 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 रिपोर्ट शामिल करना

Crashlytics, IL2CPP का इस्तेमाल करने वाले Android ऐप्लिकेशन के लिए, क्रैश को डीबग करने में आपकी मदद कर सकता है GWP-ASan की रिपोर्ट इकट्ठा करके, नेटिव मेमोरी की गड़बड़ियों की वजह से हुई. ये मेमोरी से जुड़ी गड़बड़ियां, आपके ऐप्लिकेशन में मेमोरी खराब होने से जुड़ी हो सकती हैं, जो ऐप्लिकेशन की सुरक्षा में जोखिम की मुख्य वजह है.

  • इस डेटा को नए "मेमोरी स्टैक ट्रेस" में देखा जा सकता है टैब, जब आप क्लिक समस्या की जानकारी के लिए, Crashlytics डैशबोर्ड.

  • नई "GWP-ASan रिपोर्ट" का इस्तेमाल भी किया जा सकता है तुरंत देखने के लिए सिग्नल और फ़िल्टर सभी समस्याएं हैं.

GWP-ASan की मेमोरी रिपोर्ट तब ही मिल सकती हैं, जब आपका ऐप्लिकेशन Unity के लिए Crashlytics SDK टूल के नए वर्शन (10.7.0 के बाद के वर्शन) का इस्तेमाल करता हो और उसमें GWP-ASan की सुविधा साफ़ तौर पर चालू हो. इसके लिए, आपको अपने Android ऐप्लिकेशन मेनिफ़ेस्ट में बदलाव करना होगा. अगर आपके ऐप्लिकेशन में कोई C++ कोड मौजूद है, तो Android दस्तावेज़ में नेटिव कोड का उदाहरण देखें.

कस्टम कुंजियां जोड़ें

कस्टम कुंजियों की मदद से, आपके ऐप्लिकेशन की उस खास स्थिति का पता लगाया जा सकता है जिसकी वजह से क्रैश हो रहा है. अपनी क्रैश रिपोर्ट के साथ, अपनी पसंद के मुताबिक कोई भी कुंजी/वैल्यू जोड़ी जा सकती है. इसके बाद, Firebase कंसोल में क्रैश रिपोर्ट खोजने और फ़िल्टर करने के लिए, कस्टम कुंजियों का इस्तेमाल किया जा सकता है.

  • Crashlytics डैशबोर्ड में, समस्याओं को खोजा जा सकता है जो कस्टम कुंजी से मेल खाते हैं.
  • कंसोल में किसी खास समस्या की समीक्षा करते समय, हर इवेंट (कुंजियां सब-टैब) के लिए उससे जुड़ी कस्टम कुंजियां देखी जा सकती हैं. साथ ही, इवेंट को कस्टम कुंजियों के हिसाब से फ़िल्टर भी किया जा सकता है. इसके लिए, पेज में सबसे ऊपर मौजूद फ़िल्टर मेन्यू पर जाएं.

कई बार कॉल किए जाने पर, मौजूदा कुंजियों की नई वैल्यू से वैल्यू अपडेट हो जाएगी. साथ ही, क्रैश रिकॉर्ड होने पर सिर्फ़ सबसे नई वैल्यू कैप्चर की जाएगी.

Crashlytics.SetCustomKey(string key, string value);

कस्टम लॉग मैसेज जोड़ना

लॉग किए गए मैसेज, आपके क्रैश होने के डेटा से जुड़े होते हैं और किसी खास क्रैश को देखते समय, Firebase Crashlytics डैशबोर्ड.

Crashlytics.Log(string message);

उपयोगकर्ता आइडेंटिफ़ायर सेट करना

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

Crashlytics.SetUserId(string identifier);

ब्रेडक्रंब लॉग पाएं

ब्रेडक्रंब लॉग से आपको इस बारे में बेहतर जानकारी मिलती है कि उपयोगकर्ता ने आपके ऐप्लिकेशन के साथ कैसे इंटरैक्ट किया, जिसकी वजह से ऐप्लिकेशन क्रैश हुआ, गड़बड़ी हुई या ANR इवेंट हुआ. किसी समस्या को दोहराने और डीबग करने के दौरान, इन लॉग से मदद मिल सकती है.

ब्रेडक्रंब लॉग, Google Analytics की मदद से काम करते हैं. इसलिए, ब्रेडक्रंब लॉग पाने के लिए, आपको अपने Firebase प्रोजेक्ट के लिए Google Analytics चालू करना होगा. साथ ही, अपने ऐप्लिकेशन में Google Analytics के लिए Firebase SDK टूल जोड़ना होगा. इन ज़रूरी शर्तों को पूरा करने के बाद, किसी समस्या की जानकारी देखने पर, ब्रेडक्रंब लॉग अपने-आप लॉग टैब में इवेंट के डेटा के साथ शामिल हो जाते हैं.

Analytics SDK टूल screen_view इवेंट को अपने-आप लॉग करता है जिसकी मदद से ब्रेडक्रंब लॉग उन स्क्रीन की सूची दिखाएगा जो क्रैश, नुकसान न पहुंचाने वाली या ANR वाली गड़बड़ी. screen_view ब्रेडक्रंब लॉग में, यह firebase_screen_class पैरामीटर.

ब्रेडक्रंब लॉग में, उपयोगकर्ता के सेशन में मैन्युअल तरीके से लॉग किए गए कस्टम इवेंट भी शामिल होते हैं. इनमें इवेंट के पैरामीटर का डेटा भी शामिल होता है. इस डेटा से, उपयोगकर्ता की उन गतिविधियों की जानकारी मिल सकती है जिनकी वजह से ऐप्लिकेशन क्रैश हुआ, गड़बड़ी हुई या ANR इवेंट हुआ.

ध्यान दें कि आपके पास Google Analytics डेटा को इकट्ठा और इस्तेमाल करने की सुविधा को कंट्रोल करने का विकल्प होता है. इसमें वह डेटा भी शामिल होता है जो ब्रेडक्रंब लॉग में अपने-आप भर जाता है.

ऑप्ट-इन रिपोर्टिंग की सुविधा चालू करना

डिफ़ॉल्ट रूप से, Crashlytics आपके सभी डिवाइसों के लिए क्रैश रिपोर्ट अपने-आप इकट्ठा करता है उपयोगकर्ता हैं. उपयोगकर्ताओं को उनके भेजे जाने वाले डेटा पर ज़्यादा कंट्रोल दिया जा सकता है. इसके लिए, वे क्रैश की रिपोर्ट करने के लिए ऑप्ट-इन कर सकते हैं.

अपने-आप इकट्ठा होने की सुविधा बंद करने और सिर्फ़ चुने गए विकल्पों के लिए, Crashlytics को शुरू करने के लिए उपयोगकर्ताओं के लिए, रनटाइम के दौरान Crashlytics डेटा कलेक्शन को बदलने का अनुरोध करें. बदली गई वैल्यू, आपके ऐप्लिकेशन के हर लॉन्च के दौरान बनी रहती है, ताकि Crashlytics अपने-आप रिपोर्ट इकट्ठा कर सके. क्रैश की अपने-आप होने वाली रिपोर्टिंग से ऑप्ट आउट करने के लिए, बदली गई वैल्यू के तौर पर false पास करें. false पर सेट होने पर, नई वैल्यू तब तक लागू नहीं होती, जब तक ऐप्लिकेशन को फिर से नहीं चलाया जाता.

Crashlytics.IsCrashlyticsCollectionEnabled = true

क्रैश की अहम जानकारी का डेटा मैनेज करें

'क्रैश इनसाइट' सुविधा की मदद से, पहचान छिपाने वाले आपके स्टैक की तुलना की जा सकती है. इससे समस्याएं हल करने में मदद मिलती है ट्रेस करता है और बताता है कि क्या आपकी समस्या रुझान का एक अहम हिस्सा है. कई समस्याओं के लिए, क्रैश इनसाइट, संसाधनों को ताकि आपको क्रैश को डीबग करने में मदद मिल सके.

क्रैश इनसाइट में, ऐप्लिकेशन क्रैश होने से जुड़े इकट्ठा किए गए डेटा का इस्तेमाल किया जाता है, ताकि स्थिरता से जुड़े सामान्य रुझानों का पता लगाया जा सके. अगर आपको अपने ऐप्लिकेशन का डेटा शेयर नहीं करना है, तो क्रैश इनसाइट की सुविधा से ऑप्ट-आउट किया जा सकता है क्रैश की अहम जानकारी वाले मेन्यू से, जो Crashlytics की समस्या सूची में सबसे ऊपर मौजूद है Firebase कंसोल में देखें.