Check out what’s new from Firebase at Google I/O 2022. Learn more

Firebase Crashlytics डेटा BigQuery में निर्यात करें

आप आगे के विश्लेषण के लिए अपने Crashlytics डेटा को BigQuery में निर्यात कर सकते हैं। BigQuery आपको BigQuery SQL का उपयोग करके डेटा का विश्लेषण करने, उसे किसी अन्य क्लाउड प्रदाता को निर्यात करने और Google डेटा स्टूडियो के साथ विज़ुअलाइज़ेशन और कस्टम डैशबोर्ड के लिए उपयोग करने की अनुमति देता है।

BigQuery निर्यात सक्षम करें

  1. फायरबेस कंसोल में इंटीग्रेशन पेज पर जाएं।
  2. BigQuery कार्ड में, लिंक पर क्लिक करें.
  3. BigQuery को सक्षम करने के लिए ऑन-स्क्रीन निर्देशों का पालन करें।

जब आप अपने प्रोजेक्ट को BigQuery से लिंक करते हैं:

BigQuery निर्यात को निष्क्रिय करने के लिए, अपने प्रोजेक्ट को Firebase कंसोल में अनलिंक करें

BigQuery को कौन सा डेटा निर्यात किया जाता है?

Firebase firebase_crashlytics डेटा को Firebase_crashlytics नामक BigQuery डेटासेट में निर्यात किया जाता है। डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट में प्रत्येक ऐप के लिए Crashlytics डेटा सेट के अंदर अलग-अलग टेबल बनाए जाएंगे। फायरबेस ऐप के बंडल आइडेंटिफ़ायर के आधार पर तालिकाओं को नाम देता है, जिसमें अवधि अंडरस्कोर में परिवर्तित हो जाती है, और अंत में एक प्लेटफ़ॉर्म नाम जोड़ा जाता है।

उदाहरण के लिए, com.google.test आईडी वाले ऐप का डेटा com_google_test_ANDROID नाम की तालिका में होगा। यह बैच तालिका प्रतिदिन एक बार अपडेट की जाती है। अगर आप Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करते हैं, तो Firebase Crashlytics डेटा भी रीयलटाइम में com_google_test_ANDROID_REALTIME पर स्ट्रीम किया जाएगा।

तालिका की प्रत्येक पंक्ति ऐप में हुई एक घटना का प्रतिनिधित्व करती है, जिसमें क्रैश, गैर-घातक त्रुटियां और ANR शामिल हैं।

Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करें

आप BigQueryStreaming के साथ रीयल टाइम में अपने Crashlytics डेटा को स्ट्रीम कर सकते हैं। आप इसका उपयोग किसी भी उद्देश्य के लिए कर सकते हैं जिसके लिए लाइव डेटा की आवश्यकता होती है, जैसे लाइव डैशबोर्ड में जानकारी प्रस्तुत करना, रोलआउट को लाइव देखना, या अलर्ट और कस्टम वर्कफ़्लो को ट्रिगर करने वाली एप्लिकेशन समस्याओं की निगरानी करना।

Crashlytics BigQuery का स्ट्रीमिंग निर्यात BigQuery सैंडबॉक्स के लिए उपलब्ध नहीं है.

जब आप Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम करते हैं, तो बैच तालिका के अतिरिक्त आपके पास एक रीयलटाइम तालिका होगी। यहाँ वे अंतर हैं जिनसे आपको तालिकाओं के बीच अवगत होना चाहिए:

बैच तालिका रीयलटाइम टेबल
  • डेटा प्रतिदिन एक बार निर्यात किया जाता है
  • BigQuery में बैच लिखने से पहले ईवेंट को स्थायी रूप से संग्रहीत किया जाता है
  • 90 दिन पहले तक बैकफ़िल किया जा सकता है
  • वास्तविक समय में निर्यात किया गया डेटा
  • कोई बैकफ़िल उपलब्ध नहीं है

बैच तालिका दीर्घकालिक विश्लेषण और समय के साथ रुझानों की पहचान करने के लिए आदर्श है क्योंकि हम घटनाओं को लिखने से पहले उन्हें स्थायी रूप से संग्रहीत करते हैं, और उन्हें तालिका में 90 दिनों तक बैकफ़िल किया जा सकता है। जब हम आपकी रीयल टाइम टेबल में डेटा लिखते हैं, तो हम उसे तुरंत BigQuery को लिख देते हैं, और इसलिए यह लाइव डैशबोर्ड और कस्टम अलर्ट के लिए आदर्श है। इन दो तालिकाओं को दोनों के लाभ प्राप्त करने के लिए एक सिलाई क्वेरी के साथ जोड़ा जा सकता है। नीचे प्रश्न उदाहरण 9 देखें।

