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 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

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

  2. 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.

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

    Firebase Unity SDK tidak khusus platform.

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

  3. Dari SDK yang telah dibuka zipnya, pilih untuk mengimpor Crashlytics SDK ( FirebaseCrashlytics.unitypackage ).

    Anda juga dapat mengimpor produk Firebase lain yang didukung .

  4. Di jendela Import Unity Package , klik Import .

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 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)

  1. Dari dialog Build Settings , ekspor proyek Anda ke ruang kerja Xcode.

  2. 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

  1. 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 .

  2. 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

    • 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.

  1. 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 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. 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.

  3. 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 .

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

  5. 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

  • 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.