Buka konsol

Perubahan Firebase Crashlytics API untuk Unity

Dengan dirilisnya Firebase Crashlytics untuk Unity, tim Firebase menghadirkan fungsionalitas yang menjadi andalan developer di Fabric ke Firebase. Langkah ini memberikan peluang untuk membuat beberapa perubahan kecil guna memastikan bahwa Firebase Crashlytics API lebih intuitif dan sesuai untuk developer.

Developer yang telah menggunakan Fabric Crashlytics SDK mungkin perlu membuat beberapa perubahan kecil pada kode mereka saat mengupgrade ke Firebase Crashlytics. Panduan ini memberikan detail mengenai perubahan spesifik pada API, alasan perubahan, dan saran bermanfaat saat solusi diperlukan.

Fabric.Crashlytics sekarang menjadi Firebase.Crashlytics

Kami telah mengubah namespace kami dari Fabric menjadi Firebase.

Fabric

using Fabric.Crashlytics;

Firebase

using Firebase.Crashlytics;

RecordCustomException sekarang menjadi LogException

Catat pengecualian tidak fatal kustom yang terbaca dan ditangani.

Fabric

Crashlytics.RecordCustomException(string name, string reason, StackTrace stackTrace);
Crashlytics.RecordCustomException(string name, string reason, string stackTraceString);

Firebase

Crashlytics.LogException(Exception ex);

Alasan perubahan

Fungsi ini paling sering digunakan untuk mencatat instance Exception. Bukannya mengharuskan Anda mengekstrak "name", "reason", dan "stackTrace" secara manual (yang menghasilkan kode berlebihan), Anda sekarang dapat memberikan instance Exception dan Firebase Crashlytics akan mengekstrak informasi yang dibutuhkan.

Solusi

Jika Anda memanfaatkan parameter ini dengan cara selain mengambil informasi langsung dari pengecualian, Anda masih bisa menyelesaikan perilaku sebelumnya dengan membuat subclass Exception Anda sendiri dengan metadata kustom dalam deskripsinya.

SetKeyValue sekarang menjadi SetCustomKey

Siapkan key-value pair untuk dikirim bersama laporan kerusakan Anda. Menyetel ulang kunci yang sama akan memperbarui nilai ini.

Fabric

Crashlytics.SetKeyValue(string key, string value);

Firebase

Crashlytics.SetCustomKey(string key, string value);

Alasan perubahan

Metode ini diganti namanya agar perilakunya lebih mudah dipahami dan agar lebih konsisten dengan Firebase API lainnya.

SetUserIdentifier sekarang menjadi SetUserId

Siapkan ID pengguna untuk membantu memahami pengguna mana yang mengalami error.

Fabric

Crashlytics.SetUserIdentifier(string identifier);

Firebase

Crashlytics.SetUserId(string identifier);

Alasan perubahan

Metode ini diganti namanya agar lebih konsisten dengan Firebase API lainnya. Sebagai bonus, namanya lebih pendek; siapa yang tidak suka mengurangi jumlah ketukan tombol?

SetUserEmail dan SetUserName dihapus

Sebelumnya, Anda diperbolehkan menetapkan nama atau email yang terkait dengan error menggunakan metode eksplisit. Nama atau email ini tidak akan lagi ditetapkan secara eksplisit.

Fabric

Crashlytics.SetUserEmail(string email);
Crashlytics.SetUserName(string name);

Alasan perubahan

Google berusaha melindungi data pelanggan dan, sebagai bagian dari upaya tersebut, merancang API yang melakukan hal yang sama untuk pembuatan fitur developer. API khusus pengguna ini telah dihapus untuk mendorong penggunaan metode yang dihasilkan dan bukan pengidentifikasi pribadi untuk membedakan pengguna mana yang terpengaruh oleh error.

Solusi

Untuk menentukan pengguna mana yang mengalami error, metode yang disukai adalah menggunakan SetUserId. Namun, jika ini bukan solusi yang dapat dipertahankan, fungsi yang sama dapat dicapai menggunakan SetCustomKey.

Error dan ThrowNonFatal dihapus

Sebelumnya, Crashlytics menyediakan dua metode utilitas untuk memunculkan pengecualian untuk tujuan pengujian. Kedua metode utilitas ini tidak akan dicakup dalam Firebase Crashlytics.

Fabric

Crashlytics.Crash();
Crashlytics.ThrowNonFatal();

Alasan perubahan

Crashlytics untuk Unity dijalankan di banyak lingkungan berbeda, dan berbagai jenis error dapat terjadi. Kedua metode ini tidak secara jelas menentukan apakah error terjadi di C# atau di SDK asli khusus platform yang mendasarinya.

Solusi