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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

दृश्य

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

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

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

BigQuery में Firebase 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) को निर्यात करता है, जिसमें लिंक से दो दिन पहले तक की घटनाएं भी शामिल होती हैं, जिसमें नब्बे दिनों तक बैकफ़िल करने का विकल्प होता है।

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

डेटासेट

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

टेबल

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

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

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

पंक्तियों

तालिका की प्रत्येक पंक्ति उस त्रुटि को दर्शाती है जिसका सामना ऐप को करना पड़ा।

कॉलम

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

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

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

कार्यक्षेत्र नाम डेटा प्रकार विवरण
प्लैटफ़ॉर्म डोरी ऐप्पल या एंड्रॉइड ऐप्स
बंडल_पहचानकर्ता डोरी बंडल आईडी, उदाहरण के लिए com.google.gmail
इवेंट_आईडी डोरी ईवेंट के लिए एक अद्वितीय आईडी
घातक है बूलियन क्या ऐप क्रैश हो गया
त्रुटि_प्रकार डोरी इवेंट का त्रुटि प्रकार (FATAL, NON_FATAL, ANR)
मुद्दा_आईडी डोरी घटना से जुड़ा मुद्दा
वैरिएंट_आईडी डोरी इस इवेंट से जुड़ा समस्या संस्करण
ध्यान दें कि सभी घटनाओं में संबंधित समस्या भिन्न प्रकार की नहीं होती है।
इवेंट_टाइमस्टैम्प TIMESTAMP जब घटना घटी
उपकरण अभिलेख वह डिवाइस जिस पर घटना घटी
उपकरण.निर्माता डोरी उपकरण निर्माता
डिवाइस का मॉडल डोरी डिवाइस मॉडल
डिवाइस.वास्तुकला डोरी X86_32, X86_64, ARMV7, ARM64, ARMV7S, या ARMV7K
याद अभिलेख डिवाइस की मेमोरी स्थिति
स्मृति.प्रयुक्त INT64 मेमोरी के बाइट्स का उपयोग किया गया
स्मृति.मुक्त INT64 स्मृति के बाइट्स शेष हैं
भंडारण अभिलेख डिवाइस का सतत भंडारण
भंडारण.प्रयुक्त INT64 भंडारण के बाइट्स का उपयोग किया गया
भंडारण.निःशुल्क INT64 भंडारण के बाइट्स शेष हैं
ऑपरेटिंग सिस्टम अभिलेख डिवाइस पर OS का विवरण
ऑपरेटिंग_सिस्टम.डिस्प्ले_संस्करण डोरी डिवाइस पर OS का संस्करण
ऑपरेटिंग_सिस्टम.नाम डोरी डिवाइस पर OS का नाम
ऑपरेटिंग_सिस्टम.संशोधन_स्थिति डोरी क्या डिवाइस को संशोधित किया गया है, उदाहरण के लिए जेलब्रेक/रूट किया गया (संशोधित या असंशोधित)
ऑपरेटिंग_सिस्टम.प्रकार डोरी डिवाइस पर चलने वाले OS का प्रकार (उदाहरण के लिए, IOS, MACOS); केवल Apple प्लेटफ़ॉर्म ऐप्स के लिए उपलब्ध है
ऑपरेटिंग_सिस्टम.डिवाइस_प्रकार डोरी डिवाइस का प्रकार (उदाहरण के लिए, मोबाइल, टैबलेट, टीवी, आदि); इसे "डिवाइस श्रेणी" के रूप में भी जाना जाता है
आवेदन अभिलेख वह ऐप जिसने इवेंट जेनरेट किया
एप्लिकेशन.बिल्ड_संस्करण डोरी ऐप का बिल्ड संस्करण
एप्लिकेशन.डिस्प्ले_संस्करण डोरी
उपयोगकर्ता अभिलेख वैकल्पिक: ऐप के उपयोगकर्ता के बारे में जानकारी एकत्र की गई
उपयोगकर्ता नाम डोरी वैकल्पिक: उपयोगकर्ता का नाम
उपयोगकर्ता.ईमेल डोरी वैकल्पिक: उपयोगकर्ता का ईमेल पता
उपयोगकर्ता पहचान डोरी वैकल्पिक: उपयोगकर्ता से जुड़ी एक ऐप-विशिष्ट आईडी
कस्टम_कुंजियाँ दोहराया गया रिकॉर्ड डेवलपर-परिभाषित कुंजी-मूल्य जोड़े
कस्टम_की.कुंजी डोरी एक डेवलपर-परिभाषित कुंजी
कस्टम_कुंजियाँ.मूल्य डोरी डेवलपर द्वारा परिभाषित मान
इंस्टालेशन_यूयूआईडी डोरी एक आईडी जो एक अद्वितीय ऐप और डिवाइस इंस्टॉलेशन की पहचान करती है
क्रैशलाईटिक्स_एसडीके_संस्करण डोरी क्रैशलिटिक्स एसडीके संस्करण जिसने ईवेंट उत्पन्न किया
ऐप_ओरिएंटेशन डोरी पोर्ट्रेट, लैंडस्केप, फेस_अप, या फेस_डाउन
डिवाइस_ओरिएंटेशन डोरी पोर्ट्रेट, लैंडस्केप, फेस_अप, या फेस_डाउन
प्रक्रिया_स्थिति डोरी पृष्ठभूमि या अग्रभूमि
लॉग दोहराया गया रिकॉर्ड सक्षम होने पर, क्रैशलाइटिक्स लॉगर द्वारा उत्पन्न टाइमस्टैम्प्ड लॉग संदेश
लॉग.टाइमस्टैम्प TIMESTAMP जब लॉग बनाया गया था
लॉग.संदेश डोरी लॉग किया गया संदेश
ब्रेडक्रम्ब्स दोहराया गया रिकॉर्ड सक्षम होने पर टाइमस्टैम्प्ड Google Analytics ब्रेडक्रंब
ब्रेडक्रम्ब्स.टाइमस्टैम्प TIMESTAMP ब्रेडक्रंब से संबद्ध टाइमस्टैम्प
ब्रेडक्रम्ब्स.नाम डोरी ब्रेडक्रंब से जुड़ा नाम
breadcrumbs.params दोहराया गया रिकॉर्ड ब्रेडक्रंब से जुड़े पैरामीटर
breadcrumbs.params.key डोरी ब्रेडक्रंब से संबद्ध एक पैरामीटर कुंजी
breadcrumbs.params.value डोरी ब्रेडक्रंब से संबद्ध एक पैरामीटर मान
दोष_फ़्रेम अभिलेख फ़्रेम को क्रैश या त्रुटि के मूल कारण के रूप में पहचाना गया
दोष_फ़्रेम.लाइन INT64 फ़्रेम की फ़ाइल की पंक्ति संख्या
दोष_फ़्रेम.फ़ाइल डोरी फ़्रेम फ़ाइल का नाम
दोष_फ़्रेम.प्रतीक डोरी हाइड्रेटेड प्रतीक, या कच्चा प्रतीक यदि यह अनहाइड्रेटेबल है
दोष_फ़्रेम.ऑफ़सेट INT64 बाइट उस बाइनरी छवि में ऑफसेट हो जाती है जिसमें कोड होता है, जावा अपवादों के लिए अनसेट
दोष_फ़्रेम.पता INT64 बाइनरी छवि में वह पता जिसमें कोड है, जावा फ़्रेम के लिए अनसेट है
दोष_फ़्रेम.लाइब्रेरी डोरी लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है
दोष_फ़्रेम.स्वामी डोरी डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म, या सिस्टम
दोष_फ़्रेम.दोषी बूलियन क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम क्रैश या त्रुटि का कारण है
अपवाद दोहराया गया रिकॉर्ड केवल Android: इस इवेंट के दौरान हुए अपवाद। नेस्टेड अपवादों को उल्टे कालानुक्रमिक क्रम में प्रस्तुत किया जाता है (पढ़ें: अंतिम रिकॉर्ड फेंका गया पहला अपवाद है)
अपवाद.प्रकार डोरी अपवाद प्रकार, उदाहरण के लिए java.lang.IllegalStateException
अपवाद.अपवाद_संदेश डोरी अपवाद से संबद्ध एक संदेश
अपवाद.नेस्टेड बूलियन अंतिम फेंके गए अपवाद (यानी पहला रिकॉर्ड) को छोड़कर सभी के लिए सही है
अपवाद.शीर्षक डोरी धागे का शीर्षक
अपवाद.उपशीर्षक डोरी धागे का उपशीर्षक
अपवाद.दोषी बूलियन यदि क्रैशलाइटिक्स यह निर्धारित करता है कि त्रुटि या दुर्घटना के लिए अपवाद जिम्मेदार है तो यह सत्य है
अपवाद.फ़्रेम दोहराया गया रिकॉर्ड अपवाद से जुड़े फ़्रेम
अपवाद.frames.line INT64 फ़्रेम की फ़ाइल की पंक्ति संख्या
अपवाद.फ़्रेम.फ़ाइल डोरी फ़्रेम फ़ाइल का नाम
अपवाद.फ़्रेम.प्रतीक डोरी हाइड्रेटेड प्रतीक, या कच्चा प्रतीक यदि यह अनहाइड्रेटेबल है
अपवाद.फ़्रेम.ऑफ़सेट INT64 बाइट उस बाइनरी छवि में ऑफसेट हो जाती है जिसमें कोड होता है, जावा अपवादों के लिए अनसेट
अपवाद.फ़्रेम.पता INT64 बाइनरी छवि में वह पता जिसमें कोड है, जावा फ़्रेम के लिए अनसेट है
अपवाद.फ़्रेम.लाइब्रेरी डोरी लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है
अपवाद.फ़्रेम.स्वामी डोरी डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म, या सिस्टम
अपवाद.फ़्रेम.दोषी बूलियन क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम क्रैश या त्रुटि का कारण है
गलती दोहराया गया रिकॉर्ड केवल Apple ऐप्स: गैर-घातक त्रुटियाँ
त्रुटि.कतार_नाम डोरी वह कतार जिस पर धागा चल रहा था
त्रुटि कोड INT64 ऐप के कस्टम लॉग NSError से जुड़ा त्रुटि कोड
त्रुटि.शीर्षक डोरी धागे का शीर्षक
त्रुटि.उपशीर्षक डोरी धागे का उपशीर्षक
त्रुटि.दोषी बूलियन क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम त्रुटि का कारण है
त्रुटि.फ़्रेम दोहराया गया रिकॉर्ड स्टैकट्रेस के फ्रेम
error.frames.line INT64 फ़्रेम की फ़ाइल की पंक्ति संख्या
त्रुटि.फ़्रेम्स.फ़ाइल डोरी फ़्रेम फ़ाइल का नाम
त्रुटि.फ़्रेम.प्रतीक डोरी हाइड्रेटेड प्रतीक, या कच्चा प्रतीक यदि यह अनहाइड्रेटेबल है
त्रुटि.फ़्रेम्स.ऑफ़सेट INT64 बाइट उस बाइनरी छवि में ऑफसेट हो जाती है जिसमें कोड होता है
त्रुटि.फ़्रेम.पता INT64 बाइनरी छवि में वह पता जिसमें कोड है
त्रुटि.फ़्रेम्स.लाइब्रेरी डोरी लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है
त्रुटि.फ़्रेम्स.स्वामी डोरी डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म, या सिस्टम
त्रुटि.फ़्रेम.दोषी बूलियन क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम त्रुटि का कारण है
धागे दोहराया गया रिकॉर्ड इवेंट के समय मौजूद थ्रेड्स
धागे.दुर्घटनाग्रस्त बूलियन क्या धागा क्रैश हो गया
threads.thread_name डोरी धागे का नाम
threads.queue_name डोरी केवल Apple ऐप्स: वह कतार जिस पर थ्रेड चल रहा था
threads.signal_name डोरी उस सिग्नल का नाम जिसके कारण ऐप क्रैश हुआ, केवल क्रैश हुए मूल थ्रेड पर मौजूद है
threads.signal_code डोरी सिग्नल का कोड जिसके कारण ऐप क्रैश हुआ; केवल क्रैश हुए देशी धागों पर मौजूद है
threads.crash_address INT64 उस सिग्नल का पता जिसके कारण एप्लिकेशन क्रैश हुआ; केवल क्रैश हुए देशी धागों पर मौजूद है
threads.code INT64 केवल Apple ऐप्स: एप्लिकेशन के कस्टम लॉग NSError का त्रुटि कोड
धागे.शीर्षक डोरी धागे का शीर्षक
धागे.उपशीर्षक डोरी धागे का उपशीर्षक
धागे.दोषी बूलियन क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम क्रैश या त्रुटि का कारण है
धागे.फ्रेम दोहराया गया रिकॉर्ड धागे के फ्रेम
threads.frames.line INT64 फ़्रेम की फ़ाइल की पंक्ति संख्या
threads.frames.file डोरी फ़्रेम फ़ाइल का नाम
धागे.फ्रेम.प्रतीक डोरी हाइड्रेटेड प्रतीक, या कच्चा प्रतीक यदि यह अनहाइड्रेटेबल है
थ्रेड्स.फ़्रेम्स.ऑफ़सेट INT64 बाइट उस बाइनरी छवि में ऑफसेट हो जाती है जिसमें कोड होता है
धागे.फ्रेम.पता INT64 बाइनरी छवि में वह पता जिसमें कोड है
थ्रेड्स.फ़्रेम्स.लाइब्रेरी डोरी लाइब्रेरी का प्रदर्शन नाम जिसमें फ़्रेम शामिल है
धागे.फ्रेम.मालिक डोरी डेवलपर, विक्रेता, रनटाइम, प्लेटफ़ॉर्म, या सिस्टम
धागे.फ्रेम.दोषी बूलियन क्या क्रैशलिटिक्स के विश्लेषण ने निर्धारित किया कि यह फ़्रेम त्रुटि का कारण है
Unity_metadata.unity_version डोरी इस डिवाइस पर यूनिटी का संस्करण चल रहा है
Unity_metadata.debug_build बूलियन यदि यह एक डिबग बिल्ड है
Unity_metadata.processor_type डोरी प्रोसेसर का प्रकार
यूनिटी_मेटाडेटा.प्रोसेसर_काउंट INT64 प्रोसेसर की संख्या (कोर)
यूनिटी_मेटाडेटा.प्रोसेसर_फ़्रीक्वेंसी_एमएचजेड INT64 मेगाहर्ट्ज में प्रोसेसर की आवृत्ति
Unity_metadata.system_memory_size_mb INT64 सिस्टम की मेमोरी का आकार एमबी में
Unity_metadata.graphics_memory_size_mb INT64 एमबी में ग्राफिक्स मेमोरी
Unity_metadata.graphics_device_id INT64 ग्राफ़िक्स डिवाइस का पहचानकर्ता
Unity_metadata.graphics_device_vendor_id INT64 ग्राफ़िक्स प्रोसेसर के विक्रेता की पहचानकर्ता
Unity_metadata.graphics_device_name डोरी ग्राफ़िक्स डिवाइस का नाम
Unity_metadata.graphics_device_vendor डोरी ग्राफ़िक्स डिवाइस का विक्रेता
Unity_metadata.graphics_device_version डोरी ग्राफ़िक्स डिवाइस का संस्करण
Unity_metadata.graphics_device_type डोरी ग्राफ़िक्स डिवाइस का प्रकार
Unity_metadata.graphics_shader_level INT64 ग्राफ़िक्स का शेडर स्तर
Unity_metadata.graphics_render_target_count INT64 ग्राफ़िकल रेंडरिंग लक्ष्यों की संख्या
Unity_metadata.graphics_copy_texture_support डोरी यूनिटी एपीआई में परिभाषित ग्राफिक्स बनावट की प्रतिलिपि बनाने के लिए समर्थन
Unity_metadata.graphics_max_texture_size INT64 बनावट प्रस्तुत करने के लिए समर्पित अधिकतम आकार
Unity_metadata.screen_size_px डोरी स्क्रीन का आकार पिक्सेल में, चौड़ाई x ऊँचाई के रूप में स्वरूपित
Unity_metadata.screen_resolution_dpi डोरी फ़्लोटिंग पॉइंट नंबर के रूप में स्क्रीन की डीपीआई
Unity_metadata.screen_refresh_rate_hz INT64 स्क्रीन की ताज़ा दर Hz में

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

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

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

क्रैशलिटिक्स रिपोर्ट टेम्पलेट का उपयोग करना

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

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