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

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.


Anda dapat menggunakan Firebase Remote Config untuk menentukan parameter di aplikasi Anda dan memperbarui nilainya di cloud, memungkinkan Anda mengubah tampilan dan perilaku aplikasi Anda tanpa mendistribusikan pembaruan aplikasi.

Pustaka Remote Config digunakan untuk menyimpan nilai parameter default dalam aplikasi, mengambil nilai parameter yang diperbarui dari backend Remote Config, dan mengontrol kapan nilai yang diambil tersedia untuk aplikasi Anda. Untuk mempelajari lebih lanjut, lihat strategi pemuatan Remote Config .

Panduan ini memandu Anda melalui langkah-langkah untuk memulai dan memberikan beberapa contoh kode, yang semuanya tersedia untuk digandakan atau diunduh dari repositori GitHub firebase/quickstart-unity .

Langkah 1: Tambahkan Remote Config ke aplikasi Anda

Sebelum dapat menggunakan Remote Config , Anda perlu:

  • Daftarkan proyek Unity Anda dan konfigurasikan untuk menggunakan Firebase.

    • Jika project Unity Anda sudah menggunakan Firebase, maka project tersebut sudah terdaftar dan dikonfigurasi untuk Firebase.

    • Jika Anda tidak memiliki proyek Unity, Anda dapat mengunduh contoh aplikasi .

  • Tambahkan Firebase Unity SDK (khususnya, FirebaseRemoteConfig.unitypackage ) ke proyek Unity Anda.

Perhatikan bahwa menambahkan Firebase ke proyek Unity Anda melibatkan tugas di konsol Firebase dan di proyek Unity terbuka Anda (misalnya, Anda mengunduh file konfigurasi Firebase dari konsol, lalu memindahkannya ke proyek Unity Anda).

Langkah 2: Tetapkan nilai parameter default dalam aplikasi

Anda dapat menyetel nilai parameter default dalam aplikasi di objek Remote Config, sehingga aplikasi Anda berperilaku sebagaimana mestinya sebelum terhubung ke backend Remote Config, dan agar nilai default tersedia jika tidak ada yang disetel di backend.

Untuk melakukannya, buat kamus string, dan isi dengan pasangan kunci/nilai yang mewakili default yang ingin Anda tambahkan. Jika Anda telah mengonfigurasi nilai parameter backend Remote Config, Anda dapat mendownload file yang berisi pasangan kunci/nilai ini dan menggunakannya untuk membuat kamus string. Untuk informasi selengkapnya, lihat Mengunduh default template Remote Config .

(Properti non-string akan dikonversi ke tipe properti saat SetDefaultsAsync() dipanggil).

System.Collections.Generic.Dictionary<string, object> defaults =
  new System.Collections.Generic.Dictionary<string, object>();

// These are the values that are used if we haven't fetched data from the
// server
// yet, or if we ask for values that the server doesn't have:
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults)
  .ContinueWithOnMainThread(task => {

Langkah 3: Dapatkan nilai parameter untuk digunakan di aplikasi Anda

Sekarang Anda bisa mendapatkan nilai parameter dari objek Remote Config. Jika Anda menyetel nilai di backend Remote Config, mengambilnya, lalu mengaktifkannya, nilai tersebut tersedia untuk aplikasi Anda. Jika tidak, Anda mendapatkan nilai parameter dalam aplikasi yang dikonfigurasi menggunakan SetDefaultsAsync() .

Untuk mendapatkan nilai ini, gunakan GetValue() , berikan kunci parameter sebagai argumen. Ini mengembalikan ConfigValue , yang memiliki properti untuk mengonversi nilai menjadi berbagai tipe dasar.

Langkah 4: Hubungkan aplikasi Anda di konsol Firebase

Di konsol Firebase , tambahkan aplikasi Anda ke proyek Firebase Anda.

Langkah 5: Tetapkan nilai parameter

  1. Di konsol Firebase , buka proyek Anda.
  2. Pilih Remote Config dari menu untuk melihat dasbor Remote Config.
  3. Tentukan parameter dengan nama yang sama dengan parameter yang Anda tetapkan di aplikasi Anda. Untuk setiap parameter, Anda dapat menyetel nilai default (yang pada akhirnya akan menggantikan nilai default dalam aplikasi) dan nilai bersyarat. Untuk mempelajari lebih lanjut, lihat parameter dan kondisi Remote Config .

Langkah 6: Ambil dan aktifkan nilai (sesuai kebutuhan)

Untuk mengambil nilai parameter dari backend Remote Config, panggil metode FetchAsync() . Setiap nilai yang Anda atur di backend akan diambil dan di-cache di objek Remote Config.

// Start a fetch request.
// FetchAsync only fetches new data if the current data is older than the provided
// timespan.  Otherwise it assumes the data is "recent enough", and does nothing.
// By default the timespan is 12 hours, and for production apps, this is a good
// number. For this example though, it's set to a timespan of zero, so that
// changes in the console will always show up immediately.
public Task FetchDataAsync() {
  DebugLog("Fetching data...");
  System.Threading.Tasks.Task fetchTask =
  Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(
      TimeSpan.Zero);
  return fetchTask.ContinueWithOnMainThread(FetchComplete);
}

Pada kode di atas, FetchComplete adalah metode yang tanda tangannya cocok dengan parameter salah satu kelebihan ContinueWithOnMainThread() .

Dalam kode contoh di bawah, metode FetchComplete diteruskan tugas sebelumnya ( fetchTask ), yang memungkinkan FetchComplete untuk menentukan apakah sudah selesai. Kode tersebut menggunakan Info.LastFetchStatus untuk kemudian menentukan apakah penyelesaiannya juga berhasil. Jika demikian, nilai parameter Remote Config akan diaktifkan menggunakan activateAsync() .

private void FetchComplete(Task fetchTask) {
  if (!fetchTask.IsCompleted) {
    Debug.LogError("Retrieval hasn't finished.");
    return;
  }

  var remoteConfig = FirebaseRemoteConfig.DefaultInstance;
  var info = remoteConfig.Info;
  if(info.LastFetchStatus != LastFetchStatus.Success) {
    Debug.LogError($"{nameof(FetchComplete)} was unsuccessful\n{nameof(info.LastFetchStatus)}: {info.LastFetchStatus}");
    return;
  }

  // Fetch successful. Parameter values must be activated to use.
  remoteConfig.ActivateAsync()
    .ContinueWithOnMainThread(
      task => {
        Debug.Log($"Remote data loaded and ready for use. Last fetch time {info.FetchTime}.");
    });
}

Nilai yang diambil melalui FetchAsync() di-cache secara lokal saat pengambilan selesai, tetapi tidak tersedia hingga ActivateAsync() dipanggil. Ini memungkinkan Anda untuk memastikan bahwa nilai baru tidak diterapkan di tengah perhitungan, atau di lain waktu yang dapat menyebabkan masalah atau perilaku aneh.

Langkah 7: (Opsional) Aktifkan mode pengembang

Untuk mengaktifkan mode developer, yang dapat digunakan untuk menonaktifkan throttling selama pengembangan, Anda dapat menggunakan properti FirebaseRemoteConfig.Setting , menyetel ConfigSettings baru dengan IsDeveloperMode disetel ke true.

Next steps

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: