Menambahkan Firebase ke project Unity Andaplat_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
  • Akses 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 gambar emulator dengan Google Play.

  • Login ke Firebase menggunakan akun Google Anda.

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

Langkah 2: Membuat project Firebase

Sebelum dapat menambahkan Firebase ke project Unity Anda, buat project Firebase untuk terhubung ke project Unity Anda.

Untuk membuat project Firebase:

  1. Buka Firebase console.

  2. Klik Tambahkan project, lalu pilih atau masukkan Nama project.

    • Jika Anda memiliki project Google yang terkait dengan aplikasi Anda, pilih project tersebut dari menu dropdown Nama project.
    • Jika Anda belum memiliki project Google, masukkan Nama project baru.
  3. (Opsional) Edit Project ID.

    Firebase menetapkan ID unik ke project Firebase Anda secara otomatis. ID ini ditampilkan di layanan Firebase yang tersedia untuk publik, misalnya:

    • URL Realtime Database default — your-project-id.firebaseio.com
    • Nama bucket Cloud Storage default — your-project-id.appspot.com
    • Subdomain Hosting default — your-project-id.firebaseapp.com
  4. Ikuti langkah-langkah penyiapan yang tersisa di Firebase console, lalu klik Buat project (atau Tambahkan Firebase, jika Anda menggunakan project Google yang sudah ada).

Firebase menyediakan resource untuk project Firebase Anda secara otomatis. Proses ini biasanya perlu waktu beberapa menit. Setelah selesai, Anda akan dibawa ke halaman ringkasan untuk project Firebase Anda di Firebase console.

Langkah 3: Mendaftarkan project Unity dengan project Firebase Anda

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

  1. Di halaman ringkasan project Firebase Anda, luncurkan wizard penyiapan untuk Unity.

  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 iOS bundle ID.

      • Untuk Android — Masukkan ID Android project Unity Anda di kolom Android package name.

        • 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 ke project Unity Anda

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

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

  3. Kembali ke Firebase console, di dialog wizard penyiapan, klik Berikutnya.

Langkah 5: Tambahkan Firebase SDK ke project Unity Anda

Langkah-langkah di bagian ini berfungsi sebagai contoh tentang cara menambahkan layanan Firebase yang didukung ke project Unity Anda. Dalam contoh ini, kita akan membahas tentang penambahan 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 layanan Firebase lain yang didukung.

  4. Di jendela Import Unity Package, klik Impor.

  5. Kembali ke Firebase console, di dialog wizard penyiapan, klik Berikutnya.

Langkah 6: Konfirmasikan 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 terdaftar dan dikonfigurasi untuk menggunakan layanan 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, penerapan 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.

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

Layanan Firebase yang didukung

Layanan Firebase berikut didukung oleh Firebase Unity SDK di iOS dan Android:

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

Layanan Firebase yang didukung (desktop)

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

Fitur Desktop Library
Authentication FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage
Cloud Storage FirebaseStorage.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.

Dukungan

Dukungan Firebase

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.