डिफ़ॉल्ट रूप से, रीयलटाइम तालिका में 30 दिनों का विभाजन समाप्ति समय होता है। इसे संशोधित करने का तरीका जानने के लिए, विभाजन समाप्ति का अद्यतन करना देखें।

Crashlytics BigQuery स्ट्रीमिंग सक्षम करें

स्ट्रीमिंग सक्षम करने के लिए, BigQuery एकीकरण पृष्ठ के क्रैशलिटिक्स अनुभाग पर नेविगेट करें और स्ट्रीमिंग शामिल करें चेकबॉक्स चुनें।

डेटा स्टूडियो टेम्प्लेट

अपने डेटा स्टूडियो टेम्प्लेट में रीयलटाइम डेटा सक्षम करने के लिए, डेटा स्टूडियो के साथ निर्यात किए गए क्रैशलिटिक्स डेटा को विज़ुअलाइज़ करने के निर्देशों का पालन करें।

विचारों

आप नीचे दी गई उदाहरण क्वेरी को BigQuery UI का उपयोग करके दृश्यों में बदल सकते हैं। विस्तृत निर्देशों के लिए दृश्य बनाना देखें।

आप निर्यात किए गए डेटा के साथ क्या कर सकते हैं?

BigQuery निर्यात में डिवाइस प्रकार, ऑपरेटिंग सिस्टम, अपवाद (Android ऐप्स) या त्रुटियां (Apple ऐप्स), और Crashlytics लॉग के साथ-साथ अन्य डेटा सहित अपरिष्कृत क्रैश डेटा होता है।

BigQuery में Firebase Crashlytics डेटा के साथ काम करना

निम्नलिखित उदाहरण उन प्रश्नों को प्रदर्शित करते हैं जिन्हें आप अपने Crashlytics डेटा पर चला सकते हैं। ये क्वेरीज़ ऐसी रिपोर्ट तैयार करती हैं जो Crashlytics डैशबोर्ड में उपलब्ध नहीं हैं।

क्रैशलाईटिक्स प्रश्नों के उदाहरण

निम्नलिखित उदाहरण प्रदर्शित करते हैं कि रिपोर्ट कैसे उत्पन्न करें जो क्रैश ईवेंट डेटा को अधिक आसानी से समझे जाने वाले सारांशों में एकत्रित करती हैं।

उदाहरण 1: दिन के हिसाब से क्रैश

अधिक से अधिक बग्स को ठीक करने के लिए काम करने के बाद, एक लीड डेवलपर को लगता है कि उसकी टीम आखिरकार अपना नया फोटो-शेयरिंग ऐप लॉन्च करने के लिए तैयार है। ऐसा करने से पहले, वे पिछले महीने के लिए प्रति दिन क्रैश की संख्या की जांच करना चाहते हैं, यह सुनिश्चित करने के लिए कि उनके बग-बैश ने ऐप को समय के साथ और अधिक स्थिर बना दिया है:

SELECT
  COUNT(DISTINCT event_id) AS number_of_crashes,
  FORMAT_TIMESTAMP("%F", event_timestamp) AS date_of_crashes
FROM
 `projectId.firebase_crashlytics.package_name_ANDROID`
GROUP BY
  date_of_crashes
ORDER BY
  date_of_crashes DESC
LIMIT 30;

उदाहरण 2: सबसे व्यापक क्रैश खोजें

उत्पादन योजनाओं को ठीक से प्राथमिकता देने के लिए, एक परियोजना प्रबंधक अपने उत्पाद में शीर्ष 10 सबसे व्यापक दुर्घटनाओं को इंगित करने के बारे में सोचता है। वे एक प्रश्न उत्पन्न करते हैं जो डेटा के प्रासंगिक बिंदु प्रदान करता है:

SELECT
  DISTINCT issue_id,
  COUNT(DISTINCT event_id) AS number_of_crashes,
  COUNT(DISTINCT installation_uuid) AS number_of_impacted_user,
  blame_frame.file,
  blame_frame.line
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(),INTERVAL 168 HOUR)
  AND event_timestamp < CURRENT_TIMESTAMP()
