Crashlytics verilerinizi Daha fazlası için BigQuery analiz. BigQuery, BigQuery SQL kullanarak verileri analiz etmenize, dışa aktarmanıza olanak tanır. başka bir bulut sağlayıcıya aktarıp görselleştirme ve özel kontrol panelleri için Google Data Studio ile.
BigQuery dışa aktarmayı etkinleştir
- Şuraya gidin: Entegrasyonlar Firebase konsolunda Google Etiket Yöneticisi'ni kullanarak.
- BigQuery kartında Bağla'yı tıklayın.
- BigQuery'yi etkinleştirmek için ekrandaki talimatları uygulayın.
Projenizi BigQuery'ye bağladığınızda:
- Firebase, Firebase projenizden ve Firebase'den veri senkronizasyonunu BigQuery'ye gidin.
- Varsayılan olarak, projenizdeki tüm uygulamalar BigQuery'ye ve tüm uygulamalara bağlıdır oluşturduğunuz uygulamalar BigQuery'ye otomatik olarak bağlanır. Siz hangi uygulamaların veri göndereceğini yönetebilirsiniz.
- Firebase mevcut verilerinizin bir kopyasını dışa aktarır BigQuery'ye aktarıyoruz. Her bağlantılı uygulama için, verileri karşılaştırabilirsiniz.
- Crashlytics BigQuery akışını dışa aktarmayı etkinleştirirseniz tüm bağlı uygulamalar gerçek zamanlı bir tablo da olacak. ve sürekli güncelleme yapıyoruz.
BigQuery dışa aktarmayı devre dışı bırakmak için: projenizin bağlantısını kaldırın Firebase konsolunda yer alır.
BigQuery'ye hangi veriler aktarılır?
Firebase Crashlytics verileri,
firebase_crashlytics
Varsayılan olarak, bağımsız tablolar
her uygulama için Crashlytics veri kümesi içerir. Firebase, Google Etiket Yöneticisi'nde
uygulamanın paket tanımlayıcısına dayalı tablolar, dönemler
alt çizgi ve platform adı ekleyin.
Örneğin, com.google.test
kimliğine sahip bir uygulamanın verileri bir tabloda yer alır
com_google_test_ANDROID
adlı. Bu toplu tablo günde bir kez güncellenir. Eğer
Crashlytics BigQuery akışı dışa aktarmayı, Firebase Crashlytics'i
veriler de gerçek zamanlı olarak com_google_test_ANDROID_REALTIME
hesabına aktarılır.
Bir tablodaki her satır, uygulamada gerçekleşen bir etkinliği temsil eder. Aşağıdakiler dahil olmak üzere: kilitlenmeler, önemli olmayan hatalar ve ANR'ler.
Crashlytics BigQuery akış dışa aktarmayı etkinleştir
Crashlytics verilerinizi gerçek zamanlı olarak yayınlamak için: BigQueryStreaming'dir. Kullanabilirsiniz bir yerde bilgi sunmak gibi, canlı veri gerektiren herhangi bir amaç için bir sunumu canlı olarak izlemek veya uygulamadaki sorunları izleme gibi uyarıları ve özel iş akışlarını tetikleyin.
Crashlytics BigQuery akışını dışa aktarma özelliği, BigQuery korumalı alanında kullanılamaz.
Crashlytics BigQuery akış dışa aktarma özelliğini etkinleştirdiğinizde, bir gerçek zamanlı tablonuz olur. İşte yapmanız gereken farklılıklar dikkat edin:
Toplu Tablo | Gerçek Zamanlı Tablo |
---|---|
|
|
Toplu tablo, uzun vadeli analiz ve zaman içindeki eğilimleri tanımlamak için idealdir çünkü etkinlikleri yazmadan önce kalıcı olarak saklarız ve bunlar tekrar doldurulabilir 30 güne kadar masaya yatırılır. Gerçek zamanlı tablonuza veri yazdığımızda, BigQuery'ye anında yazmanızı sağlar. Bu nedenle, canlı gösterge tabloları ve Özel uyarılar. Bu iki tablo, bir birleştirme sorgusu ile birleştirilerek elde edilen faydaları var. Aşağıda 9. Örnek sorguya bakın.
Varsayılan olarak, gerçek zamanlı tablolarda bölüm geçerlilik süresi 30 gündür. Alıcı: nasıl değiştireceğinizi öğrenmek için bkz. Bölüm geçerlilik süresini güncelleme.
Crashlytics BigQuery akışını etkinleştir
Akışı etkinleştirmek için BigQuery'nin Crashlytics bölümüne gidin entegrasyonlar sayfasına gidin ve Akışı dahil et onay kutusunu işaretleyin.
Data Studio Şablonu
Data Studio şablonunuzda gerçek zamanlı verileri etkinleştirmek için Dışa aktarılan Crashlytics verilerini Data Studio ile görselleştirme başlıklı makaledeki talimatları uygulayın.
Görüntüleme sayısı
BigQuery kullanıcı arayüzünü kullanarak aşağıdaki örnek sorguları görünümlere dönüştürebilirsiniz. Görüntüleyin Görünüm oluşturma başlıklı bölüme bakın.
Dışa aktarılan verilerle ne yapabilirsiniz?
BigQuery dışa aktarma işlemleri; cihaz türü, işletim sistemi, istisnalar (Android uygulamaları) veya hatalar (Apple uygulamaları) ve Crashlytics günlükleri kullanır.
BigQuery'de Firebase Crashlytics verileriyle çalışma
Aşağıdaki örneklerde Crashlytics verileriniz üzerinde çalıştırabileceğiniz sorgular gösterilmektedir. Bu sorgular, Crashlytics'te bulunmayan raporlar oluşturur kontrol paneli
Crashlytics sorgusu örnekleri
Aşağıdaki örnekler, kilitlenmeyi toplayan raporların nasıl oluşturulacağını gösterir ve etkinlik verilerini daha kolay anlaşılan özetlere dönüştürmenizi sağlar.
1. Örnek: Günlük kilitlenme sayısı
Mümkün olduğunca çok sayıda hatayı düzeltmeye çalışan lider geliştirici, ekibinin yeni fotoğraf paylaşımı uygulamasını kullanıma sunmaya hazır. Bunu yapmadan önce önceki aydaki günlük kilitlenme sayısını kontrol etmek istediğinizi hata-bash, uygulamayı zamanla daha kararlı hale getirdi:
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. Örnek: En yaygın kilitlenmeleri bulma
Proje yöneticisi üretim planlarını doğru şekilde önceliklendirmek için kilitlenmelerini ele aldık. Bir sorgu oluştururlar. alakalı veri noktaları sağlayan bir belgeye ekleyebilirsiniz.
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. Örnek: Kilitlenen ilk 10 cihaz
Sonbahar yeni telefon sezonudur! Geliştirici bunun aynı zamanda yeni bir cihaz olduğunu bilir. belirli sorunlar sezonu. Karşılaşılan uyumluluk sorunlarının önüne geçmek için en fazla trafik alan 10 cihazı tanımlayan bir sorgu geçen haftaki kilitlenmeler:
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. Örnek: Özel anahtara göre filtreleme
Bir oyun geliştirici, oyun deneyiminin en çok hangi seviyesinde olduğunu öğrenmek istiyor
kilitlenmelerine neden olabilir. Bu istatistiği takip edebilmeleri için özel bir Crashlytics anahtarı ayarladı
current_level
ve kullanıcı yeni bir seviyeye her ulaştığında güncelleyin.
Objective-C
CrashlyticsKit setIntValue:3 forKey:@"current_level";
Swift
Crashlytics.sharedInstance().setIntValue(3, forKey: "current_level");
Java
Crashlytics.setInt("current_level", 3);
Bu anahtarı BigQuery Export'ta kullanarak
her kilitlenme etkinliğiyle ilişkili current_level
değerlerinin dağılımı:
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. Örnek: User-ID ayıklama
Bir geliştiricinin uygulaması erken erişim sürümündedir. Kullanıcılarının çoğu buna bayılıyor ancak olağan dışı sayıda kilitlenmeyle karşılaştı. Analiz bölümünün altına inmek için o kullanıcılarla ilgili tüm kilitlenme etkinliklerini toplayan bir sorgu yazar ve kullanmaya başladı:
SELECT * FROM `projectId.firebase_crashlytics.package_name_ANDROID` WHERE user.id IN ("userid1", "userid2", "userid3") ORDER BY user.id
6. Örnek: Belirli bir kilitlenme sorunuyla karşılaşan tüm kullanıcıları bulma
Bir geliştirici, beta test kullanıcıları grubuna kritik bir hata yayınladı. Ekip , özel kilitlenmeyi tanımlamak için yukarıdaki 2. Örnekteki sorguyu kullanabilmiştir. sorun kimliği. Şimdi ise uygulama kullanıcılarının listesini çıkarmak için bir sorgu çalıştırmak istiyor. etkilenen kişiler:
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. Örnek: Ülkeye göre ayrılmış şekilde, kilitlenme sorunundan etkilenen kullanıcı sayısı
Ekip şimdi yeni bir sürümün kullanıma sunulması sırasında kritik bir hata tespit etti. Ekip, belirli bir anahtar kelimeyi tespit etmek için yukarıdaki 2. Örnekteki sorguyu kilitlenme sorununun kimliği. Ekip artık bu kilitlenmenin 2024'te kullanıcılara ulaşabiliyoruz.
Ekibin bu sorguyu yazabilmesi için şunları yapması gerekir:
Google Analytics için BigQuery dışa aktarma işlemlerini etkinleştirin. Proje verilerini BigQuery'ye aktarma başlıklı makaleyi inceleyin.
Uygulamalarını hem Google Analytics SDK'sına hem de kullanıcı kimliği iletecek şekilde güncellemelidir. ve Crashlytics SDK'sı.
Objective-C
CrashlyticsKit setUserIdentifier:@"123456789"; FIRAnalytics setUserID:@"12345678 9";
Swift
Crashlytics.sharedInstance().setUserIdentifier("123456789"); Analytics.setUserID("123456789");
Java
Crashlytics.setUserIdentifier("123456789"); mFirebaseAnalytics.setUserId("123456789");
Crashlytics'te kilitlenmeler içeren Google Analytics BigQuery veri kümesi BigQuery veri kümesi:
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. Örnek: Bugün şimdiye kadarki en önemli 5 sorun
Crashlytics BigQuery akış dışa aktarma özelliğinin etkinleştirilmesini gerektirir
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. Örnek: Bugün de dahil olmak üzere DATE tarihinden beri en sık karşılaşılan 5 sorun
Crashlytics BigQuery akış dışa aktarma özelliğinin etkinleştirilmesini gerektirir.
Bu örnekte, gerçek zamanlı analizleri eklemek için toplu ve gerçek zamanlı tabloları birleştiriyoruz.
verileri güvenilir toplu veri olarak işler. event_id
birincil anahtar olduğundan
ortak etkinlikleri iki tablodan tekilleştirmek için DISTINCT event_id
kullanabilir.
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'deki Firebase Crashlytics şemasını anlama
Crashlytics'i BigQuery'ye bağladığınızda Firebase son etkinlikleri dışa aktarır (kilitlenmeler, önemli olmayan hatalar ve ANR'ler), iki güne kadar olan etkinlikler dahil bağlantıdan önce, dolgu 30 güne kadar.
Bu noktadan itibaren siz bağlantıyı devre dışı bırakana kadar Firebase, Crashlytics'i dışa aktarır ürün hedeflerine odaklanmasına yardımcı olur. Verilerin kullanılabilir hale gelmesi birkaç dakika sürebilir BigQuery'ye gönderir.
Veri kümeleri
Firebase Crashlytics, Crashlytics için BigQuery'de yeni bir veri kümesi oluşturur dışı verilerdir. Bu veri kümesi, birden fazla uygulaması olsa bile projenizin tamamını kapsar.
Tablolar
Firebase Crashlytics, projenin verilerini dışa aktarmayı devre dışı bırakmadıysanız söz konusu uygulama için de geçerlidir. Firebase adları uygulamanın paket tanımlayıcısına göre tablolar, dönemler alt çizgi ve platform adı ekleyin.
Örneğin, com.google.test
kimliğine sahip bir Android uygulamasının verileri
com_google_test_ANDROID
adlı tablo; gerçek zamanlı veriler (etkinse)
com_google_test_ANDROID_REALTIME
adlı tabloda
Tablolar, standart bir Crashlytics veri kümesi ve özel Geliştiriciler tarafından tanımlanan Crashlytics anahtarları.
Satırlar
Tablodaki her satır, uygulamanın karşılaştığı bir hatayı temsil eder.
Sütunlar
Bir tablodaki sütunlar; kilitlenmeler, önemli olmayan hatalar ve ANR'ler için aynıdır. Eğer Crashlytics BigQuery akışı dışa aktarma etkinleştirildikten sonra gerçek zamanlı tablo toplu tablo ile aynı sütunlara sahip olur. Dışa aktarma işleminin içindeki sütunlar aşağıda listelenmiştir.
Yığın izlemeler olmadan
Yığın izleme içermeyen etkinlikleri temsil eden satırlarda bulunan sütunlar.
Alan adı | Veri Türü | Açıklama |
---|---|---|
platform | DİZE | Apple veya Android uygulamaları |
paket_tanımlayıcı | DİZE | Paket kimliği, ör. com.google.gmail |
event_id [etkinlik_kimliği] | DİZE | Etkinlik için benzersiz bir kimlik |
önemli | BOOLE | Uygulamanın kilitlenip kilitlenmediği |
error_type [hata_türü] | DİZE | Etkinliğin hata türü (FATAL, NON_FATAL, ANR) |
sorun_kimliği | DİZE | Etkinlikle ilişkili sorun |
varyant_kimliği | DİZE | Bu etkinlikle ilişkili sorun varyantı Tüm etkinliklerin ilişkili bir sorun varyantına sahip olmadığını unutmayın. |
event_timestamp | ZAMAN DAMGASI | Etkinliğin ne zaman gerçekleştiği |
device | KAYIT | Etkinliğin gerçekleştiği cihaz |
cihaz.üretici | DİZE | Cihaz üreticisi |
cihaz.modeli | DİZE | Cihaz modeli |
cihaz.mimari | DİZE | X86_32, X86_64, ARMV7, ARM64, ARMV7S veya ARMV7K |
bellek | KAYIT | Cihazın bellek durumu |
kullanılan bellek | İT64 | Kullanılan bellek baytı |
belleksiz | İT64 | Kalan bellek baytı |
depolama | KAYIT | Cihazın kalıcı depolama alanı |
depolama alanı.kullanılan | İT64 | Kullanılan depolama alanı baytı |
depolama.ücretsiz | İT64 | Kalan depolama alanı (bayt) |
işletim_sistemi | KAYIT | Cihazdaki işletim sistemiyle ilgili ayrıntılar |
işletim_sistemi.display_sürümü | DİZE | Cihazdaki işletim sistemi sürümü |
operating_system.name | DİZE | Cihazdaki işletim sisteminin adı |
işletim_sistemi.modification_state | DİZE | Cihazın değiştirilip değiştirilmediği (ör. jailbreak'li/root erişimli) (DEĞİŞTİRİLMEDİ veya DEĞİŞTİRİLMEDİ) |
işletim_sistemi.type | DİZE | Cihazda çalıştırılan işletim sistemi türü (ör. iOS, MACOS); yalnızca Apple platform uygulamaları için kullanılabilir |
işletim_sistemi.cihaz_türü | DİZE | Cihazın türü (örneğin, MOBİL, TABLET, TV vb.); olarak da bilinir "cihaz kategorisi" |
uygulama | KAYIT | Etkinliği oluşturan uygulama |
uygulama.derleme_sürümü | DİZE | Uygulamanın derleme sürümü |
uygulama.görünen_sürümü | DİZE | |
kullanıcı | KAYIT | İsteğe bağlı: Uygulamanın kullanıcısından toplanan bilgiler |
user.name | DİZE | İsteğe bağlı: Kullanıcının adı |
kullanici.eposta | DİZE | İsteğe bağlı: Kullanıcının e-posta adresi |
user.id | DİZE | İsteğe bağlı: Kullanıcıyla ilişkilendirilen uygulamaya özel kimlik |
özel_anahtarlar | TEKRARLANAN KAYIT | Geliştirici tarafından tanımlanmış anahtar/değer çiftleri |
özel_anahtarlar.anahtar | DİZE | Geliştirici tarafından tanımlanmış anahtar |
özel_anahtarlar.değer | DİZE | Geliştirici tarafından tanımlanan değer |
kurulum_uuid | DİZE | Benzersiz bir uygulamayı tanımlayan ve cihaz kurulumu |
Crashlytics_sdk_sürümleri | DİZE | Etkinliği oluşturan Crashlytics SDK sürümü |
uygulama_yönü | DİZE | PORTRAIT, LANDSCAPE, FACE_UP veya FACE_DOWN |
cihaz_yönü | DİZE | PORTRAIT, LANDSCAPE, FACE_UP veya FACE_DOWN |
işlem_durumu | DİZE | ARKA PLAN veya ÖNCEKİ |
logs | TEKRARLANAN KAYIT | Etkinleştirilmişse Crashlytics günlük kaydedici tarafından oluşturulan zaman damgalı günlük iletileri |
günlükler.zaman_damgası | ZAMAN DAMGASI | Günlüğün oluşturulduğu tarih |
günlükler.mesaj | DİZE | Günlüğe kaydedilen mesaj |
içerik haritaları | TEKRARLANAN KAYIT | Etkinleştirilmişse zaman damgası bulunan Google Analytics içerik haritaları |
içerik haritaları.timestamp | ZAMAN DAMGASI | İçerik haritasıyla ilişkili zaman damgası |
breadcrumbs.name | DİZE | İçerik haritasıyla ilişkilendirilen ad |
içerik haritaları.params | TEKRARLANAN KAYIT | İçerik haritasıyla ilişkili parametreler |
içerik haritası.params.anahtar | DİZE | İçerik haritasıyla ilişkili parametre anahtarı |
içerik haritası.params.değer | DİZE | İçerik haritasıyla ilişkili parametre değeri |
suç_çerçevesi | KAYIT | Kilitlenmenin veya hatanın temel nedeni olarak belirlenen çerçeve |
suç_çerçevesi.line | İT64 | Çerçevedeki dosyanın satır numarası |
suç_çerçevesi.dosya | DİZE | Çerçeve dosyasının adı |
suç_çerçevesi.simge | DİZE | Hidratlı sembol veya hidrat içmeyi mümkün değilse ham simgesi |
suç_çerçevesi.uzaklaşma | İT64 | Kodu içeren ikili resimdeki bayt farkı; Java istisnaları |
suç_çerçevesi.adres | İT64 | Java için ayarlanmamış, ikili resimdeki kodu içeren adres çerçeveler |
suç_çerçevesi.kitaplık | DİZE | Çerçeveyi içeren kitaplığın görünen adı |
suç_çerçevesi.sahip | DİZE | GELİŞTİRİCİ, TEDARİKÇİ, ÇALIŞMA ZAMANI, PLATFORM veya SİSTEM |
suç_çerçevesi.suçlanan | BOOLE | Crashlytics'in analizinin, sorunun neden bu kare olduğunu belirleyip belirlemediği kilitlenme veya hatanın |
istisnalar | TEKRARLANAN KAYIT | Yalnızca Android: Bu etkinlik sırasında oluşan istisnalar. İç içe yerleştirilmiş istisnalar ters kronolojik sırada sunulur (okuma: son kayıt ilk kayıttır istisna atıldı) |
istisnaları.tür | DİZE | İstisna türü, ör. java.lang.InvalidStateException |
İstisnalar.istisna_mesajı | DİZE | İstisnayla ilişkili bir mesaj |
İstisnalar.iç içe yerleştirilmiş | BOOLE | Son atılan istisna (yani ilk kayıt) hariç tümü için doğru |
istisnaları.başlık | DİZE | İleti dizisinin başlığı |
özel_altyazılar | DİZE | İleti dizisinin alt başlığı |
istisnaları.suç | BOOLE | Crashlytics, istisnanın hata veya çökme |
istisnalar.çerçeveler | TEKRARLANAN KAYIT | Özel durumla ilişkilendirilen çerçeveler |
istisnaları.frames.line | İT64 | Çerçevedeki dosyanın satır numarası |
istisnaları.çerçeveler.dosyası | DİZE | Çerçeve dosyasının adı |
istisnalar.çerçeveler.simgesi | DİZE | Hidratlı sembol veya hidrat içmeyi mümkün değilse ham simgesi |
istisnalar.çerçeveler.offset | İT64 | Kodu içeren ikili resimdeki bayt farkı; Java istisnaları |
istisnalar.çerçeveler.adresi | İT64 | Java için ayarlanmamış, ikili resimdeki kodu içeren adres çerçeveler |
istisnalar.çerçeveler.library | DİZE | Çerçeveyi içeren kitaplığın görünen adı |
istisnaları.frames.sahip | DİZE | GELİŞTİRİCİ, TEDARİKÇİ, ÇALIŞMA ZAMANI, PLATFORM veya SİSTEM |
istisnalar.çerçeveler.blamed | BOOLE | Crashlytics'in analizinin, sorunun neden bu kare olduğunu belirleyip belirlemediği kilitlenme veya hatanın |
hata | TEKRARLANAN KAYIT | Yalnızca Apple uygulamaları: önemli olmayan hatalar |
error.kuyruk_adı | DİZE | İş parçacığının çalıştırıldığı sıra |
hata.kod | İT64 | Uygulamanın günlüğe kaydedilen NSError ile ilişkili hata kodu |
hata.başlık | DİZE | İleti dizisinin başlığı |
error.altyazı | DİZE | İleti dizisinin alt başlığı |
hatası.suçu | BOOLE | Crashlytics'in analizinin, sorunun neden bu kare olduğunu belirleyip belirlemediği hata |
hatası.çerçeveler | TEKRARLANAN KAYIT | Yığın izlemenin çerçeveleri |
error.frames.line | İT64 | Çerçevedeki dosyanın satır numarası |
error.frames.file | DİZE | Çerçeve dosyasının adı |
hata.çerçeveler.simgesi | DİZE | Hidratlı sembol veya hidrat içmeyi mümkün değilse ham simgesi |
error.frames.offset | İT64 | Kodu içeren ikili resme giden bayt farkı |
error.frames.address | İT64 | İkili resimdeki kodu içeren adres |
error.frames.library | DİZE | Çerçeveyi içeren kitaplığın görünen adı |
error.frames.owner | DİZE | GELİŞTİRİCİ, TEDARİKÇİ, ÇALIŞMA ZAMANI, PLATFORM veya SİSTEM |
error.frames.blamed | BOOLE | Crashlytics'in analizinin, sorunun neden bu kare olduğunu belirleyip belirlemediği hata |
ileti dizileri | TEKRARLANAN KAYIT | Etkinlik sırasında mevcut olan ileti dizileri |
ileti dizileri.çöktü | BOOLE | İş parçacığının çöküp çökmediği |
messages.thread_name | DİZE | İleti dizisinin adı |
messages.kuyruk_adı | DİZE | Yalnızca Apple uygulamaları: İş parçacığının çalıştırıldığı sıra |
messages.signal_name | DİZE | Uygulamanın kilitlenmesine neden olan sinyalin adı (yalnızca kilitlenen cihazlarda bulunur) yerel ileti dizileri |
messages.sinyal_code | DİZE | Uygulamanın kilitlenmesine neden olan sinyalin kodu. yalnızca kilitlenen cihazlarda mevcut yerel ileti dizileri |
ileti dizileri.crash_address | İT64 | Uygulamanın kilitlenmesine neden olan sinyalin adresi; yalnızca mevcut kilitlenen yerel iş parçacıklarında |
messages.code | İT64 | Yalnızca Apple uygulamaları: Uygulamanın özel günlüğe kaydedilen NSError hatasının kodu |
ileti dizileri.başlık | DİZE | İleti dizisinin başlığı |
topics.altyazı | DİZE | İleti dizisinin alt başlığı |
başlıklar.sorumlu | BOOLE | Crashlytics'in analizinin, sorunun neden bu kare olduğunu belirleyip belirlemediği kilitlenme veya hatanın |
mesaj dizileri.çerçeveler | TEKRARLANAN KAYIT | İleti dizisinin çerçeveleri |
Thread.frames.line | İT64 | Çerçevedeki dosyanın satır numarası |
Thread.frames.file | DİZE | Çerçeve dosyasının adı |
ipler.çerçeveler.simgesi | DİZE | Hidrat sembolü veya hidyalatılmış değilse ham simgesi |
ipler.çerçeveler.uzaklaşması | İT64 | Kodu içeren ikili resme giden bayt farkı |
Thread.frames.address | İT64 | İkili resimdeki kodu içeren adres |
Thread.frames.library | DİZE | Çerçeveyi içeren kitaplığın görünen adı |
ileti dizileri.çerçeve.sahibi | DİZE | GELİŞTİRİCİ, TEDARİKÇİ, ÇALIŞMA ZAMANI, PLATFORM veya SİSTEM |
ileti dizileri.çerçeveler.bama | BOOLE | Crashlytics'in analizinin, sorunun neden bu kare olduğunu belirleyip belirlemediği hata |
unity_metadata.unity_sürümü | DİZE | Bu cihazda çalışan Unity sürümü |
unity_metadata.debug_build | BOOLE | Bu bir hata ayıklama derlemesiyse |
unity_metadata.processor_type | DİZE | İşlemci türü |
unity_metadata.processor_count | İT64 | İşlemci (çekirdek) sayısı |
unity_metadata.processor_frequency_mhz | İT64 | İşlemcilerin MHz cinsinden frekansı |
oney_metadata.system_memory_size_mb | İT64 | Sistem belleğinin Mb cinsinden boyutu |
ünite_meta verileri.grafikler_bellek_boyutu_mb | İT64 | MB cinsinden grafik belleği |
oney_metadata.graphics_cihaz_kimliği | İT64 | Grafik cihazının tanımlayıcısı |
oney_metadata.graphics_device_sağlayıcı_kimliği | İT64 | Grafik işlemcisi tedarikçisinin tanımlayıcısı |
unity_metadata.graphics_cihaz_adı | DİZE | Grafik cihazının adı |
unity_metadata.graphics_device_tedarikçi | DİZE | Grafik cihazının satıcısı |
oney_metadata.graphics_device_sürümü | DİZE | Grafik cihazının sürümü |
oney_metadata.graphics_cihaz_türü | DİZE | Grafik cihazının türü |
oney_metadata.graphics_shader_seviyesi | İT64 | Grafiklerin gölgelendirici düzeyi |
unity_metadata.graphics_render_target_count | İT64 | Grafik oluşturma hedeflerinin sayısı |
oney_metadata.graphics_copy_texture_support | DİZE | Unity API'de tanımlandığı gibi grafik dokusunu kopyalama desteği |
oney_metadata.graphics_max_texture_size | İT64 | Doku oluşturmaya ayrılmış maksimum boyut |
oney_metadata.screen_size_px | DİZE | Ekranın piksel cinsinden boyutu (genişlik x yükseklik olarak biçimlendirilir) |
unity_metadata.screen_resolve_dpi | DİZE | Ekranın kayan nokta sayısı olarak DPI değeri |
oney_metadata.screen_refresh_rate_hz | İT64 | Ekranın Hz cinsinden yenileme hızı |
Dışa aktarılan Crashlytics verilerini Data Studio ile görselleştirme
Google Data Studio, BigQuery'deki Crashlytics veri kümelerini, okunması ve kolay okunan raporlar haline getirin. ve tamamen özelleştirilebilir.
Data Studio'yu kullanma hakkında daha fazla bilgi için Data Studio hızlı başlangıç kılavuzunu deneyin: Data Studio'ya hoş geldiniz.
Crashlytics rapor şablonu kullanma
Data Studio, Crashlytics için kapsamlı bir örnek rapor sunar. dışa aktarılan Crashlytics BigQuery şemasından boyut ve metrik grubu. Eğer Crashlytics BigQuery akış dışa aktarma özelliğini etkinleştirdiyseniz, Gerçek zamanlı trendler sayfasındaki verileri içerebilir.Ayrıca, yeni rapor ve görselleştirmeler oluşturmak için bir şablon olarak kullanabilirsiniz. Kendi uygulamanızın ham kilitlenme verileri:
- Crashlytics Data Studio Kontrol Paneli şablonunu açın.
- Sağ üst köşedeki Şablonu Kullan'ı tıklayın.
- Yeni Veri Kaynağı açılır menüsünde Yeni Veri Kaynağı Oluştur'u seçin.
- BigQuery kartında Seç'i tıklayın.
- Aşağıdaki seçenekleri kullanarak dışa aktarılan Crashlytics verilerini içeren bir tablo belirleyin: Projelerim > [projenizin-adı] > firebase_crashlytics > [tablonuzun-adı]. Toplu tablonuzu her zaman seçebilirsiniz; eğer Crashlytics BigQuery akış dışa aktarma özelliği etkinse gerçek zamanlı tablosunu kullanmanız gerekir.
- Yapılandırma bölümünde, Crashlytics Şablonu düzeyi'ni Varsayılan olarak ayarlayın.
- Yeni veri kaynağını oluşturmak için Bağlan'ı tıklayın.
- Crashlytics şablonuna dönmek için Add to Report'u (Rapora Ekle) tıklayın.
- Son olarak, Crashlytics kopyanızı oluşturmak için Rapor Oluştur'u tıklayın Data Studio Kontrol Paneli şablonu.