Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Memulai Firebase Crashlytics

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Panduan memulai ini menjelaskan cara menyiapkan Firebase Crashlytics di aplikasi Anda dengan Firebase Crashlytics SDK sehingga Anda bisa mendapatkan laporan kerusakan yang komprehensif di Firebase console.

Menyiapkan Crashlytics memerlukan tugas di Firebase console dan IDE Anda (seperti menambahkan file konfigurasi Firebase dan Crashlytics SDK). Untuk menyelesaikan penyiapan, Anda harus memaksa uji kerusakan untuk mengirim laporan kerusakan pertama Anda ke Firebase.

Sebelum kamu memulai

  1. Jika Anda belum melakukannya, tambahkan Firebase ke proyek Unity Anda. Jika Anda tidak memiliki proyek Unity, Anda dapat mengunduh aplikasi sampel .

  2. Direkomendasikan : Untuk mendapatkan fitur seperti pengguna bebas error, log remah roti, dan peringatan kecepatan, Anda harus mengaktifkan Google Analytics di proyek Firebase Anda.

    • Jika proyek Firebase yang ada tidak mengaktifkan Google Analytics, Anda dapat mengaktifkan Google Analytics dari tab Integrasi di > 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 saat mendaftarkan proyek Unity dengan proyek Firebase, Anda mungkin telah mengunduh Firebase Unity SDK dan menambahkan paket Crashlytics.

  1. Unduh Firebase Unity SDK , lalu unzip SDK di tempat yang nyaman.

    Firebase Unity SDK tidak spesifik untuk platform.

  2. Di proyek Unity terbuka Anda, navigasikan ke Assets > Import Package > Custom Package .

  3. Dari SDK yang tidak di-zip, pilih untuk mengimpor Crashlytics SDK ( FirebaseCrashlytics.unitypackage ).

    Anda juga dapat mengimpor produk Firebase lain yang didukung .

  4. Di jendela Impor Paket Persatuan , klik Impor .

Langkah 2 : Inisialisasi Crashlytics

  1. Buat skrip C# baru, lalu tambahkan ke GameObject di tempat kejadian.

    1. Buka adegan pertama Anda, lalu buat GameObject kosong bernama CrashlyticsInitializer .

    2. Klik Tambahkan Komponen di Inspektur untuk objek baru.

    3. Pilih skrip CrashlyticsInit Anda untuk menambahkannya ke objek CrashlyticsInitializer .

  2. Inisialisasi Crashlytics dalam metode Start skrip:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    // Import Firebase
    using Firebase;
    
    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;
    
                    // 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 pengunggahan simbol

Langkah-langkah di bagian 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 kerusakan pustaka asli di dasbor Crashlytics, Anda harus mengunggah informasi simbol pada waktu pembuatan menggunakan Firebase CLI.

Selesaikan langkah-langkah berikut untuk menyiapkan pengunggahan simbol:

  1. Ikuti petunjuk untuk menginstal Firebase CLI .

    Jika Anda sudah menginstal CLI, pastikan untuk memperbarui ke versi terbarunya .

  2. (hanya untuk aplikasi yang menggunakan Android API level 30+) Perbarui template AndroidManifest.xml aplikasi Anda untuk menonaktifkan Pemberian Tanda Penunjuk:

    1. Centang kotak untuk Android Player Settings > Publishing Settings > Build > Custom Main Manifest .

    2. Buka template manifes yang terletak di Assets/Plugins/Android/AndroidManifest.xml .

    3. Tambahkan atribut berikut ke tag aplikasi: <application android:allowNativeHeapPointerTagging="false" ... />

Langkah 4 : Bangun proyek Anda dan unggah simbol

iOS+ (platform Apple)

  1. Dari dialog Pengaturan Bangun , ekspor proyek Anda ke ruang kerja Xcode.

  2. Bangun aplikasi Anda.

    Untuk platform Apple, plugin Firebase Unity Editor secara otomatis mengonfigurasi proyek Xcode Anda untuk membuat dan mengunggah file simbol yang kompatibel dengan Crashlytics ke server Firebase untuk setiap build.

Android

  1. Dari dialog Pengaturan Bangun , lakukan salah satu hal berikut:

    • Ekspor ke proyek Android Studio untuk membangun proyek Anda; atau

    • Bangun APK Anda langsung dari Unity Editor.
      Sebelum membangun, pastikan kotak centang untuk Buat simbol.zip dicentang dalam dialog Pengaturan Bangun .

  2. Setelah build Anda selesai, buat file simbol yang kompatibel dengan Crashlytics dan unggah 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

    • 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 root proyek yang diekspor setelah Anda membangun aplikasi melalui Gradle atau Android Studio.

      • Membuat APK langsung dari dalam Unity — PATH/TO/SYMBOLS adalah jalur file simbol zip yang dihasilkan di direktori root proyek saat build Anda selesai (misalnya: myproject/myapp-1.0-v100.symbols.zip ).

    Lihat opsi lanjutan untuk menggunakan perintah Firebase CLI untuk pembuatan dan pengunggahan file simbol

    Bendera Keterangan
    --generator=csym

    Menggunakan generator file simbol cSYM lama alih-alih generator Breakpad default

    Tidak disarankan untuk digunakan. Kami merekomendasikan menggunakan 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 Anda dan Anda ingin menimpanya untuk menggunakan Breakpad sebagai gantinya.

    --dry-run

    Menghasilkan file simbol tetapi tidak mengunggahnya

    Bendera ini berguna jika Anda ingin memeriksa isi file yang dikirim.

    --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 memaksa pengujian crash.

  1. Temukan GameObject yang ada, lalu tambahkan skrip berikut ke dalamnya. Skrip ini akan menyebabkan crash pengujian beberapa detik setelah Anda menjalankan aplikasi Anda.

    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 non-fatal errors 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");
            }
        }
    }
    
  2. Bangun aplikasi Anda dan unggah informasi simbol setelah pembangunan 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.

  3. Jalankan aplikasi Anda. Setelah aplikasi Anda berjalan, perhatikan log perangkat dan tunggu hingga pengecualian dipicu dari CrashlyticsTester .

    • iOS+ : Lihat log di panel bawah Xcode.

    • Android : Lihat log dengan menjalankan perintah berikut di terminal: adb logcat .

  4. Saat Anda melihat pengecualian di log perangkat, mulai ulang aplikasi Anda agar dapat mengirim laporan kerusakan ke Firebase.

  5. Buka dasbor Crashlytics di Firebase console untuk melihat kerusakan pengujian Anda.

    Jika Anda telah me-refresh konsol dan Anda masih tidak melihat error pengujian setelah lima menit, aktifkan debug logging untuk melihat apakah aplikasi Anda mengirimkan laporan kerusakan.


Dan itu saja! Crashlytics sekarang memantau aplikasi Anda dari kerusakan. Kunjungi dasbor Crashlytics untuk melihat dan menyelidiki semua laporan dan statistik Anda.

Langkah selanjutnya

  • Integrasikan dengan Google Play sehingga Anda dapat memfilter laporan kerusakan aplikasi Android menurut trek Google Play langsung di dasbor Crashlytics. Ini memungkinkan Anda untuk lebih memfokuskan dasbor Anda pada build tertentu.