Firebase Crashlytics kilitlenme raporlarınızı özelleştirin


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

  • 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. Ancak, Varsayılan ayar olan Crashlytics, tüm kilitlenme raporlarını otomatik olarak toplar. kullanıcılara ulaşabiliyoruz.

Rapor istisnaları

Yakalanan istisnaları bildirme

Beklenen istisnalarınız varsa Crashlytics SDK'sını kullanabilirsiniz bunları önemli olmayan etkinlikler olarak raporlayabilirsiniz. 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#'de 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ı bildir

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 etkinlik 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

IL2CPP kullanan Android uygulamaları için Crashlytics, GWP-ASan raporlarını toplayarak yerel bellek hatalarından kaynaklanan kilitlenmelerde hata ayıklamanıza yardımcı olabilir. Bellekle ilgili bu hatalar, uygulamanızdaki bellek bozulmasıyla ilişkilendirilebilir. Bu durum, uygulama güvenlik açıklarının başlıca 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 aşağıdaki durumlarda GWP-ASan bellek raporlarını Unity (v10.7.0+) için en yeni Crashlytics SDK'sını kullanır ve GWP-ASan açıkça etkinleştirildi ( Android uygulama manifestinizi değiştirin). Uygulamanızda herhangi bir C++ kodu varsa GWP-ASan kurulumunuzu Android dokümanlarındaki örnek yerel koda göz atın.

Özel anahtarlar ekleyin

Ö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 özel bir anahtarla eşleşen sorunları arayabilirsiniz.
  • 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

Web sitenizdeki verileri benzersiz şekilde tanımlamak için paylaşmadan veya iletmeden son kullanıcılarının kişisel bilgiler. Değeri boş bir dize olarak ayarlayarak da temizleyebilirsiniz. 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 yardımcı 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üğü bir firebase_screen_class parametresi içeriyor.

İç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ı.

Şunları yapabilirsiniz: Google Analytics verilerinin toplanmasını ve kullanımını kontrol edebilir, Bu işlem, içerik haritası günlüklerini dolduran verileri içerir.

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. Kilitlenme raporlarını etkinleştirmelerine izin vererek kullanıcılara gönderdikleri veriler üzerinde daha fazla kontrol sağlayabilirsiniz.

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 uygulanmaz.

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. Kilitlenme Analizleri, birçok sorun için kilitlenmeyi ayıklamanıza yardımcı olacak kaynaklar bile sağlar.

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.