Buka konsol

Memigrasikan aplikasi Unity dari Fabric Crashlytics ke Firebase Crashlytics

unity [beta]

Panduan memulai ini menjelaskan cara memigrasikan aplikasi Fabric Crashlytics Unity yang ada ke Firebase Crashlytics, sehingga Anda dapat melihat semua laporan kerusakan di Firebase console.

Sebelum memulai

unity [beta]

Panduan berikut ini menganggap bahwa Anda memiliki aplikasi Unity yang berfungsi dengan Fabric. Jika Anda belum memiliki aplikasi Unity yang ada di Fabric, ikuti petunjuk Memulai untuk pengguna yang baru menggunakan Crashlytics.

unity [beta]

  1. Login ke Fabric, lalu buka alur migrasi.

  2. Periksa apakah kolom Login ke Google sebagai mencantumkan akun Google yang dikaitkan dengan project Firebase Anda. Jika tidak, klik Ganti akun untuk memilih akun yang benar.

  3. Klik Mulai, lalu klik Mulai Penautan.

  4. Tarik Aplikasi Fabric yang sesuai di sebelah kiri ke project Firebase yang tepat di sebelah kanan.

    Anda juga dapat membuat project Firebase baru.

  5. Klik Tautkan 1 aplikasi ke Firebase.

Langkah 2: Hapus Fabric

unity [beta]

Fabric menambahkan GameObject ke Scene Anda untuk menginisialisasi Crashlytics di dalam game Anda serta direktori tambahan untuk SDK itu sendiri.

Untuk memastikan tidak ada konflik antara plugin Fabric Crashlytics dan Firebase Crashlytics, hapus folder dan file Fabric berikut dari project Unity Anda:

  • Pada bagian Aset, hapus file-file berikut:

    Assets/
       Editor Default Resources/
           FabricSettings.asset     <- DELETE
       Fabric/                      <- DELETE
       Plugins/
           Android/
               answers/             <- DELETE
               beta/                <- DELETE
               crashlytics/         <- DELETE
               crashlytics-wrapper/ <- DELETE
               fabric/              <- DELETE
               fabric-init/         <- DELETE
           iOS/
               Fabric/              <- DELETE
    
  • Di Jendela Hierarki, hapus GameObjects berikut

    SampleScene
        Main Camera
        Directional Light
        Canvas
        EventSystem
        FabricInit                  <- DELETE
        CrashlyticsInit             <- DELETE
    
  • Hapus semua entri Fabric di Aset > Plugin > Android > AndroidManifest.xml.

    Misalnya, kunci yang diketahui untuk dihapus adalah: android:name="io.fabric.unity.android.FabricApplication"

    Telusuri dan hapus entri Fabric lainnya jika ada.

Langkah 3: Tambahkan file konfigurasi Firebase

unity [beta]

  1. Buka Firebase console.

  2. Di sudut kiri atas di samping Ringkasan Project, klik settings, lalu pilih Setelan Project

  3. Untuk aplikasi yang baru saja ditautkan, download file konfigurasi Firebase khusus platform Anda untuk setiap aplikasi yang Anda tautkan. Untuk satu project Unity, Anda dapat memiliki paling banyak dua file konfigurasi.

    • Untuk iOSGoogleService-Info.plist
    • Untuk Androidgoogle-services.json
  4. Di project Unity, buka jendela Project, lalu pindahkan file konfigurasi Anda ke folder Assets.

Langkah 4: Tambahkan Firebase Crashlytics SDK

unity [beta]

  1. Download Firebase Unity SDK, lalu buka kompresi SDK di tempat yang mudah diakses.

    Firebase Unity SDK tidak khusus platform.

  2. Pada project Unity yang terbuka, buka Aset > Impor Paket > Paket Kustom.

  3. Dari SDK yang telah dibuka kompresi zip-nya, 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 5: Inisialisasi Firebase Crashlytics

unity [beta]

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

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

    2. Klik Tambahkan Komponen di Inspektur untuk object baru.

    3. Pilih skrip CrashlyticsInit Anda untuk menambahkannya ke object 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;
    
                      // WARNING: Do not call Crashlytics APIs from asynchronous tasks;
                      // they are not currently supported.
    
                      // 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()
          // ...
      }

Setelah SDK ditambahkan dan diinisialisasi, Crashlytics akan otomatis mulai mendeteksi dan mengumpulkan laporan kerusakan.

Langkah 6: Ganti panggilan Fabric API

unity [beta]

Ada beberapa perubahan pada API yang harus Anda pertimbangkan. Untuk informasi lebih lanjut, lihat halaman perubahan Unity API.

Langkah 7: Tambahkan kunci Fabric API Anda

unity [beta]

Karena aplikasi Anda sudah dalam kondisi tertaut ke Fabric, Anda perlu memberikan Kunci Fabric API aplikasi ke Firebase. Ini memastikan transisi pelaporan kerusakan yang lancar ke Firebase Crashlytics dan memungkinkan Anda melihat semua data historis di dasbor Firebase Crashlytics.

  1. Di project Unity Anda, buka menu Firebase Crashlytics dengan memilih Jendela > Firebase > Crashlytics.

  2. Masukkan kunci Fabric API Anda pada bagian Kunci Fabric API.

  3. Klik Simpan.

Langkah 8: Buat project Anda

unity [beta]

Setelah mengekspor project ke iOS atau Android, pastikan bahwa project tersebut diekspor dengan benar.

Jika sepertinya ada file yang hilang setelah membandingkan project Anda dengan contoh konfigurasi ekspor di bawah ini, buka Unity Editor, kemudian jalankan Resolver Layanan Google Play.

iOS

Android

Menjalankan resolver (opsional)

Resolver Layanan Google Play memastikan bahwa project Unity Anda memiliki dependensi yang sesuai untuk mengekspor aplikasi Anda ke iOS atau Android.

Untuk informasi lebih lanjut tentang resolver, baca README untuk Unity Jar Resolver.

iOS

Resolver iOS berjalan secara otomatis dan memanfaatkan Cocoapods untuk menempatkan dependensi iOS di direktori Pods yang diekspor.

  • Untuk mendownload Cocoapods ke mesin Anda:

    • Buka Aset > Resolver Layanan Play > Resolver iOS > Instal Cocoapods
  • Untuk mengaktifkan atau menonaktifkan pembuatan podfiles (opsional):

    • Buka Aset > Resolver Layanan Play > Resolver iOS > Setelan

Android

Resolver Android berjalan secara otomatis dan memanfaatkan gradle untuk menempatkan dependensi Android di Assets/Plugins/Android.

  • Untuk menjalankan resolver secara manual:

    • Buka Aset > Resolver Layanan Play > Resolver Android > Selesaikan
  • Untuk mengaktifkan atau menonaktifkan resolusi otomatis (diaktifkan secara default):

    • Buka Aset > Resolver Layanan Play > Resolver Android > Setelan

Langkah berikutnya