Buka konsol

Menambahkan Firebase ke project Unityplat_iosplat_androidplat_unity

Tingkatkan game Unity Anda dengan Firebase Unity SDK.

Untuk menunjukkan betapa mudahnya memasang Firebase ke dalam project Unity, kami membuat contoh game, MechaHamster, yang dapat didownload dari Github, App Store, dan Google Play Store.

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster (Play Store)


Cari tahu informasi lebih lanjut tentang cara menyempurnakan game Anda dengan Firebase di halaman game Firebase kami.

Langkah 1: Siapkan lingkungan Anda

  • Instal Unity 5.3 atau yang lebih baru.

  • (Khusus iOS) Pastikan Anda memiliki akses ke kedua hal berikut:

    • Xcode 9.4.1 atau yang lebih baru
    • CocoaPods 1.4.0 atau yang lebih baru
  • Pastikan bahwa project Unity Anda menargetkan tingkat OS yang sesuai:

    • Untuk iOS — menargetkan iOS 8 atau yang lebih baru
    • Untuk Android — menargetkan API level 16 (Jelly Bean) atau yang lebih baru
  • Siapkan perangkat atau emulator untuk menjalankan project Unity Anda.

    • Untuk iOS - Untuk Firebase Cloud Messaging, Anda akan memerlukan:

      • Perangkat iOS fisik
      • Sertifikat APN dengan Notifikasi Push aktif
    • Untuk AndroidEmulator harus menggunakan image emulator dengan Google Play.

  • Login ke Firebase menggunakan akun Google Anda.

Jika belum memiliki project Unity, Anda dapat mendownload salah satu contoh quickstart kami jika Anda hanya ingin mencoba produk Firebase.

Langkah 2: Buat project Firebase

Agar dapat menambahkan Firebase ke project Unity, Anda perlu membuat project Firebase untuk terhubung ke project Unity. Buka bagian Memahami Project Firebase untuk mempelajari lebih lanjut project Firebase.

Langkah 3: Daftarkan aplikasi Anda ke Firebase

Anda dapat mendaftarkan satu atau beberapa aplikasi atau game untuk dihubungkan dengan project Firebase Anda.

  1. Di tengah halaman ringkasan project Firebase console, klik ikon Unity untuk meluncurkan alur kerja penyiapan.

    Jika Anda sudah menambahkan aplikasi ke project Firebase, klik Tambahkan aplikasi untuk menampilkan opsi platform.

  2. Pilih target built dari project Unity Anda yang ingin didaftarkan, atau Anda bahkan dapat memilih untuk mendaftarkan kedua target sekarang.

  3. Masukkan ID khusus platform project Unity Anda.

    1. Buka project Unity Anda di Unity IDE.

    2. Buka Build Settings > iOS atau Android > Player Settings > Other Settings.

      ID project Unity adalah nilai ID Paket. (contoh ID: com.yourcompany.unity-project-name)

    3. Masukkan setiap ID khusus platform di kolom yang sesuai:

      • Untuk iOS — Masukkan ID iOS project Unity Anda di kolom ID paket iOS.

      • Untuk Android — Masukkan ID Android project Unity Anda di kolom nama paket Android.

        • Istilah nama paket dan ID aplikasi sering kali digunakan secara bergantian.
  4. (Opsional) Masukkan nama pengguna khusus platform project Unity Anda.

    Nama pengguna ini bersifat internal, ID yang memudahkan dan hanya dapat dilihat oleh Anda di Firebase console.

  5. Klik Daftarkan aplikasi.

Langkah 4 : Tambahkan file konfigurasi Firebase

  1. Dapatkan file konfigurasi Firebase khusus platform Anda di alur kerja penyiapan Firebase console.

  2. Buka jendela Project untuk project Unity Anda, lalu pindahkan file konfigurasi ke folder Assets.

    • Sebelum memindahkan file konfigurasi, pastikan file konfigurasi tidak ditambahkan dengan karakter tambahan, seperti (2).
    • Anda dapat meletakkan file konfigurasi Firebase di mana saja dalam folder Assets.
  3. Kembali ke Firebase console, di alur kerja penyiapan, klik Berikutnya.

