Crashlytics kontrol panelinde bir sorunu tıklayıp ayrıntılı bilgi edinebilirsiniz 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ızdan özel anahtarları özel günlük mesajları ve kullanıcı tanımlayıcıları.
İstisnaları Crashlytics kullanıcısına bildirin.
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, Varsayılan ayar olan Crashlytics, tüm kilitlenme raporlarını otomatik olarak toplar. kullanıcılara ulaşabiliyoruz.
Ö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, Firebase konsolunda kilitlenme raporlarını aramak ve filtrelemek için özel anahtarları kullanın.
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.
Anahtar/değer çiftlerini ayarlamak için setCustomKey
örnek yöntemini kullanın. Lütfen
setCustomKey
, tüm temel öğeleri kabul etmek için value
parametresi için aşırı yüklendi
veya String
bağımsız değişkeni kullanın. Aşağıda bazı örnekler verilmiştir:
Kotlin+KTX
val crashlytics = Firebase.crashlytics crashlytics.setCustomKeys { key("my_string_key", "foo") // String value key("my_bool_key", true) // boolean value key("my_double_key", 1.0) // double value key("my_float_key", 1.0f) // float value key("my_int_key", 1) // int value }
Java
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance(); crashlytics.setCustomKey("my_string_key", "foo" /* string value */); crashlytics.setCustomKey("my_bool_key", true /* boolean value */); crashlytics.setCustomKey("my_double_key", 1.0 /* double value */); crashlytics.setCustomKey("my_float_key", 1.0f /* float value */); crashlytics.setCustomKey("my_int_key", 1 /* int value */);
Mevcut bir anahtarın değerini, anahtarı ve ayarı çağırarak da değiştirebilirsiniz farklı bir değere ayarlayabilirsiniz. Örneğin:
Kotlin+KTX
val crashlytics = Firebase.crashlytics crashlytics.setCustomKeys { key("current_level", 3) key("last_UI_action", "logged_in") }
Java
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance(); crashlytics.setCustomKey("current_level", 3); crashlytics.setCustomKey("last_UI_action", "logged_in");
CustomKeysAndValues
öğesinin bir örneğini ileterek anahtar/değer çiftlerini toplu olarak ekleyin
setCustomKeys
örnek yöntemi:
Kotlin+KTX
Kotlin'deki mevcut işlevsellik,
CustomKeysAndValues
oluşturucu.
crashlytics.setCustomKeys { key("str_key", "hello") key("bool_key", true) key("int_key", 1) key("long_key", 1L) key("float_key", 1.0f) key("double_key", 1.0) }
Java
CustomKeysAndValues keysAndValues = new CustomKeysAndValues.Builder() .putString("string key", "string value") .putString("string key 2", "string value 2") .putBoolean("boolean key", True) .putBoolean("boolean key 2", False) .putFloat("float key", 1.01) .putFloat("float key 2", 2.02) .build(); FirebaseCrashlytics.getInstance().setCustomKeys(keysAndValues);
Özel günlük mesajları ekleyin
Bir kilitlenmeye yol açan etkinliklerle ilgili daha fazla bağlam bilgisi sağlamak için özel Crashlytics günlüklerini kullanabilirsiniz. Crashlytics, günlükleri ilişkilendirir bu verileri kilitlenmenizi sağlar ve uygulamanın Crashlytics sayfasında Firebase konsolunda, Günlükler sekmesi altında.
Sorunları belirlemeye yardımcı olması için log
kullanın. Örneğin:
Kotlin+KTX
Firebase.crashlytics.log("message")
Java
FirebaseCrashlytics.getInstance().log("message");
Kullanıcı tanımlayıcılarını ayarlama
Bir sorunu teşhis etmek için, hangi kullanıcılarınızın sorunla karşılaştığını bilmek genellikle yararlıdır en iyi yöntemin ne olduğunu öğreneceğiz. Crashlytics, kullanıcıların kimliğini anonim olarak belirlemenin bir yolunu içerir. kilitlenme raporları gösterilmektedir.
Raporlarınıza kullanıcı kimlikleri eklemek için bir kimlik numarası, jeton veya karma oluşturma işlemi uygulanmış değer biçimi:
Kotlin+KTX
Firebase.crashlytics.setUserId("user123456789")
Java
FirebaseCrashlytics.getInstance().setUserId("user123456789");
Bir kullanıcı tanımlayıcısını ayarladıktan sonra onu temizlemeniz gerekirse değeri şu şekilde sıfırlayın: boş bir dize. Bir kullanıcı tanımlayıcısı temizlendiğinde mevcut tanımlayıcılar Crashlytics kayıtları. Bir kullanıcıyla ilişkili kayıtları silmeniz gerekiyorsa Kimliği, Firebase destek ekibiyle iletişime geçin.
(Yalnızca Android NDK) NDK kilitlenme raporlarına meta veri ekleme
İsteğe bağlı olarak, crashlytics.h
üstbilgisini isteğe bağlı olarak C++ kodunuza dahil ederek
özel anahtarlar gibi meta verileri NDK kilitlenme raporlarına göndermek,
özel günlüklerin
kullanıcı tanımlayıcıları. Tüm bu seçeneklerin açıklamaları
bu sayfanın üst kısmına bakın.
crashlytics.h
, şurada yalnızca başlıktan oluşan bir C++ kitaplığı olarak kullanılabilir:
Firebase Android SDK'sı GitHub Deposu.
NDK C++ API'lerinin kullanımıyla ilgili talimatlar için başlık dosyasındaki yorumları okuyun.
Bellek bozulması sorunlarında hata ayıklamak için GWP-ASan raporlarını dahil etme
Crashlytics, yerel bellek hatalarının neden olduğu kilitlenmelerde hata ayıklamanıza yardımcı olabilir: GWP-ASan raporlarını toplama. Bellekle ilgili bu hatalar, uygulamanızdaki bellek bozulması. Bu, uygulama güvenliğinin başlıca nedenidir. güvenlik açıkları.
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.
Aşağıdaki koşulları karşılıyorsanız GWP-ASan bellek raporlarını alabilirsiniz: GWP-ASan'ı açık bir şekilde etkinleştirme uygulamanızda ve NDK v18.3.6+ için Crashlytics SDK'sını (Firebase BoM sürüm 31.3.0+). GWP-ASan kurulumunuzu Android dokümanlarında örnek yerel kod.
Önemli olmayan istisnaları bildirin
Crashlytics, uygulamanızın kilitlenmelerini otomatik olarak bildirmenin yanı sıra, önemli olmayan istisnaları kaydedersiniz ve uygulamanız bir dahaki sefere bu istisnaları size gönderir lansman sonrasında gerçekleşebilir.
recordException
yöntemini kullanarak önemli olmayan istisnaları uygulamanızın
catch
blok. Örneğin:
Kotlin+KTX
try { methodThatThrows() } catch (e: Exception) { Firebase.crashlytics.recordException(e) // handle your exception here }
Java
try { methodThatThrows(); } catch (Exception e) { FirebaseCrashlytics.getInstance().recordException(e); // handle your exception here }
Kaydedilen tüm istisnalar, Firebase konsolunda önemli olmayan sorunlar olarak görünür. Sorun özeti, normalde aldığınız tüm durum bilgilerini içerir. kilitlenmeleri de görebilirsiniz.
Crashlytics, özel bir arka plan ileti dizisinde istisnaları şu amaçlarla işler: uygulamanız üzerindeki performans etkisini en aza indirmenize yardımcı olur. Kullanıcılarınızın ağını azaltmak için trafiğinde, Crashlytics günlüğe kaydedilen istisnaları bir araya getirir ve onlara tekrar kontrol edin.
İç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 sekmesinde 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 edebilir, Bu işlem, içerik haritası günlüklerini dolduran verileri içerir.
Kayıt raporlamayı etkinleştir
Varsayılan olarak Crashlytics, tüm mobil 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 aşağıdakileri etkinleştirebilirsiniz: otomatik raporlamayı devre dışı bırakarak ve yalnızca Crashlytics:
AndroidManifest.xml
dosyanızınapplication
bloğuna otomatik toplamayı devre dışı bırakmak için birmeta-data
etiketi:<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />
Crashlytics verilerini çağırarak belirli kullanıcılar için veri toplamayı etkinleştirin koleksiyonu geçersiz kılmanın zamanı geldi. Geçersiz kılma değeri, başlatmalar arasında aynı kalır Crashlytics adlı kullanıcının raporları otomatik olarak toplayabilmesi için uygulamanızın etkinleştirilmesi gerekir. Devre dışı bırakmak için için geçersiz kılma değeri olarak
false
değerini iletin. Ayarlandığındafalse
değerine ayarlanırsa yeni değer, uygulamanın bir sonraki çalıştırılmasına kadar geçerli olmaz.Kotlin+KTX
Firebase.crashlytics.setCrashlyticsCollectionEnabled(true)
Java
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(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 bulabilirsiniz.