GROUP BY
  issue_id,
  blame_frame.file,
  blame_frame.line
ORDER BY
  number_of_crashes DESC
LIMIT 10;

उदाहरण 3: शीर्ष 10 क्रैश होने वाले उपकरण

पतन नया फोन सीजन है! एक डेवलपर जानता है कि इसका मतलब यह भी है कि यह नया उपकरण है- विशिष्ट मुद्दों का मौसम। अनुकूलता की बढ़ती चिंताओं से आगे निकलने के लिए, उन्होंने एक साथ एक प्रश्न रखा जो उन 10 उपकरणों की पहचान करता है जिन्होंने पिछले सप्ताह में सबसे अधिक क्रैश का अनुभव किया:

SELECT
  device.model,
COUNT(DISTINCT event_id) AS number_of_crashes
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 168 HOUR)
  AND event_timestamp < CURRENT_TIMESTAMP()
GROUP BY
  device.model
ORDER BY
  number_of_crashes DESC
LIMIT 10;

उदाहरण 4: कस्टम कुंजी द्वारा फ़िल्टर करें

एक गेम डेवलपर जानना चाहता है कि उनके गेम का कौन सा स्तर सबसे अधिक क्रैश का अनुभव करता है। उस आंकड़े को ट्रैक करने में उनकी मदद करने के लिए, वे एक कस्टम क्रैशलाईटिक्स कुंजी current_level सेट करते हैं, और हर बार जब उपयोगकर्ता एक नए स्तर पर पहुंचता है तो इसे अपडेट करता है।

उद्देश्य सी

CrashlyticsKit setIntValue:3 forKey:@"current_level";

तीव्र

Crashlytics.sharedInstance().setIntValue(3, forKey: "current_level");

जावा

Crashlytics.setInt("current_level", 3);

अपने BigQuery निर्यात में उस कुंजी के साथ, वे फिर प्रत्येक क्रैश ईवेंट से संबद्ध current_level मानों के वितरण की रिपोर्ट करने के लिए एक क्वेरी लिखते हैं:

SELECT
COUNT(DISTINCT event_id) AS num_of_crashes,
  value
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
UNNEST(custom_keys)
WHERE
  key = "current_level"
GROUP BY
  key,
  value
ORDER BY
  num_of_crashes DESC

उदाहरण 5: उपयोगकर्ता आईडी निष्कर्षण

एक डेवलपर के पास अर्ली ऐक्सेस में एक ऐप होता है। उनके अधिकांश उपयोगकर्ता इसे पसंद करते हैं, लेकिन तीन ने असामान्य संख्या में क्रैश का अनुभव किया है। समस्या की तह तक जाने के लिए, वे एक क्वेरी लिखते हैं जो उन उपयोगकर्ताओं के लिए सभी क्रैश घटनाओं को खींचती है, उनकी उपयोगकर्ता आईडी का उपयोग करती है:

SELECT *
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  user.id IN ("userid1", "userid2", "userid3")
ORDER BY
  user.id
 

उदाहरण 6: किसी विशेष क्रैश समस्या का सामना करने वाले सभी उपयोगकर्ताओं का पता लगाएं

एक डेवलपर ने बीटा टेस्टर्स के एक समूह के लिए एक महत्वपूर्ण बग जारी किया है। विशिष्ट क्रैश समस्या आईडी की पहचान करने के लिए टीम ऊपर उदाहरण 2 से क्वेरी का उपयोग करने में सक्षम थी। अब वे इस क्रैश से प्रभावित ऐप उपयोगकर्ताओं की सूची निकालने के लिए एक क्वेरी चलाना चाहेंगे:

SELECT user.id as user_id
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  issue_id = "YOUR_ISSUE_ID"
  AND application.display_version = ""
  AND user.id != ""
ORDER BY
  user.id;

उदाहरण 7: क्रैश समस्या से प्रभावित उपयोगकर्ताओं की संख्या, देश के आधार पर विभाजित

अब टीम को एक नई रिलीज़ के रोलआउट के दौरान एक गंभीर बग का पता चला है। वे विशिष्ट क्रैश समस्या आईडी की पहचान करने के लिए ऊपर उदाहरण 2 से क्वेरी का उपयोग करने में सक्षम थे। टीम अब यह देखना चाहेगी कि क्या यह दुर्घटना दुनिया भर के विभिन्न देशों के उपयोगकर्ताओं तक फैली है।

इस प्रश्न को लिखने के लिए, टीम को यह करना होगा:

  1. Google Analytics के लिए BigQuery निर्यात सक्षम करें। प्रोजेक्ट डेटा को BigQuery में एक्सपोर्ट करें देखें.

  2. एक उपयोगकर्ता आईडी को Google Analytics SDK और Crashlytics SDK दोनों में पास करने के लिए उनके ऐप को अपडेट करें।

    उद्देश्य सी
    CrashlyticsKit setUserIdentifier:@"123456789";
    FIRAnalytics setUserID:@"12345678 9";
    
    तीव्र
    Crashlytics.sharedInstance().setUserIdentifier("123456789");
    Analytics.setUserID("123456789");
    
    जावा
    Crashlytics.setUserIdentifier("123456789");
    mFirebaseAnalytics.setUserId("123456789");
    
  3. Crashlytics BigQuery डेटा सेट में क्रैश के साथ Google Analytics BigQuery डेटा सेट में ईवेंट में शामिल होने के लिए उपयोगकर्ता आईडी फ़ील्ड का उपयोग करने वाली क्वेरी लिखें:

    SELECT DISTINCT c.issue_id, a.geo.country, COUNT(DISTINCT c.user.id) as num_users_impacted
    FROM `projectId.firebase_crashlytics.package_name_ANDROID` c
    INNER JOIN  `projectId.analytics_YOUR_TABLE.events_*` a on c.user.id = a.user_id
    WHERE
     c.issue_id = "YOUR_ISSUE_ID"
     AND a._TABLE_SUFFIX BETWEEN '20190101'
     AND '20200101'
    GROUP BY
     c.issue_id,
     a.geo.country,
     c.user.id
    

उदाहरण 8: आज तक के शीर्ष 5 मुद्दे

Crashlytics BigQuery स्ट्रीमिंग निर्यात को सक्षम करने की आवश्यकता है

SELECT
  issue_id,
  COUNT(DISTINCT event_id) AS events
FROM
  `your_project.firebase_crashlytics.package_name_ANDROID_REALTIME`
WHERE
  DATE(event_timestamp) = CURRENT_DATE()
GROUP BY
  issue_id
ORDER BY
  events DESC
LIMIT
  5;

उदाहरण 9: DATE से अब तक के शीर्ष 5 अंक, जिसमें आज भी शामिल है

Crashlytics BigQuery स्ट्रीमिंग निर्यात को सक्षम करने की आवश्यकता है।

इस उदाहरण में, हम विश्वसनीय बैच डेटा में रीयलटाइम जानकारी जोड़ने के लिए बैच और रीयलटाइम टेबल को मिलाते हैं। चूंकि event_id एक प्राथमिक कुंजी है, हम दो तालिकाओं से किसी भी सामान्य ईवेंट को निकालने के लिए DISTINCT event_id का उपयोग कर सकते हैं।

SELECT
  issue_id,
  COUNT(DISTINCT event_id) AS events
FROM (
  SELECT
    issue_id,
    event_id,
    event_timestamp
  FROM
    `your_project.firebase_crashlytics.package_name_ANDROID_REALTIME`
  UNION ALL
  SELECT
    issue_id,
    event_id,
    event_timestamp
  FROM
    `your_project.firebase_crashlytics.package_name_ANDROID`)
WHERE
  event_timestamp >= "2020-01-13"
GROUP BY
  issue_id
ORDER BY
  events DESC
LIMIT
  5;

BigQuery में Firebase Crashlytics स्कीमा को समझना

जब आप Crashlytics को BigQuery से लिंक करते हैं, तो Firebase नब्बे दिनों तक बैकफ़िल करने के विकल्प के साथ हाल के ईवेंट (क्रैश, गैर-घातक त्रुटियां और ANR) निर्यात करता है, जिसमें लिंक से दो दिन पहले तक के ईवेंट शामिल हैं।

उस बिंदु से जब तक आप लिंक को अक्षम नहीं करते, तब तक Firebase Crashlytics ईवेंट को दैनिक आधार पर निर्यात करता है। प्रत्येक निर्यात के बाद BigQuery में डेटा उपलब्ध होने में कुछ मिनट लग सकते हैं.

डेटासेट

