| Platform seçin: | iOS+ Android Flutter Unity |
Bir sorunu tıklayarak Firebase konsolunun DevOps ve Etkileşim > Crashlytics kontrol panelinde ayrıntılı bir etkinlik raporu alabilirsiniz. Bu raporları, uygulamanızda neler olduğunu ve Crashlytics'a bildirilen etkinliklerle ilgili koşulları daha iyi anlamanıza yardımcı olacak şekilde özelleştirebilirsiniz.
Yakalanan istisnaları ve yakalanmayan istisnaları Crashlytics'e bildirin.
Bellek bozulması sorunlarını ayıklamak için GWP-ASan raporlarını ekleyin.
Uygulamanıza özel anahtarlar, günlük mesajları ve kullanıcı kimlikleri kaydedecek şekilde izleme kodu ekleyin.
Uygulamanız Google Analytics için Firebase SDK'sını kullanıyorsa otomatik olarak izleme kaydı günlükleri alın. Bu günlükler, uygulamanızda Crashlytics ile toplanan bir etkinliğe yol açan kullanıcı işlemlerini görmenizi sağlar.
Otomatik kilitlenme raporlamayı devre dışı bırakın ve kullanıcılarınız için katılıma dayalı raporlamayı etkinleştirin. Crashlytics'nın varsayılan olarak uygulamanızın tüm kullanıcıları için kilitlenme raporlarını otomatik olarak topladığını unutmayın.
Rapor istisnaları
Yakalanan istisnaları bildir
Beklenen istisnalarınız varsa Crashlytics SDK'sının bunları önemli olmayan hata etkinlikleri olarak bildirmesini sağlayabilirsiniz. Bu etkinlikler cihazda günlüğe kaydedilir ve ardından bir sonraki ölümcül etkinlik raporuyla birlikte veya son kullanıcı oyunu yeniden başlattığında gönderilir.
Aşağıdaki yöntemi kullanarak C# dilinde istisnaları kaydedebilirsiniz:
Crashlytics.LogException(Exception ex);
Oyununuzun try/catch bloklarında beklenen istisnaları kaydedebilirsiniz:
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.LogException(e); // handle your exception here! }
Yakalanmayan istisnaları bildirme
Oyununuzun kilitlenmesine neden olmayan yakalanmamış istisnalar (ör. oyun mantığındaki yakalanmamış C# istisnaları) için Crashlytics SDK'sının bunları kritik etkinlikler olarak bildirmesini sağlayabilirsiniz. Bunun için Crashlytics.ReportUncaughtExceptionsAsFatal özelliğini, Unity projenizde Crashlytics SDK'sını başlattığınız yerde true olarak ayarlayın.
Bu etkinlikler, son kullanıcının oyunu yeniden başlatmasına gerek kalmadan Crashlytics'a gerçek zamanlı olarak bildirilir.
Bu yakalanmamış istisnaları önemli etkinlikler olarak raporlamak, bunların kilitlenmesiz kullanıcı istatistiklerinize ve hız uyarılarına dahil edileceği anlamına gelir.
Yerel kilitlenmelerin her zaman kritik etkinlik olarak raporlandığını unutmayın. Bu etkinlikler cihazda günlüğe 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ında hata ayıklamak için GWP-ASan raporlarını ekleme
IL2CPP kullanan Android uygulamalarında Crashlytics, GWP-ASan raporlarını toplayarak yerel bellek hatalarından kaynaklanan kilitlenmelerin hata ayıklamasını yapmanıza yardımcı olabilir. Bellekle ilgili bu hatalar, uygulamanızdaki bellek bozulmasıyla ilişkili olabilir. Bellek bozulması, uygulama güvenlik açıklarının başlıca nedenidir.
Firebase konsolunun DevOps & Engagement > Crashlytics kontrol panelinde bu verilerle şunları yapabilirsiniz:
Bir sorunun ayrıntılarını tıkladığınızda bu verileri yeni bir "Bellek yığın izlemeleri" sekmesinde görüntüleyebilirsiniz.
Bu verilerle ilgili tüm sorunları hızlıca görüntülemek için yeni "GWP-ASan raporu" sinyalini ve filtresini kullanabilirsiniz.
Uygulamanızda Crashlytics SDK for Unity'nin en yeni sürümü (v10.7.0+) kullanılıyorsa ve GWP-ASan açıkça etkinleştirilmişse GWP-ASan bellek raporları alabilirsiniz (Android uygulama manifestinizi değiştirmeniz gerekir). Uygulamanızda C++ kodu varsa Android belgelerindeki örnek yerel kodu kullanarak GWP-ASan kurulumunuzu test edebilirsiniz.
Özel anahtarlar ekleme
Özel anahtarlar, uygulamanızın kilitlenmeye yol açan belirli durumunu almanıza yardımcı olur. Kilitlenme raporlarınızla rastgele anahtar/değer çiftleri ilişkilendirebilir, ardından Firebase konsolunun DevOps & Engagement > Crashlytics kontrol panelinde kilitlenme raporlarını aramak ve filtrelemek için özel anahtarları kullanabilirsiniz.
Özel anahtarla eşleşen sorunları arayabilirsiniz.
Konsolda belirli bir sorunu incelerken her etkinlikle ilişkili özel anahtarları (Anahtarlar alt sekmesi) görüntüleyebilir ve hatta etkinlikleri özel anahtarlara göre filtreleyebilirsiniz (sayfanın üst kısmındaki Filtre menüsü).
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
Kilitlenmeye yol açan etkinlikler hakkında daha fazla bilgi edinmek için uygulamanıza özel Crashlytics günlükler ekleyebilirsiniz. Crashlytics, günlükleri kilitlenme verilerinizle ilişkilendirir ve bir sorunun ayrıntılarını görüntülerken bunları Günlükler sekmesinde gösterir (Firebase konsolunun DevOps ve Etkileşim > Crashlytics kontrol panelinde tüm sorunlarınızı görebilirsiniz).
Crashlytics.Log(string message);
Kullanıcı tanımlayıcılarını ayarlama
Uygulamanızın son kullanıcısını, kişisel bilgilerini ifşa etmeden veya iletmeden benzersiz şekilde tanımlamak için kimlik numarası, jeton ya da karma oluşturma işlemi uygulanmış değer kullanabilirsiniz. Değeri boş bir dize olarak ayarlayarak da temizleyebilirsiniz. Bu değer, Firebase konsolunun DevOps & Engagement > Crashlytics kontrol panelinde belirli bir kilitlenme görüntülenirken gösterilir.
Crashlytics.SetUserId(string identifier);
İçerik haritası günlüklerini alma
İçerik haritası günlükleri, bir kullanıcının kilitlenme, önemli olmayan hata veya ANR etkinliğine yol açan uygulama etkileşimleri hakkında daha iyi bilgi edinmenizi sağlar. Bu günlükler, bir sorunu yeniden üretmeye ve hata ayıklamaya çalışırken faydalı olabilir.
Breadcrumb günlükleri Google Analytics tarafından desteklenir. Bu nedenle, breadcrumb günlüklerini almak için Firebase projenizde Google Analytics'i etkinleştirmeniz ve uygulamanıza Google Analytics için Firebase SDK'sını eklemeniz gerekir. Bu şartlar karşılandıktan sonra, bir sorunun ayrıntılarını görüntülerken breadcrumb günlükleri Günlükler sekmesindeki etkinlik verilerine otomatik olarak eklenir (Firebase konsolunun DevOps ve Etkileşim > Crashlytics kontrol panelinde tüm sorunlarınızı görebilirsiniz).
Analytics SDK'sı, screen_view etkinliğini otomatik olarak günlüğe kaydeder. Bu sayede, kilitlenme, önemli olmayan hata veya ANR etkinliğinden önce görüntülenen ekranların listesini göstermek için içerik haritası günlükleri kullanılabilir. screen_view izleme kaydı, firebase_screen_class parametresini içeriyor.
Ayrıca, kullanıcı oturumunda manuel olarak günlüğe kaydettiğiniz tüm özel etkinlikler (etkinliğin parametre verileri dahil) de izleme yolu günlüklerine eklenir. Bu veriler, kilitlenme, önemli olmayan hata veya ANR etkinliğine yol açan bir dizi kullanıcı işlemini göstermeye yardımcı olabilir.
Google Analytics verilerinin toplanmasını ve kullanılmasını kontrol edebileceğinizi unutmayın. Bu veriler, izleme kaydı günlüklerini dolduran verileri de 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. Kullanıcıların kilitlenme raporlarını göndermeyi etkinleştirmesine izin vererek gönderdikleri veriler üzerinde daha fazla kontrol sahibi olmalarını sağlayabilirsiniz.
Otomatik toplamayı yalnızca belirli kullanıcılar için devre dışı bırakmak istiyorsanız çalışma zamanında Crashlytics veri toplama geçersiz kılma işlevini çağırın. Geçersiz kılma değeri, uygulamanızın sonraki tüm başlatma işlemlerinde geçerli kalır. Böylece Crashlytics, söz konusu kullanıcı için raporları otomatik olarak toplayabilir.
Crashlytics.IsCrashlyticsCollectionEnabled = true
Kullanıcı daha sonra veri toplamayı devre dışı bırakırsa geçersiz kılma değeri olarak false değerini iletebilirsiniz. Bu değer, kullanıcı uygulamayı bir sonraki kez başlattığında uygulanır ve bu kullanıcının sonraki tüm başlatma işlemleri için geçerli olmaya devam eder.
Kilitlenme analizleri verilerini yönetme
Kilitlenme analizleri, anonimleştirilmiş yığın izlemelerinizi diğer Firebase uygulamalarındaki izlemelerle karşılaştırarak sorunları çözmenize yardımcı olur ve sorununuzun daha büyük bir trendin parçası olup olmadığını bildirir. Kilitlenme Analizleri, birçok sorunda kilitlenmeyi ayıklamanıza yardımcı olacak kaynaklar da sunar.
Kilitlenme Analizleri, yaygın kararlılık trendlerini belirlemek için birleştirilmiş kilitlenme verilerini kullanır. Uygulamanızın verilerini paylaşmak istemiyorsanız Firebase konsolunun DevOps ve Etkileşim > Crashlytics kontrol panelindeki sorun listesinin üst kısmında yer alan Kilitlenme Analizleri menüsünden Kilitlenme Analizleri'ni devre dışı bırakabilirsiniz.
Sonraki adımlar
- Verilerinizi sorgulama, özel kontrol panelleri oluşturma ve özel uyarılar ayarlama gibi gelişmiş analiz ve özellikler için verilerinizi BigQuery veya Cloud Logging'ya aktarın.