Panduan memulai ini menjelaskan cara menyiapkan Firebase Crashlytics di aplikasi Anda dengan Firebase Crashlytics SDK sehingga Anda bisa mendapatkan laporan kerusakan yang komprehensif di konsol Firebase.
Menyiapkan Crashlytics memerlukan tugas di Firebase console dan IDE Anda (seperti menambahkan file konfigurasi Firebase dan Crashlytics SDK). Untuk menyelesaikan penyiapan, Anda harus memaksakan pengujian kerusakan untuk mengirimkan laporan kerusakan pertama Anda ke Firebase.
Sebelum kamu memulai
Jika Anda belum melakukannya, tambahkan Firebase ke proyek Unity Anda. Jika Anda tidak memiliki proyek Unity, Anda dapat mengunduh contoh aplikasi .
Direkomendasikan : Untuk mendapatkan fitur seperti crash-free users, breadcrumb logs, dan velocity alerts, Anda perlu mengaktifkan Google Analytics di project Firebase Anda.
Jika proyek Firebase Anda yang ada tidak mengaktifkan Google Analytics, Anda dapat mengaktifkan Google Analytics dari tab Integrasi di Anda > Setelan proyek di konsol Firebase.
Jika Anda membuat proyek Firebase baru, aktifkan Google Analytics selama alur kerja pembuatan proyek.
Langkah 1 : Tambahkan Crashlytics SDK ke aplikasi Anda
Perhatikan bahwa ketika Anda mendaftarkan proyek Unity dengan proyek Firebase, Anda mungkin sudah mengunduh Firebase Unity SDK dan menambahkan paket Crashlytics.
Unduh Firebase Unity SDK , lalu unzip SDK di tempat yang nyaman.
Firebase Unity SDK tidak khusus platform.
Di proyek Unity Anda yang terbuka, navigasikan ke Assets > Import Package > Custom Package .
Dari SDK yang telah dibuka zipnya, pilih untuk mengimpor Crashlytics SDK (
FirebaseCrashlytics.unitypackage
).Anda juga dapat mengimpor produk Firebase lain yang didukung .
Di jendela Import Unity Package , klik Import .
Langkah 2 : Inisialisasi Crashlytics
Buat skrip C# baru, lalu tambahkan ke
GameObject
di tempat kejadian.Buka adegan pertama Anda, lalu buat
GameObject
kosong bernamaCrashlyticsInitializer
.Klik Tambahkan Komponen di Inspektur untuk objek baru.
Pilih skrip
CrashlyticsInit
Anda untuk menambahkannya ke objekCrashlyticsInitializer
.
Inisialisasi Crashlytics dalam metode
Start
skrip:using System.Collections; using System.Collections.Generic; using UnityEngine; // Import Firebase and Crashlytics using Firebase; using Firebase.Crashlytics; public class CrashlyticsInit : MonoBehaviour { // Use this for initialization void Start () { // Initialize Firebase Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => { var dependencyStatus = task.Result; if (dependencyStatus == Firebase.DependencyStatus.Available) { // Create and hold a reference to your FirebaseApp, // where app is a Firebase.FirebaseApp property of your application class. // Crashlytics will use the DefaultInstance, as well; // this ensures that Crashlytics is initialized. Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance; // When this property is set to true, Crashlytics will report all // uncaught exceptions as fatal events. This is the recommended behavior. Crashlytics.ReportUncaughtExceptionsAsFatal = true; // Set a flag here for indicating that your project is ready to use Firebase. } else { UnityEngine.Debug.LogError(System.String.Format( "Could not resolve all Firebase dependencies: {0}",dependencyStatus)); // Firebase Unity SDK is not safe to use here. } }); } // Update is called once per frame void Update() // ... }
Langkah 3 : (khusus Android) Siapkan untuk mengunggah simbol
Langkah ini hanya diperlukan untuk aplikasi Android yang menggunakan IL2CPP.
Untuk aplikasi Android yang menggunakan backend skrip Mono Unity, langkah-langkah ini tidak diperlukan.
Untuk aplikasi platform Apple, langkah-langkah ini tidak diperlukan karena plugin Firebase Unity Editor secara otomatis mengonfigurasi proyek Xcode Anda untuk mengunggah simbol.
Unity SDK 8.6.1+ Crashlytics secara otomatis menyertakan pelaporan kerusakan NDK, yang memungkinkan Crashlytics melaporkan kerusakan Unity IL2CPP secara otomatis di Android. Namun, untuk melihat pelacakan tumpukan yang disimbolkan untuk error library native di dasbor Crashlytics, Anda harus mengupload informasi simbol pada waktu build menggunakan Firebase CLI.
Untuk menyiapkan upload simbol, ikuti petunjuk untuk menginstal Firebase CLI .
Jika Anda telah menginstal CLI, pastikan untuk mengupdate ke versi terbarunya .
Langkah 4 : Bangun proyek Anda dan unggah simbol
iOS+ (platform Apple)
Dari dialog Build Settings , ekspor proyek Anda ke ruang kerja Xcode.
Bangun aplikasi Anda.
Untuk platform Apple, plugin Firebase Unity Editor mengonfigurasi proyek Xcode Anda secara otomatis untuk membuat dan mengunggah file simbol yang kompatibel dengan Crashlytics ke server Firebase untuk setiap build.
Android
Dari dialog Build Settings , lakukan salah satu hal berikut:
Ekspor ke proyek Android Studio untuk membangun proyek Anda; atau
Bangun APK Anda langsung dari Unity Editor.
Sebelum membuat, pastikan kotak centang untuk Buat simbol.zip dicentang di dialog Pengaturan Bangun .
Setelah build Anda selesai, buat file simbol yang kompatibel dengan Crashlytics dan upload ke server Firebase dengan menjalankan perintah Firebase CLI berikut:
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
FIREBASE_APP_ID : ID Aplikasi Android Firebase Anda (bukan nama paket Anda)
Contoh ID Aplikasi Android Firebase:1:567383003300:android:17104a2ced0c9b9b
Berikut adalah dua cara untuk menemukan ID Aplikasi Firebase Anda:
Di file
google-services.json
Anda, ID Aplikasi Anda adalah nilaimobilesdk_app_id
; atauDi konsol Firebase, buka setelan Proyek Anda. Scroll ke bawah ke kartu Aplikasi Anda , lalu klik Aplikasi Firebase yang diinginkan untuk menemukan ID Aplikasinya.
PATH/TO/SYMBOLS : Jalur ke file simbol yang dihasilkan oleh CLI
Diekspor ke proyek Android Studio — PATH/TO/SYMBOLS SYMBOLS adalah direktori
unityLibrary/symbols
, yang dibuat di akar proyek yang diekspor setelah Anda membuat aplikasi melalui Gradle atau Android Studio.Membangun APK langsung dari dalam Unity — PATH/TO/SYMBOLS adalah jalur file simbol yang di-zip yang dihasilkan di direktori akar proyek saat pembangunan Anda selesai (misalnya:
myproject/myapp-1.0-v100.symbols.zip
).
Lihat opsi lanjutan untuk menggunakan perintah Firebase CLI untuk membuat dan mengunggah file simbol
Bendera Keterangan --generator=csym
Menggunakan generator file simbol cSYM lama alih-alih generator Breakpad default
Tidak disarankan untuk digunakan. Kami merekomendasikan penggunaan generator file simbol Breakpad default.
--generator=breakpad
Menggunakan generator file simbol Breakpad
Perhatikan bahwa default untuk pembuatan file simbol adalah Breakpad. Hanya gunakan flag ini jika Anda telah menambahkan
symbolGenerator { csym() }
dalam konfigurasi build dan ingin menggantinya untuk menggunakan Breakpad.--dry-run
Menghasilkan file simbol tetapi tidak mengunggahnya
Bendera ini berguna jika Anda ingin memeriksa isi file yang dikirimkan.
--debug
Memberikan informasi debug tambahan
Langkah 5 : Paksa uji crash untuk menyelesaikan penyiapan
Untuk menyelesaikan penyiapan Crashlytics dan melihat data awal di dasbor Crashlytics di Firebase console, Anda perlu memaksakan pengujian error.
Temukan
GameObject
yang ada, lalu tambahkan skrip berikut ke dalamnya. Skrip ini akan menyebabkan pengujian mogok beberapa detik setelah Anda menjalankan aplikasi.using System; using UnityEngine; public class CrashlyticsTester : MonoBehaviour { int updatesBeforeException; // Use this for initialization void Start () { updatesBeforeException = 0; } // Update is called once per frame void Update() { // Call the exception-throwing method here so that it's run // every frame update throwExceptionEvery60Updates(); } // A method that tests your Crashlytics implementation by throwing an // exception every 60 frame updates. You should see reports in the // Firebase console a few minutes after running your app with this method. void throwExceptionEvery60Updates() { if (updatesBeforeException > 0) { updatesBeforeException--; } else { // Set the counter to 60 updates updatesBeforeException = 60; // Throw an exception to test your Crashlytics implementation throw new System.Exception("test exception please ignore"); } } }
Build aplikasi Anda dan upload informasi simbol setelah build Anda selesai.
iOS+ : Plugin Firebase Unity Editor secara otomatis mengonfigurasi proyek Xcode Anda untuk mengunggah file simbol Anda.
Android : Untuk aplikasi Android Anda yang menggunakan IL2CPP, jalankan perintah Firebase CLI
crashlytics:symbols:upload
untuk mengunggah file simbol Anda.
Jalankan aplikasi Anda. Setelah aplikasi Anda berjalan, perhatikan log perangkat dan tunggu pengecualian dipicu dari
CrashlyticsTester
.iOS+ : Lihat log di panel bawah Xcode.
Android : Lihat log dengan menjalankan perintah berikut di terminal:
adb logcat
.
Buka dasbor Crashlytics di Firebase console untuk melihat error pengujian Anda.
Jika Anda telah me-refresh konsol dan Anda masih belum melihat pengujian error setelah lima menit, aktifkan logging debug untuk melihat apakah aplikasi Anda mengirim laporan kerusakan.
Dan itu saja! Crashlytics sekarang memantau aplikasi Anda untuk error. Kunjungi dasbor Crashlytics untuk melihat dan menyelidiki semua laporan dan statistik Anda.
Langkah selanjutnya
- Sesuaikan penyiapan laporan kerusakan Anda dengan menambahkan pelaporan keikutsertaan, log, kunci, dan pelacakan kesalahan non-fatal.
- Integrasikan dengan Google Play sehingga Anda dapat memfilter laporan kerusakan aplikasi Android Anda melalui jalur Google Play langsung di dasbor Crashlytics. Ini memungkinkan Anda untuk lebih memfokuskan dasbor Anda pada build tertentu.