Firebase Crashlytics, Crashlytics डेटा के लिए BigQuery में एक नया डेटासेट बनाता है। डेटासेट आपके पूरे प्रोजेक्ट को कवर करता है, भले ही उसमें कई ऐप हों।

टेबल

Firebase Crashlytics आपके प्रोजेक्ट में प्रत्येक ऐप के लिए डेटासेट में एक तालिका बनाता है, जब तक कि आपने उस ऐप के लिए डेटा निर्यात करने से ऑप्ट आउट नहीं किया हो। फायरबेस ऐप के बंडल आइडेंटिफ़ायर के आधार पर तालिकाओं को नाम देता है, जिसमें अवधि अंडरस्कोर में परिवर्तित हो जाती है, और अंत में एक प्लेटफ़ॉर्म नाम जोड़ा जाता है।

उदाहरण के लिए, com.google.test आईडी वाले किसी Android ऐप का डेटा com_google_test_ANDROID नामक तालिका में होगा, और रीयलटाइम डेटा (यदि सक्षम हो) com_google_test_ANDROID_REALTIME नामक तालिका में होगा

डेवलपर्स द्वारा परिभाषित किसी भी कस्टम Crashlytics कुंजियों के अतिरिक्त तालिकाओं में Crashlytics डेटा का एक मानक सेट होता है।

पंक्तियों

तालिका में प्रत्येक पंक्ति एक त्रुटि का प्रतिनिधित्व करती है जिसका सामना ऐप ने किया था।

कॉलम

किसी तालिका के कॉलम क्रैश, गैर-घातक त्रुटियों और ANR के लिए समान होते हैं। यदि Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम है, तो रीयलटाइम तालिका में बैच तालिका के समान कॉलम होंगे। निर्यात के भीतर कॉलम नीचे सूचीबद्ध हैं।

स्टैक ट्रेस के बिना

पंक्तियों में मौजूद स्तंभ जो स्टैक ट्रेस के बिना ईवेंट का प्रतिनिधित्व करते हैं।

कार्यक्षेत्र नाम डेटा प्रकार विवरण
प्लैटफ़ॉर्म डोरी ऐप्पल या एंड्रॉइड ऐप्स
बंडल_पहचानकर्ता डोरी बंडल आईडी, जैसे com.google.gmail
घटना_आईडी डोरी घटना के लिए एक अद्वितीय आईडी
is_fatal बूलियन क्या ऐप क्रैश हो गया
error_type डोरी घटना का त्रुटि प्रकार (FATAL, NON_FATAL, ANR)
मुद्दा_आईडी डोरी घटना से जुड़ा एक मुद्दा
event_timestamp TIMESTAMP जब घटना हुई
उपकरण अभिलेख जिस डिवाइस पर घटना हुई
डिवाइस.निर्माता डोरी डिवाइस निर्माता
डिवाइस का मॉडल डोरी डिवाइस मॉडल
युक्ति.वास्तुकला डोरी X86_32, X86_64, ARMV7, ARM64, ARMV7S, या ARMV7K
स्मृति अभिलेख डिवाइस की मेमोरी स्थिति
स्मृति.प्रयुक्त INT64 उपयोग की गई मेमोरी के बाइट्स
स्मृति मुक्त INT65 स्मृति के बाइट शेष
भंडारण अभिलेख डिवाइस का लगातार भंडारण
भंडारण.प्रयुक्त INT64 उपयोग किए गए भंडारण के बाइट्स
भंडारण मुक्त INT64 भंडारण के बाइट शेष
ऑपरेटिंग सिस्टम अभिलेख डिवाइस का OS विवरण
ऑपरेटिंग_सिस्टम.डिस्प्ले_संस्करण डोरी ओएस संस्करण
ऑपरेटिंग_सिस्टम.नाम डोरी ओएस नाम
ऑपरेटिंग_सिस्टम.संशोधन_राज्य डोरी संशोधित या असंशोधित, अर्थात क्या डिवाइस को जेलब्रेक/रूट किया गया है
ऑपरेटिंग_सिस्टम। प्रकार डोरी डिवाइस पर ऑपरेटिंग सिस्टम का प्रकार। जैसे आईओएस, मैकोज़
ऑपरेटिंग_सिस्टम.डिवाइस_टाइप डोरी डिवाइस का प्रकार। जैसे मोबाइल, टैबलेट, टीवी
आवेदन पत्र अभिलेख इवेंट जनरेट करने वाला ऐप
application.build_version डोरी ऐप का बिल्ड वर्जन
application.display_version डोरी
उपयोगकर्ता अभिलेख वैकल्पिक: ऐप के उपयोगकर्ता पर एकत्रित जानकारी
उपयोगकर्ता नाम डोरी वैकल्पिक: उपयोगकर्ता का नाम
उपयोगकर्ता.ईमेल डोरी वैकल्पिक: उपयोगकर्ता का ईमेल पता
यूज़र आईडी डोरी वैकल्पिक: उपयोगकर्ता से संबद्ध एक ऐप-विशिष्ट आईडी
Custom_keys दोहराया गया रिकॉर्ड डेवलपर-परिभाषित कुंजी-मूल्य जोड़े
custom_keys.key डोरी एक डेवलपर-परिभाषित कुंजी
custom_keys.value डोरी एक डेवलपर-परिभाषित मान
स्थापना_यूयूआईडी डोरी एक आईडी जो एक अद्वितीय ऐप और डिवाइस इंस्टॉलेशन की पहचान करती है
क्रैशलीटिक्स_एसडीके_संस्करण डोरी Crashlytics SDK संस्करण जिसने ईवेंट जेनरेट किया
ऐप_ओरिएंटेशन डोरी पोर्ट्रेट, लैंडस्केप, FACE_UP, या FACE_DOWN
युक्ति_अभिविन्यास डोरी पोर्ट्रेट, लैंडस्केप, FACE_UP, या FACE_DOWN
प्रक्रिया_राज्य डोरी पृष्ठभूमि या अग्रभूमि
लॉग दोहराया गया रिकॉर्ड सक्षम होने पर Crashlytics लकड़हारे द्वारा उत्पन्न टाइमस्टैम्प्ड लॉग संदेश
लॉग्स.टाइमस्टैम्प TIMESTAMP जब लॉग बनाया गया था
लॉग्स.संदेश डोरी लॉग किया गया संदेश
ब्रेडक्रम्ब्स दोहराया गया रिकॉर्ड सक्षम होने पर टाइमस्टैम्प्ड Google Analytics ब्रेडक्रंब
ब्रेडक्रंब.टाइमस्टैम्प TIMESTAMP ब्रेडक्रंब से जुड़ा टाइमस्टैम्प
ब्रेडक्रंब.नाम डोरी ब्रेडक्रंब से जुड़ा नाम
ब्रेडक्रंब.परम्स दोहराया गया रिकॉर्ड ब्रेडक्रंब से जुड़े पैरामीटर
ब्रेडक्रंब.परम्स.की डोरी ब्रेडक्रंब से जुड़ी एक पैरामीटर कुंजी
ब्रेडक्रंब.परम्स.वैल्यू डोरी ब्रेडक्रंब से संबद्ध एक पैरामीटर मान
दोष_फ्रेम अभिलेख फ़्रेम को क्रैश या त्रुटि के मूल कारण के रूप में पहचाना जाता है
दोष_फ्रेम.लाइन INT64 फ्रेम की फाइल की लाइन नंबर
दोष_फ्रेम.फ़ाइल डोरी फ़्रेम फ़ाइल का नाम
दोष_फ्रेम.प्रतीक डोरी हाइड्रेटेड प्रतीक, या कच्चा प्रतीक अगर यह निर्जलित है
दोष_फ्रेम.ऑफ़सेट INT64 बाइट बाइनरी छवि में ऑफसेट होती है जिसमें कोड होता है, जावा अपवादों के लिए सेट नहीं होता है
दोष_फ्रेम.पता INT64 बाइनरी छवि में पता जिसमें कोड है, जावा फ्रेम के लिए सेट नहीं है
दोष_फ्रेम.लाइब्रेरी डोरी पुस्तकालय का प्रदर्शन नाम जिसमें फ्रेम शामिल है
दोष_फ्रेम.स्वामी डोरी डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म या सिस्टम
दोष_फ्रेम।दोषी बूलियन क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम क्रैश या त्रुटि का कारण है
अपवाद दोहराया गया रिकॉर्ड केवल Android: इस घटना के दौरान होने वाले अपवाद। नेस्टेड अपवाद रिवर्स कालानुक्रमिक क्रम में प्रस्तुत किए जाते हैं (पढ़ें: अंतिम रिकॉर्ड फेंका गया पहला अपवाद है)
अपवाद प्रकार डोरी अपवाद प्रकार, जैसे java.lang.IllegalStateException
अपवाद.अपवाद_संदेश डोरी अपवाद से जुड़ा एक संदेश
अपवाद.नेस्टेड बूलियन अंतिम फेंके गए अपवाद को छोड़कर सभी के लिए सही है (अर्थात पहला रिकॉर्ड)
अपवाद.शीर्षक डोरी धागे का शीर्षक
अपवाद.उपशीर्षक डोरी धागे का उपशीर्षक
अपवाद.दोषी बूलियन सही है अगर क्रैशलाईटिक्स यह निर्धारित करता है कि अपवाद त्रुटि या दुर्घटना के लिए जिम्मेदार है
अपवाद.फ्रेम्स दोहराया गया रिकॉर्ड अपवाद के साथ जुड़े फ्रेम
अपवाद.फ्रेम.लाइन INT64 फ्रेम की फाइल की लाइन नंबर
अपवाद.फ्रेम.फ़ाइल डोरी फ़्रेम फ़ाइल का नाम
अपवाद.फ्रेम.प्रतीक डोरी हाइड्रेटेड प्रतीक, या कच्चा प्रतीक अगर यह निर्जलित है
अपवाद.फ्रेम.ऑफ़सेट INT64 बाइट बाइनरी छवि में ऑफसेट होती है जिसमें कोड होता है, जावा अपवादों के लिए सेट नहीं होता है
अपवाद.फ्रेम.पता INT64 बाइनरी छवि में पता जिसमें कोड है, जावा फ्रेम के लिए सेट नहीं है
अपवाद.फ्रेम.लाइब्रेरी डोरी पुस्तकालय का प्रदर्शन नाम जिसमें फ्रेम शामिल है
अपवाद.फ्रेम.स्वामी डोरी डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म या सिस्टम
अपवाद.फ्रेम.दोषी बूलियन क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम क्रैश या त्रुटि का कारण है
त्रुटि दोहराया गया रिकॉर्ड केवल Apple ऐप्स: गैर-घातक त्रुटियां
error.queue_name डोरी जिस कतार पर धागा चल रहा था
त्रुटि कोड INT64 ऐप के कस्टम लॉग NSError से जुड़ा त्रुटि कोड
त्रुटि.शीर्षक डोरी धागे का शीर्षक
त्रुटि.उपशीर्षक डोरी धागे का उपशीर्षक
त्रुटि.दोषी बूलियन क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम त्रुटि का कारण है
एरर.फ्रेम्स दोहराया गया रिकॉर्ड स्टैकट्रेस के फ्रेम
error.frames.line INT64 फ्रेम की फाइल की लाइन नंबर
error.frames.file डोरी फ़्रेम फ़ाइल का नाम
error.frames.symbol डोरी हाइड्रेटेड प्रतीक, या कच्चा प्रतीक अगर यह निर्जलित है
error.frames.offset INT64 बाइट बाइनरी छवि में ऑफसेट होती है जिसमें कोड होता है
error.frames.address INT64 बाइनरी इमेज में पता जिसमें कोड होता है
error.frames.library डोरी पुस्तकालय का प्रदर्शन नाम जिसमें फ्रेम शामिल है
error.frames.स्वामी डोरी डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म या सिस्टम
त्रुटि.फ्रेम.दोषी बूलियन क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम त्रुटि का कारण है
सूत्र दोहराया गया रिकॉर्ड घटना के समय मौजूद धागे
धागे.दुर्घटनाग्रस्त बूलियन क्या धागा दुर्घटनाग्रस्त हो गया
थ्रेड.थ्रेड_नाम डोरी धागे का नाम
धागे.queue_name डोरी केवल Apple ऐप्स: वह कतार जिस पर थ्रेड चल रहा था
थ्रेड.सिग्नल_नाम डोरी ऐप को क्रैश करने वाले सिग्नल का नाम, केवल क्रैश किए गए नेटिव थ्रेड्स पर मौजूद होता है
थ्रेड्स.सिग्नल_कोड डोरी सिग्नल का कोड जिसके कारण ऐप क्रैश हुआ; केवल दुर्घटनाग्रस्त देशी धागे पर मौजूद है
थ्रेड्स क्रैश_एड्रेस INT64 सिग्नल का पता जिसके कारण एप्लिकेशन क्रैश हुआ; केवल दुर्घटनाग्रस्त देशी धागे पर मौजूद है
धागे.कोड INT64 केवल Apple ऐप्स: एप्लिकेशन के कस्टम लॉग किए गए NSError का त्रुटि कोड
धागे.शीर्षक डोरी धागे का शीर्षक
धागे.उपशीर्षक डोरी धागे का उपशीर्षक
धागे।दोषी बूलियन क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम क्रैश या त्रुटि का कारण है
धागे.फ्रेम्स दोहराया गया रिकॉर्ड धागे के फ्रेम
थ्रेड्स.फ्रेम्स.लाइन INT64 फ्रेम की फाइल की लाइन नंबर
धागे.फ्रेम.फ़ाइल डोरी फ़्रेम फ़ाइल का नाम
धागे.फ्रेम.प्रतीक डोरी हाइड्रेटेड प्रतीक, या कच्चा प्रतीक अगर यह निर्जलित है
थ्रेड्स.फ्रेम्स.ऑफ़सेट INT64 बाइट बाइनरी छवि में ऑफसेट होती है जिसमें कोड होता है
धागे.फ्रेम.पता INT64 बाइनरी इमेज में पता जिसमें कोड होता है
थ्रेड्स.फ्रेम्स.लाइब्रेरी डोरी पुस्तकालय का प्रदर्शन नाम जिसमें फ्रेम शामिल है
धागे.फ्रेम.स्वामी डोरी डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म या सिस्टम
धागे.फ्रेम.दोषी बूलियन क्या Crashlytics के विश्लेषण ने निर्धारित किया है कि यह फ़्रेम त्रुटि का कारण है

