Crashlytics kontrol panelinde bir sorunu tıklayarak ayrıntılı bir etkinlik raporu alabilirsiniz. Bu raporları, özel kampanyaları daha iyi anlamanıza yardımcı olacak şekilde özelleştirebilirsiniz. uygulamanızda neler olduğunu ve kendilerine bildirilen etkinliklerle ilgili koşulları Crashlytics
Yakalanan istisnaları raporlayın ve Crashlytics ile ilgili yakalamayan istisnalar.
Bellek bozulması sorunlarını gidermek için GWP-ASan raporlarını ekleyin.
Uygulamanızı, özel anahtarları, özel günlük mesajlarını ve kullanıcı tanımlayıcılarını günlüğe kaydetecek şekilde donatın.
Uygulamanız Google Analytics için Firebase SDK'sını kullanıyorsa ekmek kırıntıları günlüklerini otomatik olarak alın. Bu günlükler, Uygulamanızda Crashlytics tarafından toplanan bir etkinlikle sonuçlanan kullanıcı işlemleri.
Otomatik kilitlenme raporlamasını kapatın ve Kullanıcılarınız için kayıt raporlamasını etkinleştirmeniz gerekir. Crashlytics'ün varsayılan olarak uygulamanızın tüm kullanıcılarının kilitlenme raporlarını otomatik olarak topladığını unutmayın.
Rapor istisnaları
Rapor yakalanan istisnalar
Beklenen istisnalarınız varsa Crashlytics SDK'sının bunları önemli olmayan etkinlikler olarak bildirmesini sağlayabilirsiniz. Bu etkinlikler cihaza kaydedilir ve ardından bir sonraki kritik etkinlik raporuyla birlikte veya son kullanıcı oyunu yeniden başlattığında gönderilir.
Aşağıdaki yöntemi kullanarak C# dilinde istisnaları günlüğe kaydedebilirsiniz:
Crashlytics.LogException(Exception ex);
Beklenen istisnaları oyununuzun try/catch bloklarına kaydedebilirsiniz:
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.LogException(e); // handle your exception here! }
Yakalanmayan istisnaları bildirme
Oyununuzu kilitlemeyen tutuklanmayan istisnalar (ör. oyun mantıkındaki yakalanmayan C# istisnaları) için Crashlytics.ReportUncaughtExceptionsAsFatal
mülkünü true
olarak ayarlayarak Crashlytics SDK'sının bunları Unity projenizde Crashlytics'i başlattığınız önemli etkinlikler olarak bildirmesini sağlayabilirsiniz.
Bu etkinlikler, son kullanıcının oyunu yeniden başlatmasına gerek kalmadan Crashlytics'e gerçek zamanlı olarak raporlanır.
Yakalanmayan bu istisnaların önemli etkinlikler olarak bildirilmesi, ve hız uyarılarına ulaşabilirsiniz.
Yerel kilitlenmelerin her zaman önemli olaylar olarak raporlandığını unutmayın. Bu etkinlikler cihaza kaydedilir ve son kullanıcı oyunu yeniden başlattığında gönderilir.
void Start() { // Since there is no try-block surrounding this call, if an exception is thrown, // it is considered unexpected. // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true` // will ensure that such cases are reported as fatals. thirdPartyMethodThatMayThrow(); }
Bellek bozulması sorunlarını hata ayıklamak için GWP-ASan raporlarını ekleme
Crashlytics, IL2CPP kullanan Android uygulamalarında kilitlenmelerde hata ayıklamanıza yardımcı olabilir Bu sorun, GWP-ASan raporlarının toplanmasından kaynaklanan yerel bellek hatalarından kaynaklanır. Bu bellekle ilgili hatalar, uygulamanızdaki bellek bozulmasıyla ilişkilendirilebilir. Bu, uygulama güvenliği açıklarının önde gelen nedenidir.
Bu verileri yeni bir "Bellek yığın izlemeleri"nde görüntüleyebilirsiniz tıkladığınızda konunun ayrıntılarına Crashlytics kontrol paneli.
Yeni "GWP-ASan raporunu" da kullanabilirsiniz hızla görüntülemek için sinyal ve filtre bu verilerle ilgili tüm sorunları giderebilirsiniz.
Uygulamanız Unity için en son Crashlytics SDK'sını (v10.7.0 ve sonraki sürümler) kullanıyorsa ve GWP-ASan açıkça etkinleştirildiyse GWP-ASan bellek raporları alabilirsiniz (Android uygulama manifestinizi değiştirmeniz gerekir). Uygulamanızda C++ kodunuz varsa Android dokümanlarında yer alan örnek yerel kodu kullanarak GWP-ASan kurulumunuzu test edebilirsiniz.
Özel anahtar ekleme
Özel anahtarlar, uygulamanızın kilitlenmesine yol açan belirli durumu öğrenmenize yardımcı olur. Rastgele anahtar/değer çiftlerini kilitlenme raporlarınızla ilişkilendirebilir ve ardından, Firebase konsolunda kilitlenme raporlarını aramak ve filtrelemek için özel anahtarları kullanın.
- Crashlytics kontrol panelinde sorunları arayabilirsiniz eşleşen tüm etiketler kullanılır.
- Konsolda belirli bir sorunu incelerken her etkinlik için ilişkili özel anahtarlar oluşturabilir (Anahtarlar alt sekmesi) ve hatta etkinlikleri özel anahtarlara göre (sayfanın üst kısmındaki Filtre menüsü) tıklayın.
Birden çok kez çağrıldığında, mevcut anahtarların yeni değerleri değeri günceller. ve bir kilitlenme kaydedildiğinde yalnızca en güncel değer yakalanır.
Crashlytics.SetCustomKey(string key, string value);
Özel günlük mesajları ekleme
Günlüğe kaydedilen iletiler, kilitlenme verilerinizle ilişkilendirilir ve Belirli bir kilitlenmeyi görüntülerken Firebase Crashlytics kontrol paneli.
Crashlytics.Log(string message);
Kullanıcı tanımlayıcıları ayarlama
Uygulamanızın son kullanıcısını kişisel bilgilerini ifşa etmeden veya iletmeden benzersiz bir şekilde tanımlamak için kimlik numarası, jeton veya karma oluşturma işlemi uygulanmış bir değer kullanabilirsiniz. Değeri boş bir değer olarak ayarlayarak da dize. Bu değer, belirli bir kilitlenmeyi görüntülerken Firebase Crashlytics kontrol panelinde gösterilir.
Crashlytics.SetUserId(string identifier);
İçerik haritası günlüklerini alma
İçerik haritası günlükleri, kullanıcının kilitlenme, önemli olmayan veya ANR etkinliğine neden olan sorunları içerir. Bu günlükler, bir sorunu yeniden oluşturmaya ve hata ayıklamaya çalışırken faydalı olabilir.
Kırıntı günlükleri Google Analytics tarafından desteklenir. Bu nedenle, breadcrumb günlüklerini almak için Firebase projeniz için Google Analytics'i etkinleştirmeniz ve Google Analytics için Firebase SDK'sını uygulamanıza eklemeniz gerekir. Bu koşullar karşılandığında, bir sorunun ayrıntılarını görüntülediğinizde breadcrumb günlükleri, Günlükler sekmesindeki bir etkinliğin verilerine otomatik olarak eklenir.
Analytics SDK'sı, screen_view
etkinliğini otomatik olarak günlüğe kaydeder. Bu sayede, içerik haritası günlükleri kilitlenme, ölümcül olmayan veya ANR etkinliğinden önce görüntülenen ekranların listesini gösterebilir. screen_view
içerik haritası günlüğünde firebase_screen_class
parametresi var.
İçerik haritası günlükleri ayrıca özel etkinlikler oluşturabilirsiniz. oturumuna ait verileri toplar. Bu veriler, seçtiğiniz seriyi göstermeye yardımcı olabilir Kilitlenme, önemli olmayan veya ANR etkinliğiyle sonuçlanan kullanıcı işlemlerinin sayısı.
Google Analytics verilerinin toplanmasını ve kullanılmasını kontrol edebileceğinizi unutmayın. Bu veriler arasında, içerik haritası günlüklerini dolduran veriler de bulunur.
Etkinleştirme raporlamasını etkinleştirme
Varsayılan olarak Crashlytics, uygulamanızın tüm kullanıcıları için kilitlenme raporlarını otomatik olarak toplar. Kullanıcılara, gönderdikleri veriler üzerinde daha fazla kontrol sağlamak için kilitlenmeleri bildirmeye izin vermelidir.
Otomatik toplamayı devre dışı bırakmak ve Crashlytics'ü yalnızca seçili kullanıcılar için başlatmak istiyorsanız çalışma zamanında Crashlytics veri toplama geçersiz kılma işlevini çağırın. Üzerine yazma değeri, uygulamanızın her lansmanında devam eder. Böylece Crashlytics raporları otomatik olarak toplayabilir. Otomatik kilitlenme raporlamasını devre dışı bırakmak için geçersiz kılma değeri olarak false
'ü iletin. false
olarak ayarlandığında yeni değer
uygulamanın bir sonraki çalıştırılmasına kadar uygulanır.
Crashlytics.IsCrashlyticsCollectionEnabled = true
Crash Insights verilerini yönetme
Crash Insights, anonimleştirilmiş yığınınızı karşılaştırarak sorunları çözmenize yardımcı olur diğer Firebase uygulamalarından gelen izleri izler ve sorununuzun büyük bir trendin parçası haline geldi. Crash Insights, sorunların çoğu için kaynak bile sağlar kilitlenmede hata ayıklamanıza yardımcı olur.
Crash Insights, yaygın kararlılık trendlerini belirlemek için birleştirilmiş kilitlenme verilerini kullanır. Uygulamanızın verilerini paylaşmak istemiyorsanız Firebase konsolundaki Crashlytics sorun listenizin üst kısmındaki Kilitlenme Analizleri menüsünden Kilitlenme Analizleri'ni devre dışı bırakabilirsiniz.