Langkah 5 : Tambahkan Firebase Unity SDK

Langkah-langkah di bagian ini berfungsi sebagai contoh cara menambahkan produk Firebase yang didukung ke project Unity Anda. Dalam contoh ini, kita akan membahas cara menambahkan Google Analytics for Firebase.

  1. Di Firebase console, klik Download Firebase Unity SDK, lalu buka kompresi zip SDK di tempat yang mudah dijangkau.

    • Anda dapat mendownload Firebase Unity SDK lagi kapan saja.

    • Firebase Unity SDK tidak khusus platform.

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

  3. Dari SDK yang telah dibuka kompresi zip-nya, pilih untuk mengimpor Analytics SDK (FirebaseAnalytics.unitypackage).

    Anda juga dapat mengimpor produk Firebase lain yang didukung.

  4. Di jendela Impor Paket Unity, klik Impor.

  5. Kembali ke Firebase console, di alur kerja penyiapan, klik Berikutnya.

Langkah 6: Konfirmasi persyaratan versi layanan Google Play

Firebase Unity SDK untuk Android memerlukan layanan Google Play, yang harus merupakan yang terbaru sebelum SDK dapat digunakan.

Tambahkan kode berikut di awal aplikasi Anda. Anda dapat memeriksa dan mengupdate layanan Google Play secara opsional ke versi yang diperlukan oleh Firebase Unity SDK sebelum memanggil metode lain di SDK.

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.
    //   app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

Anda sudah siap! Project Unity Anda sudah terdaftar dan dikonfigurasi untuk menggunakan Firebase.

Masalah umum

Kompatibilitas .NET saat menggunakan Unity 2017.x dan yang lebih baru

Firebase mendukung .NET 4.x sebagai opsi build eksperimental pada Unity 2017 dan yang lebih baru. Plugin Firebase menggunakan komponen Parse SDK untuk menyediakan beberapa class .NET 4.x pada .NET versi sebelumnya.

Oleh karena itu, Firebase Unity SDK versi 5.4.0 dan yang lebih baru menyediakan plugin yang kompatibel dengan NET 3.x atau NET 4.x di direktori dotnet3 dan dotnet4 dari Firebase Unity SDK.

Jika Anda mengimpor plugin Firebase yang tidak kompatibel dengan versi .NET yang diaktifkan di project Anda, Anda akan menemukan error kompilasi dari beberapa jenis di framework .NET yang diimplementasikan oleh Parse SDK.

Untuk mengatasi error kompilasi, jika Anda menggunakan .NET 3.x:

  1. Hapus atau nonaktifkan DLL berikut untuk semua platform:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll
  2. Aktifkan DLL berikut untuk semua platform:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll

Untuk mengatasi error kompilasi, jika Anda menggunakan .NET 4.x:

  1. Hapus atau nonaktifkan DLL berikut untuk semua platform:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll
  2. Aktifkan DLL berikut untuk semua platform:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll

Jika Anda mengimpor plugin Firebase lain:

  • Di project Unity Anda, arahkan ke Assets > Play Services Resolver > Version Handler > Update untuk mengaktifkan DLL yang benar untuk project Anda.

Kompilasi Unity 2017.1 IL2CPP di Project .NET 4.x

Firebase mendukung .NET 4.x sebagai opsi build eksperimental pada Unity 2017 dan yang lebih baru. Plugin Firebase menggunakan komponen Parse SDK untuk menyediakan beberapa class .NET 4.x pada .NET versi sebelumnya.

