Crashlytics से मिले डेटा को यहां एक्सपोर्ट किया जा सकता है BigQuery आगे की परफ़ॉर्मेंस विश्लेषण करें. BigQuery की मदद से, BigQuery SQL का इस्तेमाल करके डेटा का विश्लेषण किया जा सकता है और उसे एक्सपोर्ट किया जा सकता है साथ ही, विज़ुअलाइज़ेशन और कस्टम डैशबोर्ड के लिए इसका इस्तेमाल करें के साथ कैसे काम करता है.
BigQuery Export चालू करें
- YouTube Studio के इंटिग्रेशन पेज पर जाएं.
- BigQuery कार्ड में, लिंक करें पर क्लिक करें.
- BigQuery को चालू करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
अपने प्रोजेक्ट को BigQuery से लिंक करने पर:
- Firebase आपके Firebase प्रोजेक्ट से आपके डेटा को रोज़ सिंक करने की सुविधा सेट अप करता है, ताकि BigQuery.
- डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट के सभी ऐप्लिकेशन, BigQuery और किसी भी ऐप्लिकेशन से लिंक होते हैं जिन्हें बाद में प्रोजेक्ट में जोड़ा जाता है, वे अपने-आप BigQuery से लिंक हो जाती हैं. आपने लोगों तक पहुंचाया मुफ़्त में यह मैनेज कर सकता है कि कौनसे ऐप्लिकेशन डेटा भेजेंगे.
- Firebase आपके मौजूदा डेटा की कॉपी एक्सपोर्ट करता है को BigQuery में जोड़ना है. लिंक किए गए हर ऐप्लिकेशन के लिए, इसमें एक बैच टेबल शामिल होती है, जिसमें रोज़ के सिंक का डेटा.
- अगर Crashlytics से BigQuery स्ट्रीमिंग एक्सपोर्ट चालू किया जाता है, तो लिंक किए गए सभी ऐप्लिकेशन इसमें एक रीयल टाइम टेबल भी होगी, जिसमें लगातार डेटा अपडेट कर रहा है.
BigQuery Export बंद करने के लिए, अपना प्रोजेक्ट अनलिंक करना देखें.
BigQuery में कौनसा डेटा एक्सपोर्ट किया जाता है?
Firebase Crashlytics से मिले डेटा को
firebase_crashlytics
. डिफ़ॉल्ट रूप से, इसके अंदर अलग-अलग टेबल बनाई जाएंगी
आपके प्रोजेक्ट में मौजूद हर ऐप्लिकेशन के लिए Crashlytics का डेटा सेट होना चाहिए. Firebase
ऐप्लिकेशन के बंडल आइडेंटिफ़ायर के आधार पर टेबल, जिनमें पीरियड को
अंडरस्कोर और प्लैटफ़ॉर्म का नाम होना चाहिए.
उदाहरण के लिए, com.google.test
आईडी वाले ऐप्लिकेशन का डेटा एक टेबल में होगा
com_google_test_ANDROID
नाम दिया गया है. यह बैच टेबल हर दिन एक बार अपडेट होती है. अगर आपने
अगर आप Crashlytics BigQuery स्ट्रीमिंग एक्सपोर्ट, Firebase Crashlytics का इस्तेमाल करने की अनुमति देते हैं, तो
डेटा को रीयलटाइम में com_google_test_ANDROID_REALTIME
पर स्ट्रीम भी किया जाएगा.
टेबल की हर पंक्ति, ऐप्लिकेशन में होने वाले किसी इवेंट को दिखाती है. इसमें ये भी शामिल हैं क्रैश, साधारण गड़बड़ियां, और एएनआर.
Crashlytics BigQuery की स्ट्रीमिंग एक्सपोर्ट करने की सुविधा चालू करें
Crashlytics से मिले डेटा को रीयलटाइम में स्ट्रीम किया जा सकता है. BigQueryStreaming. इसका इस्तेमाल किया जा सकता है लाइव डेटा की ज़रूरत होती है, जैसे कि लाइव डैशबोर्ड पर आना, लॉन्च को लाइव देखना या ऐप्लिकेशन से जुड़ी समस्याओं को मॉनिटर करना सूचना और कस्टम वर्कफ़्लो ट्रिगर करें.
Crashlytics BigQuery स्ट्रीमिंग एक्सपोर्ट, BigQuery सैंडबॉक्स के लिए उपलब्ध नहीं है.
अगर आपने Crashlytics BigQuery की मदद से स्ट्रीमिंग एक्सपोर्ट करने की सुविधा चालू की है, तो बैच टेबल के लिए आपके पास एक रीयल टाइम टेबल होगी. यहां कुछ अंतर दिए गए हैं, जो आपको यहां अलग-अलग टेबल की जानकारी दी गई है:
बैच टेबल | रीयल टाइम टेबल |
---|---|
|
|
बैच टेबल, लंबे समय तक विश्लेषण करने और समय के साथ रुझानों की पहचान करने के लिए सबसे सही होती है क्योंकि हम इवेंट को लिखने से पहले उन्हें लंबे समय तक सेव करके रखते हैं और उन्हें बैकफ़िल किया जा सकता है टेबल में 30 दिनों तक रखा जा सकता है. जब हम आपकी रीयल टाइम टेबल में डेटा लिखते हैं, उसे तुरंत BigQuery में लिख लें. ऐसा इसलिए, ताकि वह लाइव डैशबोर्ड और कस्टम अलर्ट. इन दोनों टेबल को एक स्टिचिंग क्वेरी के साथ जोड़ा जा सकता है. दोनों के फ़ायदे. यहां क्वेरी का उदाहरण 9 देखें.
डिफ़ॉल्ट रूप से, रीयल टाइम टेबल में सेगमेंट के खत्म होने की समयसीमा 30 दिनों की होती है. यहां की यात्रा पर हूं इसे संशोधित करने का तरीका जानें, देखें सेगमेंट के खत्म होने की तारीख को अपडेट करना.
Crashlytics BigQuery की स्ट्रीमिंग चालू करने का तरीका
स्ट्रीमिंग की सुविधा चालू करने के लिए, BigQuery के Crashlytics सेक्शन पर जाएं इंटिग्रेशन पेज पर जाएं और स्ट्रीमिंग शामिल करें चेकबॉक्स को चुनें.
Data Studio टेंप्लेट
अपने Data Studio टेंप्लेट में रीयलटाइम डेटा चालू करने के लिए, एक्सपोर्ट किए गए Crashlytics डेटा को Data Studio की मदद से विज़ुअलाइज़ करने के बारे में निर्देश दिए गए हैं.
व्यू
BigQuery यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, उदाहरण के तौर पर दी गई क्वेरी को व्यू में बदला जा सकता है. यहां जाएं: व्यू पाने में मदद करना देखें.
एक्सपोर्ट किए गए डेटा का इस्तेमाल करके क्या किया जा सकता है?
BigQuery Export में रॉ क्रैश डेटा होता है. इसमें डिवाइस टाइप, ऑपरेटिंग सिस्टम, अपवाद (Android ऐप्लिकेशन) या गड़बड़ियां (Apple ऐप्लिकेशन), Crashlytics के लॉग भी वगैरह अन्य डेटा की तरह होता है.
BigQuery में Firebase Crashlytics डेटा के साथ काम करना
नीचे दिए गए उदाहरणों में, Crashlytics से मिले डेटा पर की जा सकने वाली क्वेरी के बारे में बताया गया है. ये क्वेरी ऐसी रिपोर्ट जनरेट करती हैं जो Crashlytics में उपलब्ध नहीं हैं डैशबोर्ड पर जाएं.
Crashlytics से जुड़ी क्वेरी के उदाहरण
नीचे दिए गए उदाहरणों में, क्रैश को एग्रीगेट करने वाली रिपोर्ट जनरेट करने का तरीका बताया गया है इवेंट डेटा को आसानी से समझ में आने लायक जवाब में बदल दिया जाता है.
पहला उदाहरण: दिन के हिसाब से क्रैश होना
ज़्यादा से ज़्यादा गड़बड़ियां ठीक करने के बाद, एक लीड डेवलपर को लगता है कि उनकी टीम आखिरकार, अपना नया फ़ोटो-शेयरिंग ऐप्लिकेशन लॉन्च करने के लिए तैयार है. ऐसा करने से पहले, क्रैश की संख्या की जांच करना है, ताकि पक्का हो सके कि पिछले महीने बग-बैश ने समय के साथ ऐप्लिकेशन को ज़्यादा स्थिर बना दिया है:
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;
दूसरा उदाहरण: ऐप्लिकेशन के सबसे ज़्यादा क्रैश होने की समस्या का पता लगाना
प्रोडक्शन प्लान की सही तरीके से प्राथमिकता तय करने के लिए, प्रोजेक्ट मैनेजर सोचता है कि हम अपने प्रॉडक्ट के 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: कस्टम कुंजी के हिसाब से फ़िल्टर करना
एक गेम डेवलपर यह जानना चाहता है कि उसके गेम का कौनसा लेवल सबसे अच्छा है
बंद हो जाता है. उस आंकड़े को ट्रैक करने में उनकी मदद करने के लिए, वे एक कस्टम Crashlytics बटन सेट करते हैं
current_level
पर क्लिक करें और जब भी उपयोगकर्ता नए लेवल पर पहुंचे, तो इसे अपडेट करें.
Objective-C
CrashlyticsKit setIntValue:3 forKey:@"current_level";
Swift
Crashlytics.sharedInstance().setIntValue(3, forKey: "current_level");
Java
Crashlytics.setInt("current_level", 3);
इसके बाद, वे BigQuery Export में उस कुंजी की मदद से,
क्रैश के हर इवेंट से जुड़ी 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अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
पांचवां उदाहरण: यूज़र आईडी निकालना
डेवलपर के पास, रिलीज़ होने से पहले ऐप्लिकेशन इस्तेमाल करने की सुविधा है. उनके ज़्यादातर उपयोगकर्ता इसे पसंद करते हैं, लेकिन तीन को असामान्य संख्या में क्रैश होने का सामना करना पड़ा है. समस्या की पूरी जानकारी पाने के लिए तो वे एक ऐसी क्वेरी लिखते हैं जो उन उपयोगकर्ताओं के लिए सभी क्रैश इवेंट की जानकारी हासिल करती है, इनके यूज़र आईडी का इस्तेमाल करेगा:
SELECT * FROM `projectId.firebase_crashlytics.package_name_ANDROID` WHERE user.id IN ("userid1", "userid2", "userid3") ORDER BY user.id
उदाहरण 6: उन सभी उपयोगकर्ताओं को ढूंढना जिन्हें क्रैश की खास समस्या का सामना करना पड़ रहा है
एक डेवलपर ने बीटा टेस्टर के एक ग्रुप के लिए एक गंभीर गड़बड़ी रिलीज़ की है. टीम क्रैश की समस्या की पहचान करने के लिए, ऊपर दिए गए दूसरे उदाहरण में दी गई क्वेरी का इस्तेमाल किया समस्या आईडी. अब उसे ऐप्लिकेशन इस्तेमाल करने वाले लोगों की सूची एक्सट्रैक्ट करने के लिए, एक क्वेरी चलाने की ज़रूरत है इन क्रैश का असर किन लोगों पर पड़ा है:
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 में दी गई क्वेरी का इस्तेमाल करके, क्रैश से जुड़ी समस्या का आईडी. टीम अब यह देखना चाहती है कि क्या यह क्रैश दुनिया भर के अलग-अलग देशों के उपयोगकर्ता हैं.
यह क्वेरी लिखने के लिए, टीम को ये काम करने होंगे:
Google Analytics के लिए BigQuery Export चालू करें. प्रोजेक्ट डेटा को BigQuery में एक्सपोर्ट करना लेख पढ़ें.
Google Analytics SDK दोनों में यूज़र आईडी पास करने के लिए अपना ऐप्लिकेशन अपडेट करना और Crashlytics SDK टूल भी हैं.
Objective-C
CrashlyticsKit setUserIdentifier:@"123456789"; FIRAnalytics setUserID:@"12345678 9";
Swift
Crashlytics.sharedInstance().setUserIdentifier("123456789"); Analytics.setUserID("123456789");
Java
Crashlytics.setUserIdentifier("123456789"); mFirebaseAnalytics.setUserId("123456789");
ऐसी क्वेरी लिखें जो User-ID फ़ील्ड का इस्तेमाल करके, इवेंट में शामिल हो Crashlytics में क्रैश के साथ Google Analytics BigQuery डेटा सेट 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: आज तक की पांच सबसे बड़ी समस्याएं
Crshlytics 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 से अब तक की पांच मुख्य समस्याएं
Crshlytics 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 हाल ही के इवेंट एक्सपोर्ट करता है (क्रैश, साधारण गड़बड़ियां, और एएनआर), जिनमें दो दिन तक के इवेंट शामिल हैं के विकल्प के साथ बैकफ़िल 30 दिनों तक.
लिंक करने की सुविधा बंद किए जाने तक Firebase, Crashlytics को एक्सपोर्ट करता है को इवेंट में शामिल होने का मौका मिलता है. डेटा उपलब्ध होने में कुछ मिनट लग सकते हैं BigQuery में, हर एक्सपोर्ट के बाद.
डेटासेट
Firebase Crashlytics का इस्तेमाल, Crashlytics के लिए BigQuery में एक नया डेटासेट बनाने के लिए किया जाता है. डेटा शामिल है. डेटासेट में आपके पूरे प्रोजेक्ट की जानकारी होती है, भले ही उसमें कई ऐप्लिकेशन हों.
टेबल
Firebase Crashlytics का इस्तेमाल करके, अपने ऐप्लिकेशन में मौजूद हर ऐप्लिकेशन के डेटासेट में एक टेबल बनाई जाती है प्रोजेक्ट में तब तक शामिल नहीं किया जाएगा, जब तक आपने उस ऐप्लिकेशन के लिए डेटा एक्सपोर्ट करने की सुविधा से ऑप्ट आउट न किया हो. Firebase के नाम ऐप्लिकेशन के बंडल आइडेंटिफ़ायर के आधार पर टेबल, जिसमें पीरियड को अंडरस्कोर और प्लैटफ़ॉर्म का नाम होना चाहिए.
उदाहरण के लिए, com.google.test
आईडी वाले Android ऐप्लिकेशन का डेटा
com_google_test_ANDROID
नाम वाली टेबल और रीयल टाइम डेटा (चालू होने पर) के लिए
com_google_test_ANDROID_REALTIME
नाम की टेबल में
टेबल में, Crashlytics से मिले डेटा का स्टैंडर्ड सेट और कस्टम टेंप्लेट डेवलपर की ओर से तय की गई Crashlytics कुंजियां हैं.
लाइन
टेबल की हर पंक्ति, ऐप्लिकेशन को मिली एक गड़बड़ी के बारे में बताती है.
कॉलम
टेबल में मौजूद कॉलम, क्रैश, सामान्य गड़बड़ियों, और ANRs के लिए एक जैसे होते हैं. अगर आपने Crashlytics BigQuery स्ट्रीमिंग एक्सपोर्ट चालू है. इसके बाद, रीयलटाइम टेबल दिख रही है इसमें बैच टेबल वाले कॉलम होंगे. एक्सपोर्ट में शामिल कॉलम नीचे दी गई सूची उपलब्ध है.
स्टैक ट्रेस के बिना
लाइनों में मौजूद कॉलम, जिनमें बिना स्टैक ट्रेस वाले इवेंट दिखाए गए हैं.
फ़ील्ड का नाम | डेटा टाइप | ब्यौरा |
---|---|---|
प्लैटफ़ॉर्म | स्ट्रिंग | Apple या Android ऐप्लिकेशन |
बंडल_आइडेंटिफ़ायर | स्ट्रिंग | बंडल आईडी, जैसे com.google.gmail |
event_id | स्ट्रिंग | इवेंट के लिए यूनीक आईडी |
is_fatal | बूलियन | ऐप्लिकेशन क्रैश हुआ है या नहीं |
error_type | स्ट्रिंग | इवेंट का गड़बड़ी टाइप (FATAL, NON_FATAL, ANR) |
समस्या का आईडी | स्ट्रिंग | इवेंट से जुड़ी समस्या |
वैरिएंट_आईडी | स्ट्रिंग | इस इवेंट से जुड़ी समस्या का वैरिएंट ध्यान दें कि हर इवेंट में, समस्या का वैरिएंट नहीं होता. |
event_timestamp | टाइमस्टैंप | इवेंट कब हुआ |
डिवाइस | रिकॉर्ड | वह डिवाइस जिस पर इवेंट हुआ |
device.manufacturer | स्ट्रिंग | डिवाइस बनाने वाली कंपनी |
डिवाइस मॉडल | स्ट्रिंग | डिवाइस का मॉडल |
डिवाइस संरचना | स्ट्रिंग | X86_32, X86_64, ARMV7, ARM64, ARMV7S या ARMV7K |
मेमोरी | रिकॉर्ड | डिवाइस की मेमोरी की स्थिति |
मेमोरी.इस्तेमाल की गई | INT64 | इस्तेमाल की गई मेमोरी के बाइट |
मेमोरी.फ़्री | INT64 | बची हुई मेमोरी के बाइट |
मेमोरी | रिकॉर्ड | डिवाइस का स्थायी स्टोरेज |
इस्तेमाल किया गया स्टोरेज | INT64 | इस्तेमाल की गई स्टोरेज के बाइट |
Storage.free | INT64 | बचे हुए स्टोरेज के बाइट |
ऑपरेटिंग_सिस्टम | रिकॉर्ड | डिवाइस पर मौजूद ओएस की जानकारी |
ऑपरेटिंग_system.display_version | स्ट्रिंग | डिवाइस पर मौजूद ओएस का वर्शन |
operating_system.name | स्ट्रिंग | डिवाइस पर ओएस का नाम |
ऑपरेटिंग_system.modification_state | स्ट्रिंग | डिवाइस में बदलाव किया गया है या नहीं, उदाहरण के लिए, सिस्टम से जुड़े प्रतिबंध हटाए गए/रूट किए गए (बदले गए या बदलाव नहीं किए गए) |
ऑपरेटिंग_system.type | स्ट्रिंग | डिवाइस पर चल रहे ओएस का टाइप (उदाहरण के लिए, IOS, MACOS); सिर्फ़ Apple प्लैटफ़ॉर्म ऐप्लिकेशन के लिए उपलब्ध |
ऑपरेटिंग_system.device_type | स्ट्रिंग | डिवाइस किस तरह का है (उदाहरण के लिए, मोबाइल, टैबलेट, टीवी वगैरह); इस नाम से भी जाना जाता है "डिवाइस की कैटगरी" |
ऐप्लिकेशन | रिकॉर्ड | इवेंट जनरेट करने वाला ऐप्लिकेशन |
app.build_version | स्ट्रिंग | ऐप्लिकेशन का बिल्ड वर्शन |
ऐप्लिकेशन.display_version | स्ट्रिंग | |
user | रिकॉर्ड | ज़रूरी नहीं: ऐप्लिकेशन के उपयोगकर्ता के बारे में इकट्ठा की गई जानकारी |
user.name | स्ट्रिंग | ज़रूरी नहीं: उपयोगकर्ता का नाम |
user.email | स्ट्रिंग | ज़रूरी नहीं: उपयोगकर्ता का ईमेल पता |
user.id | स्ट्रिंग | ज़रूरी नहीं: उपयोगकर्ता से जुड़ा कोई खास ऐप्लिकेशन आईडी |
कस्टम कुंजी | दोहराया गया रिकॉर्ड | डेवलपर के तय किए गए की-वैल्यू पेयर |
custom_keys.key | स्ट्रिंग | डेवलपर की ओर से तय की गई कुंजी |
custom_keys.value | स्ट्रिंग | डेवलपर की ओर से तय की गई वैल्यू |
इंस्टॉलेशन_uuid | स्ट्रिंग | ऐसा आईडी जो किसी यूनीक ऐप्लिकेशन और डिवाइस इंस्टॉल करने की सुविधा |
Crowdlytics_sdk_versions | स्ट्रिंग | Crashlytics SDK टूल का वह वर्शन जिससे इवेंट जनरेट हुआ |
app_orientation | स्ट्रिंग | PORTRAIT, LANDSCAPE, FACE_UP या FACE_DOWN |
device_orientation | स्ट्रिंग | PORTRAIT, LANDSCAPE, FACE_UP या FACE_DOWN |
प्रोसेस_स्टेट | स्ट्रिंग | बैकग्राउंड या आगे का हिस्सा |
लॉग | दोहराया गया रिकॉर्ड | अगर यह नीति चालू है, तो Crashlytics लॉगर से, टाइमस्टैंप वाले लॉग मैसेज जनरेट हो जाते हैं |
Logs.timestamp | टाइमस्टैंप | लॉग कब बनाया गया था |
Logs.message | स्ट्रिंग | लॉग किया गया मैसेज |
ब्रेडक्रंब | दोहराया गया रिकॉर्ड | Google Analytics के टाइमस्टैंप वाले ब्रेडक्रंब, अगर चालू हैं |
ब्रेडक्रंब.timestamp | टाइमस्टैंप | ब्रेडक्रंब से जुड़ा टाइमस्टैंप |
breadcrumbs.name | स्ट्रिंग | ब्रेडक्रंब से जुड़ा नाम |
ब्रेडक्रंब.params | दोहराया गया रिकॉर्ड | ब्रेडक्रंब से जुड़े पैरामीटर |
ब्रेडक्रंब.params.key | स्ट्रिंग | ब्रेडक्रंब से जुड़ी पैरामीटर कुंजी |
ब्रेडक्रंब.params.value | स्ट्रिंग | ब्रेडक्रंब से जुड़ी पैरामीटर वैल्यू |
ब्लेम_फ़्रेम | रिकॉर्ड | क्रैश या गड़बड़ी की असल वजह के तौर पर पहचाने गए फ़्रेम |
Blame_frame.line | INT64 | फ़्रेम की फ़ाइल की लाइन नंबर |
Blame_frame.file | स्ट्रिंग | फ़्रेम फ़ाइल का नाम |
Blame_frame.सिम्बॉल | स्ट्रिंग | हाइड्रेटेड सिंबल या रॉ सिंबल |
Blame_frame.offset | INT64 | उस बाइनरी इमेज में बाइट ऑफ़सेट जो कोड है, इसके लिए सेट नहीं है Java के अपवाद |
Blame_frame.address | INT64 | बाइनरी इमेज में दिया गया पता, जिसमें कोड है. Java के लिए, यह पता सेट नहीं किया गया फ़्रेम |
Blame_frame.library | स्ट्रिंग | उस लाइब्रेरी का डिसप्ले नेम जिसमें फ़्रेम शामिल है |
Blame_frame.owner | स्ट्रिंग | डेवलपर, वेंडर, RUNTIME, प्लैटफ़ॉर्म या सिस्टम |
ब्लेम_फ़्रेम.ब्लेड | बूलियन | क्या Crashlytics के विश्लेषण से यह पता चला कि यह फ़्रेम क्रैश या गड़बड़ी की जानकारी |
अपवाद | दोहराया गया रिकॉर्ड | सिर्फ़ Android के लिए: इस इवेंट के दौरान हुए अपवाद. नेस्ट किए गए अपवाद उन्हें समय के हिसाब से उलटा क्रम में दिखाया गया है (पढ़ें: आखिरी रिकॉर्ड पहला है अपवाद के तौर पर मार्क किया गया है) |
अपवाद.टाइप | स्ट्रिंग | अपवाद का टाइप, जैसे कि java.lang.legalStateexcept |
अपवाद.अपवाद मैसेज | स्ट्रिंग | इस अपवाद से जुड़ा मैसेज |
अपवाद.नेस्ट किया गया | बूलियन | आखिरी बार डाले गए अपवाद (यानी पहला रिकॉर्ड) को छोड़कर बाकी सभी के लिए सही है |
अपवाद.टाइटल | स्ट्रिंग | थ्रेड का टाइटल |
अपवाद.सबटाइटल | स्ट्रिंग | थ्रेड का सबटाइटल |
अपवाद.उन्हें दोषी ठहराया गया है | बूलियन | अगर Crashlytics, यह तय करता है कि अपवाद किस तरह गड़बड़ी या क्रैश |
अपवाद.फ़्रेम | दोहराया गया रिकॉर्ड | अपवाद से जुड़े फ़्रेम |
अपवाद.फ़्रेम.लाइन | INT64 | फ़्रेम की फ़ाइल की लाइन नंबर |
अपवाद.फ़्रेम फ़ाइल | स्ट्रिंग | फ़्रेम फ़ाइल का नाम |
अपवाद.फ़्रेम.सिमबॉल | स्ट्रिंग | हाइड्रेटेड सिंबल या रॉ सिंबल |
अपवाद.फ़्रेम्स.ऑफ़सेट | INT64 | उस बाइनरी इमेज में बाइट ऑफ़सेट जो कोड है, इसके लिए सेट नहीं है Java के अपवाद |
अपवाद.फ़्रेम.पता | INT64 | बाइनरी इमेज में दिया गया पता, जिसमें कोड है. Java के लिए, यह पता सेट नहीं किया गया फ़्रेम |
अपवाद.फ़्रेम्स.लाइब्रेरी | स्ट्रिंग | उस लाइब्रेरी का डिसप्ले नेम जिसमें फ़्रेम शामिल है |
अपवाद.फ़्रेम्स.मालिक | स्ट्रिंग | डेवलपर, वेंडर, RUNTIME, प्लैटफ़ॉर्म या सिस्टम |
अपवाद.फ़्रेम्स.ब्लेड | बूलियन | क्या Crashlytics के विश्लेषण से यह पता चला कि यह फ़्रेम क्रैश या गड़बड़ी की जानकारी |
गड़बड़ी | दोहराया गया रिकॉर्ड | सिर्फ़ Apple के ऐप्लिकेशन: साधारण गड़बड़ियां |
error.queue_name | स्ट्रिंग | वह सूची जिस पर थ्रेड चल रहा था |
error.code | INT64 | ऐप्लिकेशन के कस्टम लॉग किए गए NSError से जुड़ा गड़बड़ी का कोड |
error.title | स्ट्रिंग | थ्रेड का टाइटल |
गड़बड़ी वाला सबटाइटल | स्ट्रिंग | थ्रेड का सबटाइटल |
error.blable | बूलियन | क्या Crashlytics के विश्लेषण से यह पता चला कि यह फ़्रेम गड़बड़ी का |
गड़बड़ी.फ़्रेम | दोहराया गया रिकॉर्ड | स्टैकट्रेस के फ़्रेम |
error.frames.line | INT64 | फ़्रेम की फ़ाइल की लाइन नंबर |
error.frames.file | स्ट्रिंग | फ़्रेम फ़ाइल का नाम |
error.frames.simbol | स्ट्रिंग | हाइड्रेटेड सिंबल या रॉ सिंबल |
error.frames.offset | INT64 | उस बाइनरी इमेज में बाइट ऑफ़सेट जो कोड है |
error.frames.address | INT64 | बाइनरी इमेज में पता, जिसमें कोड शामिल है |
error.frames.library | स्ट्रिंग | उस लाइब्रेरी का डिसप्ले नेम जिसमें फ़्रेम शामिल है |
error.frames.owner | स्ट्रिंग | डेवलपर, वेंडर, RUNTIME, प्लैटफ़ॉर्म या सिस्टम |
error.frames.bla वाक्यांश | बूलियन | क्या Crashlytics के विश्लेषण से यह पता चला कि यह फ़्रेम गड़बड़ी का |
थ्रेड | दोहराया गया रिकॉर्ड | इवेंट के दौरान मौजूद थ्रेड |
थ्रेड.क्रैश | बूलियन | थ्रेड क्रैश हुआ है या नहीं |
Threads.Thread का नाम | स्ट्रिंग | थ्रेड का नाम |
Thread.queue_name | स्ट्रिंग | सिर्फ़ Apple के ऐप्लिकेशन: वह सूची जिस पर थ्रेड चल रहा था |
Thread.signal_name | स्ट्रिंग | उस सिग्नल का नाम जिसकी वजह से ऐप्लिकेशन क्रैश हुआ. यह नाम, सिर्फ़ क्रैश होने पर मौजूद होता है नेटिव थ्रेड |
थ्रेड.signal_code | स्ट्रिंग | ऐप्लिकेशन के क्रैश होने की वजह बताने वाले सिग्नल का कोड; केवल क्रैश होने पर मौजूद नेटिव थ्रेड |
थ्रेड.crash_address | INT64 | उस सिग्नल का पता जिसकी वजह से ऐप्लिकेशन क्रैश हुआ; सिर्फ़ मौजूद क्रैश हो चुके नेटिव थ्रेड पर |
थ्रेड.कोड | INT64 | सिर्फ़ Apple के ऐप्लिकेशन के लिए: ऐप्लिकेशन के कस्टम लॉग किए गए NSError का गड़बड़ी कोड |
थ्रेड.टाइटल | स्ट्रिंग | थ्रेड का टाइटल |
थ्रेड.सबटाइटल | स्ट्रिंग | थ्रेड का सबटाइटल |
थ्रेड पर गलत दावा किया गया | बूलियन | क्या Crashlytics के विश्लेषण से यह पता चला कि यह फ़्रेम क्रैश या गड़बड़ी की जानकारी |
थ्रेड.फ़्रेम | दोहराया गया रिकॉर्ड | थ्रेड के फ़्रेम |
थ्रेड.फ़्रेम्स.लाइन | INT64 | फ़्रेम की फ़ाइल की लाइन नंबर |
थ्रेड.फ़्रेम्स.फ़ाइल | स्ट्रिंग | फ़्रेम फ़ाइल का नाम |
थ्रेड.फ़्रेम्स.सिमबॉल | स्ट्रिंग | हाइड्रेटेड सिंबल या रॉ सिंबल |
थ्रेड.फ़्रेम्स.ऑफ़सेट | INT64 | उस बाइनरी इमेज में बाइट ऑफ़सेट जो कोड है |
थ्रेड.फ़्रेम्स.पता | INT64 | बाइनरी इमेज में पता, जिसमें कोड शामिल है |
थ्रेड.फ़्रेम्स.लाइब्रेरी | स्ट्रिंग | उस लाइब्रेरी का डिसप्ले नेम जिसमें फ़्रेम शामिल है |
थ्रेड.फ़्रेम्स.मालिक | स्ट्रिंग | डेवलपर, वेंडर, RUNTIME, प्लैटफ़ॉर्म या सिस्टम |
थ्रेड.फ़्रेम्स.ब्लेड | बूलियन | क्या Crashlytics के विश्लेषण से यह पता चला कि यह फ़्रेम गड़बड़ी का |
unity_metadata.unity_version | स्ट्रिंग | इस डिवाइस पर चल रहे Unity का वर्शन |
unity_metadata.debug_build | बूलियन | अगर यह एक डीबग बिल्ड है |
unity_metadata.processor_type | स्ट्रिंग | प्रोसेसर का टाइप |
unity_metadata.processor_count | INT64 | प्रोसेसर की संख्या (कोर) |
unity_metadata.processor_frequency_mhz | 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 API में बताए गए ग्राफ़िक टेक्सचर को कॉपी करने की सुविधा |
unity_metadata.graphics_max_texture_size | INT64 | टेक्स्चर को रेंडर करने के लिए तय किया गया ज़्यादा से ज़्यादा साइज़ |
unity_metadata.screen_size_px | स्ट्रिंग | पिक्सल में स्क्रीन का साइज़, चौड़ाई x ऊंचाई के फ़ॉर्मैट में |
unity_metadata.screen_ भोजन_dpi | स्ट्रिंग | फ़्लोटिंग पॉइंट नंबर के तौर पर स्क्रीन का डीपीआई |
unity_metadata.screen_refresh_rate_hz | INT64 | स्क्रीन की रीफ़्रेश दर हर्ट्ज़ में |
Data Studio की मदद से, एक्सपोर्ट किए गए Crashlytics डेटा को विज़ुअलाइज़ करना
Google Data Studio आपकी BigQuery में मौजूद Crashlytics के डेटासेट को आसानी से पढ़ी जा सकने वाली और आसान रिपोर्ट में बदला जाता है. और पूरी तरह से कस्टमाइज़ करने योग्य होता है.
Data Studio का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Data Studio की क्विकस्टार्ट गाइड पढ़ें, Data Studio में आपका स्वागत है.
Crashlytics रिपोर्ट टेंप्लेट का इस्तेमाल करने का तरीका
Data Studio में Crashlytics के लिए एक सैंपल रिपोर्ट मौजूद है. इस रिपोर्ट में, पूरी जानकारी के साथ यह एक्सपोर्ट किए गए Crashlytics BigQuery स्कीमा से डाइमेंशन और मेट्रिक का सेट होता है. अगर आपने आपने Crashlytics BigQuery स्ट्रीमिंग एक्सपोर्ट चालू किया है, तो डेटा स्टूडियो टेंप्लेट के रीयल टाइम रुझान पेज पर मौजूद डेटा.इनका इस्तेमाल किया जा सकता है के आधार पर तेज़ी से नई रिपोर्ट और विज़ुअलाइज़ेशन बनाने के लिए, टेंप्लेट के तौर पर सैंपल ऐप्लिकेशन के क्रैश होने से जुड़ा रॉ डेटा:
- Crashlytics Data Studio का डैशबोर्ड टेंप्लेट खोलें.
- सबसे ऊपर दाएं कोने में, टेंप्लेट का इस्तेमाल करें पर क्लिक करें.
- नया डेटा सोर्स ड्रॉपडाउन में, नया डेटा सोर्स बनाएं चुनें.
- BigQuery कार्ड पर चुनें पर क्लिक करें.
- एक्सपोर्ट किए गए Crashlytics डेटा वाली टेबल को चुनने के लिए मेरे प्रोजेक्ट > [your-project-name] > firebase_crashlytics > [your-table-name]. आपकी बैच टेबल हमेशा उपलब्ध रहती है; अगर Crashlytics BigQuery स्ट्रीमिंग एक्सपोर्ट चालू है. अपने के बजाय रीयल टाइम टेबल का इस्तेमाल करें.
- कॉन्फ़िगरेशन में जाकर, Crashlytics टेंप्लेट लेवल को डिफ़ॉल्ट पर सेट करें.
- नया डेटा सोर्स बनाने के लिए, कनेक्ट करें पर क्लिक करें.
- Crashlytics टेंप्लेट पर वापस जाने के लिए, रिपोर्ट में जोड़ें पर क्लिक करें.
- आखिर में, Crashlytics की कॉपी बनाने के लिए रिपोर्ट बनाएं पर क्लिक करें Data Studio डैशबोर्ड टेंप्लेट.