डेटा स्टूडियो के साथ निर्यात किए गए क्रैशलिटिक्स डेटा को विज़ुअलाइज़ करना

Google डेटा स्टूडियो BigQuery में आपके Crashlytics डेटासेट को ऐसी रिपोर्ट में बदल देता है जो पढ़ने में आसान, साझा करने में आसान और पूरी तरह से अनुकूलन योग्य होती हैं।

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

Crashlytics रिपोर्ट टेम्प्लेट का उपयोग करना

डेटा स्टूडियो के पास Crashlytics के लिए एक नमूना रिपोर्ट है जिसमें निर्यात किए गए Crashlytics BigQuery स्कीमा से आयामों और मीट्रिक का एक व्यापक समूह शामिल है। यदि आपने Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम किया है, तो आप डेटा स्टूडियो टेम्प्लेट के रीयलटाइम रुझान पृष्ठ पर उस डेटा को देख सकते हैं। आप अपने स्वयं के ऐप के अपरिष्कृत क्रैश डेटा के आधार पर तुरंत नई रिपोर्ट और विज़ुअलाइज़ेशन बनाने के लिए नमूने के रूप में नमूने का उपयोग कर सकते हैं:

  1. Crashlytics डेटा स्टूडियो डैशबोर्ड टेम्प्लेट खोलें.
  2. ऊपरी-दाएँ कोने में टेम्पलेट का उपयोग करें पर क्लिक करें।
  3. नया डेटा स्रोत ड्रॉपडाउन में, नया डेटा स्रोत बनाएं चुनें.
  4. BigQuery कार्ड पर चुनें पर क्लिक करें.
  5. My Project > [your-project-name] > firebase_crashlytics > [your-table-name] चुनकर निर्यातित Crashlytics डेटा वाली तालिका चुनें। आपकी बैच तालिका हमेशा चुनने के लिए उपलब्ध है; यदि Crashlytics BigQuery स्ट्रीमिंग निर्यात सक्षम है, तो आप इसके बजाय अपनी रीयलटाइम तालिका चुन सकते हैं।
  6. कॉन्फ़िगरेशन के तहत, Crashlytics टेम्प्लेट स्तर को डिफ़ॉल्ट पर सेट करें।
  7. नया डेटा स्रोत बनाने के लिए कनेक्ट पर क्लिक करें।
  8. Crashlytics टेम्प्लेट पर लौटने के लिए रिपोर्ट में जोड़ें पर क्लिक करें।
  9. अंत में, Crashlytics डेटा स्टूडियो डैशबोर्ड टेम्प्लेट की अपनी कॉपी बनाने के लिए रिपोर्ट बनाएं पर क्लिक करें.