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

Crashlytics kontrol panelinde bir sorunu tıklayıp ayrıntılı bir şekilde etkinlik raporu. 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ı. 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, Crashlytics, varsayılan olarak tüm cihazlarınız için kilitlenme raporlarını kullanıcılara ulaşabiliyoruz.

Rapor istisnaları

Rapor yakalanan istisnalar

Beklenen istisnalarınız varsa Crashlytics SDK'nız olabilir bu etkinlikleri önemli olmayan etkinlikler olarak raporlayın. Bu etkinlikler cihazda günlüğe kaydedilir ve Ardından, bir sonraki önemli etkinlik raporuyla birlikte veya son kullanıcı yeniden başlatıldığında gönderilir. sorumluluklar var.

Aşağıdaki yöntemi kullanarak C# dilinde istisnaları günlüğe kaydedebilirsiniz:

Crashlytics.LogException(Exception ex);

Oyununuzun dene-yakala bloklarındaki beklenen istisnaları günlüğe kaydedebilirsiniz:

try {
    myMethodThatThrows();
} catch (Exception e) {
   Crashlytics.LogException(e);
   // handle your exception here!
}

Yakalanmayan istisnaları bildir

Oyununuzu kilitlenmeyen yakalanmamış istisnalar için (örneğin, C# istisnası) kullanıyorsanız Crashlytics SDK'sının bunları bildirmesini sağlayabilirsiniz. önemli olaylar olarak ayarlayarak true için Crashlytics.ReportUncaughtExceptionsAsFatal mülk Unity projenizde Crashlytics'i başlatın , Bu etkinlikler, Crashlytics'e gerçek zamanlı olarak raporlanır ve oyunu yeniden başlatmasını sağlamak kalıyor.

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 cihazda günlüğe kaydedilir ve son kullanıcı yeniden başlattığında bir oyundur.

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ında hata ayıklamak için GWP-ASan raporlarını dahil etme

IL2CPP kullanan Android uygulamaları için Crashlytics, 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 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, kilitlenmeye yol açan uygulama durumunu öğrenmenize yardımcı olur. Rastgele anahtar/değer çiftlerini kilitlenme raporlarınızla ilişkilendirebilir ve ardından, özel anahtarları kullanarak Firebase konsolunda kilitlenme raporlarını arayıp filtreleyebilirsiniz.

  • Crashlytics kontrol panelinde sorunları arayabilirsiniz eşleşen yeni bir etiket oluşturabilirsiniz.
  • Konsolda belirli bir sorunu incelerken her etkinlik için ilişkili özel anahtarlar kullanabilir (Anahtarlar alt sekmesi) ve hatta etkinlikleri özel anahtarlara göre (sayfanın üst kısmındaki Filtre menüsü) tıklayın.
ziyaret edin.

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ı ekleyin

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ını 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 değer olarak ayarlayarak da dize. Bu değer, şu durumlarda Firebase Crashlytics kontrol panelinde gösterilir: kilitlenmeyi görebilirsiniz.

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.

İçerik haritası günlükleri, Google Analytics tarafından desteklenmektedir. Bu nedenle, içerik haritası günlüklerini almak için gerek Google Analytics'i etkinleştirme Firebase projeniz için Google Analytics için Firebase SDK'sını ekleyin ekleyin. Bu şartlar karşılandıktan sonra, içerik haritası günlükleri otomatik olarak ayrıntıları görüntülediğinizde Günlükler sekmesindeki bir etkinlik verilerine eklenir bir sonucudur.

Analytics SDK'sı screen_view etkinliğini otomatik olarak günlüğe kaydeder Bu, içerik haritası günlüklerinin veya ANR olayını kapsar. screen_view içerik haritası günlüğü firebase_screen_class parametresinden yararlanın.

İç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 etme Bu işlem, içerik haritası günlüklerini dolduran verileri içerir.

Kayıt raporlamayı etkinleştir

Varsayılan olarak Crashlytics, tüm cihazlarınız için kilitlenme raporlarını kullanıcılara ulaşabiliyoruz. 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'i yalnızca seçili kullanıcılar için başlatmak istiyorsanız kullanıcıları için çalışma zamanında Crashlytics veri toplama geçersiz kılmasını çağırın. İlgili içeriği oluşturmak için kullanılan Geçersiz kılma değeri, uygulamanızın lansmanları boyunca da devam eder. Böylece Crashlytics, otomatik olarak toplayabilir. Otomatik kilitlenme raporunu devre dışı bırakmak için Geçersiz kılma değeri olarak false. 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 istemezseniz Crash Insights'ı devre dışı bırakabilirsiniz Crashlytics sorun listenizin üst kısmındaki Kilitlenme Analizleri menüsünden Firebase konsolunda oluşturun.