| Platform seçin: | iOS+ Android Flutter Unity |
Firebase konsolunun DevOps ve Etkileşim > Crashlytics kontrol panelinde bir sorunu tıklayarak ayrıntılı etkinlik raporu alabilirsiniz. Uygulamanızda neler olduğunu ve Crashlytics hizmetine bildirilen etkinliklerle ilgili koşulları daha iyi anlamanıza yardımcı olması için bu raporları özelleştirebilirsiniz.
Yakalanan istisnaları ve yakalanmayan istisnaları Crashlytics hizmetine bildirin.
Bellek bozulması sorunlarını ayıklamak için GWP-ASan raporlarını ekleyin.
Uygulamanızı özel anahtarları, özel günlük mesajlarını ve kullanıcı kimliklerini günlüğe kaydedecek şekilde yapılandırın.
Uygulamanız Google Analytics için Firebase SDK'sını kullanıyorsa breadcrumb kayıtlarını otomatik olarak alın. Bu günlükler, uygulamanızda Crashlytics tarafından toplanan bir etkinliğe yol açan kullanıcı işlemlerini görmenizi sağlar.
Otomatik Crash Reporting'i devre dışı bırakın ve kullanıcılarınız için onaylı raporlamayı etkinleştirin. Crashlytics, varsayılan olarak uygulamanızın tüm kullanıcıları için kilitlenme raporlarını otomatik olarak toplar.
İstisnaları bildirme
Yakalanan istisnaları bildir
Beklenen istisnalarınız varsa Crashlytics SDK'nın bunları önemli olmayan etkinlikler olarak bildirmesini sağlayabilirsiniz. Bu etkinlikler cihazda günlüğe kaydedilir ve bir sonraki önemli etkinlik raporuyla birlikte veya son kullanıcı oyunu yeniden başlattığında gönderilir.
C#'ta istisnaları aşağıdaki yöntemi kullanarak günlüğe kaydedebilirsiniz:
Crashlytics.LogException(Exception ex);
Oyununuzun try/catch bloklarında beklenen istisnaları günlüğe 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ığında yakalanmamış C# istisnaları) için Crashlytics SDK'nın bunları önemli etkinlikler olarak bildirmesini sağlayabilirsiniz. Bunun için Crashlytics.ReportUncaughtExceptionsAsFatal özelliğini true olarak ayarlamanız gerekir. Bu ayarı, Unity projenizde Crashlytics'yi başlattığınız yerde yapabilirsiniz.
Bu etkinlikler, son kullanıcının oyunu yeniden başlatmasına gerek kalmadan gerçek zamanlı olarak Crashlytics platformuna bildirilir.
Yakalanmayan bu istisnaların önemli etkinlik olarak bildirilmesi, kilitlenme yaşamayan kullanıcı istatistiklerinize ve hız uyarılarınıza dahil edilecekleri anlamına gelir.
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ı 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 kilitlenmelerde hata ayıklamanıza yardımcı olabilir. Bellekle ilgili bu hatalar, uygulamanızdaki bellek bozulmasıyla ilişkili olabilir. Bellek bozulması, uygulama güvenliği açıklarının başlıca nedenidir.
Firebase Console'un DevOps ve Etkileşim > Crashlytics kontrol panelinde bu verilerle şunları yapabilirsiniz:
Bir sorunun ayrıntılarını tıkladığınızda bu verileri yeni "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ız Unity için en yeni Crashlytics SDK'sını (v10.7.0+) kullanıyorsa ve GWP-ASan açıkça etkinleştirilmişse GWP-ASan bellek raporlarını alabilirsiniz (Android uygulama manifest dosyanızı değiştirmeniz gerekir). Uygulamanızda C++ kodu varsa Android belgelerindeki örnek yerel kodu kullanarak GWP-ASan kurulumunuzu test edebilirsiniz.
Özel anahtar ekleme
Özel anahtarlar, uygulamanızın kilitlenmeden önceki durumunu öğrenmenize yardımcı olur. Kilitlenme raporlarınızla rastgele anahtar/değer çiftlerini ilişkilendirebilir, ardından Firebase konsolunun DevOps ve Etkileşim > Crashlytics kontrol panelinde kilitlenme raporlarını aramak ve filtrelemek için özel anahtarları kullanabilirsiniz.
Özel bir anahtarla eşleşen sorunları arayabilirsiniz.
Konsolda belirli bir sorunu incelerken her etkinlik için ilişkili özel anahtarları görüntüleyebilir (Anahtarlar alt sekmesi) 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 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 olaylar hakkında daha fazla bilgi edinmek için uygulamanıza özel Crashlytics günlükleri ekleyebilirsiniz. Crashlytics, günlükleri kilitlenme verilerinizle ilişkilendirir ve bir sorunun ayrıntılarını görüntülediğinizde Günlükler sekmesinde gösterir (tüm sorunlarınızı Firebase Console'un DevOps ve Etkileşim > Crashlytics kontrol panelinde görebilirsiniz).
Crashlytics.Log(string message);
Kullanıcı kimliklerini 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 değeri kullanabilirsiniz. Değeri boş bir dizeye ayarlayarak da temizleyebilirsiniz. Bu değer, Firebase konsolunun DevOps ve Etkileşim > Crashlytics kontrol panelinde belirli bir kilitlenme görüntülenirken gösterilir.
Crashlytics.SetUserId(string identifier);
Breadcrumb günlüklerini alma
Breadcrumb kayıtları, bir kullanıcının kilitlenme, önemli olmayan hata veya ANR etkinliğine yol açan uygulama etkileşimlerini daha iyi anlamanızı sağlar. Bu günlükler, bir sorunu yeniden oluşturmaya ve hata ayıklamaya çalışırken faydalı olabilir.
Breadcrumb kayıtları Google Analytics tarafından desteklenir. Bu nedenle, breadcrumb kayıtlarını almak için Firebase projenizde Google Analytics'i etkinleştirmeniz ve uygulamanıza Google Analytics için Firebase SDK'sını eklemeniz gerekir. Bu koşullar karşılandıktan sonra, bir sorunun ayrıntılarını görüntülerken breadcrumb kayıtları Kayıtlar sekmesindeki etkinlik verilerine otomatik olarak dahil edilir (Tüm sorunlarınızı Firebase konsolunun DevOps ve Etkileşim > Crashlytics kontrol panelinde görebilirsiniz).
Analytics SDK'sı, screen_view etkinliğini otomatik olarak günlüğe kaydeder. Bu sayede breadcrumb kayıtları, kilitlenme, önemli olmayan hata veya ANR etkinliğinden önce görüntülenen ekranların listesini gösterebilir. screen_view breadcrumb kaydı, firebase_screen_class parametresi içeriyor.
Breadcrumb günlükleri, kullanıcının oturumu içinde manuel olarak günlüğe kaydettiğiniz tüm özel etkinliklerle (etkinliğin parametre verileri dahil) de doldurulur. Bu veriler, kilitlenme, önemli olmayan hata veya ANR etkinliğine yol açan bir dizi kullanıcı işlemini gösterebilir.
Breadcrumb kayıtlarını dolduran veriler de dahil olmak üzere Google Analytics verilerinin toplanmasını ve kullanılmasını kontrol edebileceğinizi unutmayın.
Etkinleştirme raporlamasını etkinleştirme
Crashlytics, uygulamanızın tüm kullanıcıları için kilitlenme raporlarını varsayılan olarak otomatik olarak toplar. Kullanıcılara, kilitlenme raporlarını göndermeyi etkinleştirme seçeneği sunarak gönderdikleri veriler üzerinde daha fazla kontrol sahibi olmalarını sağlayabilirsiniz.
Otomatik toplamayı yalnızca seçili 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 kalıcı olur. Böylece Crashlytics, ilgili kullanıcı için raporları otomatik olarak toplayabilir.
Crashlytics.IsCrashlyticsCollectionEnabled = true
Kullanıcı daha sonra veri toplamayı kapsamı dışında kalmayı seçerse geçersiz kılma değeri olarak false değerini iletebilirsiniz. Bu değer, kullanıcı uygulamayı bir sonraki başlatışında uygulanır ve kullanıcının sonraki tüm başlatma işlemlerinde geçerli olur.
Crash Insights verilerini yönetme
Crash Insights, anonimleştirilmiş yığın izlemelerinizi diğer Firebase uygulamalarından alınan izlemelerle karşılaştırarak ve sorununuzun daha büyük bir trendin parçası olup olmadığını size bildirerek sorunları çözmenize yardımcı olur. Crash Insights, birçok sorun için kilitlenmeyle ilgili hata ayıklamanıza yardımcı olacak kaynaklar da 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 konsolunun DevOps ve Etkileşim > Crashlytics kontrol panelindeki sorun listesinin üst kısmında bulunan Crash Insights menüsünden Crash Insights'ı devre dışı bırakabilirsiniz.
Sonraki adımlar
- Verilerinizi BigQuery veya Cloud Logging platformuna aktararak verilerinizi sorgulama, özel kontrol panelleri oluşturma ve özel uyarılar ayarlama gibi gelişmiş analiz ve özelliklerden yararlanın.