Oleh karena itu, Firebase Unity SDK versi 5.4.0 dan yang lebih baru menyediakan penerusan jenis DLL yang meneruskan jenis Parse (misalnya, implementasi Parse System.Threading.Tasks.Task) ke framework .NET. Sayangnya, IL2CPP (transpiler yang mengonversi C# menjadi C++) yang dikirim di Unity 2017.1.x tidak memroses secara benar penerusan jenis DLL, sehingga menghasilkan error build yang menyerupai berikut ini:

Fatal error in Unity CIL Linker Mono.Cecil.ResolutionException: Failed to
resolve System.Threading.Tasks.TaskCompletionSource`1<T>

Saat ini, tidak tersedia solusi untuk build error .NET 4.x IL2CPP di Unity 2017.1, jadi Anda harus mengupgrade ke Unity 2017.2 atau yang lebih baru untuk menggunakan .NET 4.x dalam project yang dikompilasi dengan IL2CPP.

Networking Unity 2017.2

Firebase Realtime Database membuat sambungan jaringan TLS menggunakan tumpukan jaringan .NET. Fungsionalitas TLS akan rusak di Unity 2017.2 jika menggunakan .NET 4.6 yang menyebabkan kegagalan plugin Realtime Database di editor dan di desktop.

Masalah ini belum ada solusinya, jadi Anda harus menggunakan Unity versi berbeda, misalnya versi 2017.1 atau 2017.3.

Menyiapkan alur kerja desktop (beta)

Saat Anda membuat game, pengujian game seringkali jauh lebih mudah dilakukan di editor Unity dan di platform desktop terlebih dahulu. Kemudian, Anda bisa menerapkan dan melakukan pengujian di perangkat seluler selama proses development. Untuk mendukung alur kerja ini, kami menyediakan beberapa fitur Firebase Unity SDK yang dapat dijalankan di Windows, OS X, Linux, dan dari dalam editor Unity:

  1. Siapkan project Unity platform-desktop dengan mengikuti instruksi yang sama seperti untuk platform seluler (mulai dengan langkah Mendaftarkan project Unity Anda dengan Firebase yang dijelaskan di atas).

  2. Jalankan project Unity Anda di Unity IDE atau pilih untuk membuat project Unity Anda untuk desktop.

  3. (Opsional) Jalankan project Unity Anda dalam Mode Edit.

    Firebase Unity SDK juga dapat dijalankan dalam mode edit Unity, yang memungkinkan penggunaannya dalam plugin editor.

    1. Saat Anda membuat FirebaseApp yang digunakan oleh editor, jangan gunakan instance default.

    2. Sebagai gantinya, berikan nama unik pada panggilan FirebaseApp.Create().

      Hal ini penting untuk menghindari konflik dalam memilih antara instance yang digunakan oleh Unity IDE dan instance yang digunakan oleh project Unity Anda.

Produk Firebase yang didukung

Pelajari lebih lanjut tentang library Firebase Unity di dokumentasi referensi.

Firebase Unity SDK mendukung produk Firebase berikut di iOS dan Android:

Produk Firebase Paket Unity
AdMob Didistribusikan secara terpisah dalam AdMob Unity Plugin
Analytics FirebaseAnalytics.unitypackage
Authentication FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Messaging FirebaseMessaging.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Crashlytics FirebaseCrashlytics.unitypackage
Dynamic Links FirebaseDynamicLinks.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage

Produk Firebase yang didukung (desktop)

Firebase Unity SDK menyertakan dukungan alur kerja desktop untuk sekumpulan produk sehingga bagian Firebase tertentu dapat digunakan di editor Unity dan di build desktop tersendiri pada Windows, OS X, dan Linux.

Produk Firebase (desktop) Paket Unity
Authentication FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage

Firebase menyediakan library desktop lainnya sebagai implementasi stub (non-fungsional), yang disediakan untuk memudahkan Anda ketika membuat aplikasi untuk Windows, OS X, dan Linux. Oleh karena itu, Anda tidak perlu mengompilasi kode secara bersyarat saat menargetkan desktop.

Langkah berikutnya