Memulai Firebase Realtime Database untuk Unity

Firebase Realtime Database menyimpan dan menyinkronkan data dengan database cloud NoSQL. Data disinkronkan pada semua klien secara realtime dan tetap tersedia meski aplikasi Anda offline.

Sebelum memulai

Sebelum dapat menggunakan Firebase Realtime Database, Anda harus membuat project Firebase dan menambahkan paket Firebase Unity SDK ke project Unity Anda.

Penyiapan:

Prasyarat

Android

  • Unity 5.0 atau yang lebih baru
  • Android NDK versi 10d atau yang lebih baru

iOS

  • Unity 5.0 atau yang lebih baru
  • Xcode 8.0 atau yang lebih baru

Jika Anda belum memiliki project Unity, download salah satu sampel quickstart kami dan cobalah dengan fitur Firebase tertentu. Jika Anda menggunakan quickstart, ingatlah untuk mendapatkan ID paket dari setelan project karena akan diperlukan untuk langkah selanjutnya.

Menyiapkan aplikasi Anda di Firebase console

Untuk menambahkan Firebase ke aplikasi Anda, Anda memerlukan project Firebase dan file konfigurasi Firebase untuk aplikasi 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 yang 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 database default — your-project-id.firebaseio.com
    • Subdomain hosting default — your-project-id.firebaseapp.com
  4. Ikuti langkah-langkah penyiapan yang tersisa, 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.

Android

  1. Klik Tambahkan Firebase ke aplikasi Android Anda dan ikuti langkah-langkah penyiapannya. Jika Anda mengimpor project Google yang sudah ada, prosesnya dapat terjadi secara otomatis dan Anda dapat langsung mendownload file konfigurasi.
  2. Saat diminta, masukkan nama paket aplikasi Anda. Anda harus memasukkan nama paket yang digunakan oleh aplikasi Anda, yang hanya dapat dilakukan jika aplikasi tersebut ditambahkan ke project Firebase Anda.
  3. Selama proses ini, Anda akan mendownload file google-services.json. Anda dapat mendownload file ini lagi kapan saja.
  4. Setelah Anda menambahkan kode inisialisasi, jalankan aplikasi Anda untuk mengirimkan verifikasi ke Firebase console bahwa Anda telah berhasil menginstal Firebase.

iOS

  1. Klik Tambahkan Firebase ke aplikasi iOS Anda dan ikuti langkah penyiapannya. Jika Anda mengimpor project Google yang sudah ada, prosesnya dapat terjadi secara otomatis dan Anda dapat langsung mendownload file konfigurasi.
  2. Saat diminta, masukkan ID paket aplikasi Anda. Anda harus memasukkan ID paket yang digunakan aplikasi. Hal ini hanya dapat dilakukan saat Anda menambahkan aplikasi tersebut ke project Firebase Anda.
  3. Selama proses ini, Anda akan mendownload file GoogleService-Info.plist. Anda dapat mendownload file ini lagi kapan saja.
  4. Setelah Anda menambahkan kode inisialisasi, jalankan aplikasi Anda untuk mengirimkan verifikasi ke Firebase console bahwa Anda telah berhasil menginstal Firebase.
  5. Pindahkan GoogleService-Info.plist yang didownload dari Firebase console ke folder mana pun di project Unity.

Menambahkan Firebase Unity SDK ke aplikasi Anda

  1. Download Firebase Unity SDK.
  2. Pilih item menu Assets > Import Package > Custom Package.
  3. Impor FirebaseDatabase.unitypackage dari direktori yang sesuai dengan versi Unity yang Anda gunakan:
    • Unity 5.x dan versi yang lebih lama menggunakan framework .NET 3.x, jadi Anda perlu mengimpor paket dotnet3/FirebaseDatabase.unitypackage .
    • Unity 2017.x dan versi yang lebih baru mendukung penggunaan framework .NET 4.x. Jika project Anda dikonfigurasi agar dapat menggunakan .NET 4.x, impor paket dotnet4/FirebaseDatabase.unitypackage .
  4. Saat jendela Import Unity Package muncul, klik tombol Import.

Menginisialisasi SDK

Firebase Unity SDK di Android memerlukan layanan Google Play versi terbaru sebelum SDK dapat digunakan. Kode berikut harus ditambahkan di awal aplikasi Anda untuk 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, i.e.
    //   app = Firebase.FirebaseApp.DefaultInstance;
    // where app is a Firebase.FirebaseApp property of your application class.

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

Membuat aplikasi Anda

Android

  1. Pilih opsi menu File > Build Settings.
  2. Pilih Android di daftar Platform.
  3. Klik Switch Platform untuk memilih Android sebagai platform target.
  4. Tunggu hingga ikon pemutar (pengompilasi) di sudut kanan bawah status bar Unity berhenti.
  5. Klik Build and Run.

iOS

  1. Pilih opsi menu File > Build Settings.
  2. Pilih iOS di daftar Platform.
  3. Klik Switch Platform untuk memilih iOS sebagai platform target.
  4. Tunggu hingga ikon pemutar (pengompilasi) di sudut kanan bawah status bar Unity berhenti.
  5. Klik Build and Run.

Menyiapkan akses publik

Realtime Database menyediakan bahasa aturan deklaratif, sehingga Anda dapat menentukan cara data disusun, diindeks, serta kapan data tersebut dapat dibaca dan ditulisi. Secara default, akses baca dan tulis ke database Anda dibatasi, sehingga hanya pengguna yang terautentikasi yang dapat membaca atau menulis data. Untuk memulai tanpa menyiapkan Authentication, Anda dapat mengonfigurasi aturan untuk akses publik. Tindakan ini membuat database Anda terbuka untuk siapa saja, bahkan untuk orang yang tidak menggunakan aplikasi Anda. Oleh karena itu, pastikan Anda membatasi database kembali saat menyiapkan autentikasi.

Mengonfigurasi SDK untuk Unity Editor.

Ketika menguji di Unity Editor, Anda dapat menggunakan Realtime Database. Anda harus mengonfigurasi SDK dengan URL database yang tepat. Panggil SetEditorDatabaseUrl dengan url database Anda.

using Firebase;
using Firebase.Unity.Editor;

public class MyScript: MonoBehaviour {
  void Start() {
    // Set this before calling into the realtime database.
    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://YOUR-FIREBASE-APP.firebaseio.com/");
  }
}

Jika Anda memilih untuk menggunakan akses publik untuk aturan dan telah menetapkan url database, Anda dapat lanjut ke bagian tentang menyimpan dan mengambil data.

Opsional. Penyiapan Editor untuk akses terbatas.

Jika Anda memilih menggunakan aturan yang melarang akses publik, Anda perlu mengonfigurasi SDK untuk menggunakan akun layanan agar berjalan dalam Unity Editor. Tindakan ini juga membuat Anda bisa meniru pengguna akhir saat pengujian. Untuk melakukan ini, buat file p12 baru terlebih dahulu melalui

https://console.cloud.google.com/iam-admin/serviceaccounts/project?project=YOUR-FIREBASE-APP

Catat email dan sandi akun layanan yang dihasilkan.

Tempatkan file p12 di dalam "Editor Default Resources" dalam project Unity Anda. Berikutnya, tambahkan kode berikut untuk menginisialisasi penggunaan akun layanan.

using Firebase;
using Firebase.Unity.Editor;

public class MyScript: MonoBehaviour {
  void Start() {
    // Set these values before calling into the realtime database.
    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://YOUR-FIREBASE-APP.firebaseio.com/");
    FirebaseApp.DefaultInstance.SetEditorP12FileName("YOUR-FIREBASE-APP-P12.p12");
    FirebaseApp.DefaultInstance.SetEditorServiceAccountEmail("SERVICE-ACCOUNT-ID@YOUR-FIREBASE-APP.iam.gserviceaccount.com");
    FirebaseApp.DefaultInstance.SetEditorP12Password("notasecret");
  }
}

Langkah Berikutnya

Masalah umum

  • Jika menggunakan framework eksperimental .NET 4.6, Realtime Database tidak akan berfungsi pada macOS dengan Unity 2017.2 karena ada regresi yang diperkenalkan pada 2017.2.0 yang memecah SslStream dalam konfigurasi tersebut. Regresi ini diperbaiki pada 2017.3.0 dan Realtime Database berfungsi dengan versi tersebut.

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.