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


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. Panduan ini memandu Anda melalui langkah-langkah untuk memulai dan memberikan beberapa contoh kode, yang semuanya tersedia untuk digandakan atau diunduh dari repositori firebase/quickstart-js GitHub.

Langkah 1: Tambahkan dan inisialisasi Remote Config SDK

  1. Jika Anda belum melakukannya, instal Firebase JS SDK dan inisialisasi Firebase .

  2. Tambahkan Remote Config JS SDK dan inisialisasi Remote Config:

Web version 9

import { initializeApp } from "firebase/app";
import { getRemoteConfig } from "firebase/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = getRemoteConfig(app);

Web version 8

import firebase from "firebase/app";
import "firebase/remote-config";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Remote Config and get a reference to the service
const remoteConfig = firebase.remoteConfig();

Objek ini 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.

Langkah 2: Tetapkan interval pengambilan minimum

Selama pengembangan, disarankan untuk menyetel interval pengambilan minimum yang relatif rendah. Lihat Pembatasan untuk informasi lebih lanjut.

Web version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Langkah 3: 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.

Web version 9

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Web version 8

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Jika Anda telah mengonfigurasi nilai parameter backend Remote Config, Anda dapat mendownload file JSON yang dihasilkan yang menyertakan semua nilai default dan menyertakannya dalam bundel aplikasi Anda:

ISTIRAHAT

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=JSON -o remote_config_defaults.json

Konsol Firebase

  1. Di tab Parameter , buka Menu , dan pilih Download default values ​​.
  2. Saat diminta, aktifkan .json for web , lalu klik Download file .

Contoh berikut menunjukkan dua cara berbeda untuk mengimpor dan menetapkan nilai default di aplikasi Anda. Contoh pertama menggunakan fetch , yang akan membuat permintaan HTTP ke file default yang disertakan dalam bundel aplikasi Anda:


  const rcDefaultsFile = await fetch('remote_config_defaults.json');
  const rcDefaultsJson = await rcDefaultsFile.json();
  remoteConfig.defaultConfig = rcDefaultsJson;
  

Contoh berikutnya menggunakan require , yang mengompilasi nilai ke dalam aplikasi Anda pada waktu build:

  let rcDefaults = require('./remote_config_defaults.json');
  remoteConfig.defaultConfig = rcDefaults;

Langkah 4: Dapatkan nilai parameter untuk digunakan di aplikasi Anda

Sekarang Anda bisa mendapatkan nilai parameter dari objek Remote Config. Jika nanti Anda menyetel nilai di backend, mengambilnya, lalu mengaktifkannya, nilai tersebut tersedia untuk aplikasi Anda. Untuk mendapatkan nilai ini, panggil metode getValue() , berikan kunci parameter sebagai argumen.

Web version 9

import { getValue } from "firebase/remote-config";

const val = getValue(remoteConfig, "welcome_messsage");

Web version 8

const val = remoteConfig.getValue("welcome_messsage");

Langkah 5: Tetapkan nilai parameter

Dengan menggunakan Firebase console atau API backend Remote Config , Anda dapat membuat nilai default sisi server baru yang menggantikan nilai dalam aplikasi sesuai dengan logika kondisional atau penargetan pengguna yang diinginkan. Bagian ini memandu Anda melalui langkah-langkah Firebase console untuk membuat nilai-nilai ini.

  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 Anda juga dapat menyetel nilai bersyarat. Untuk mempelajari lebih lanjut, lihat Parameter dan Ketentuan Remote Config .

Langkah 6: Ambil dan aktifkan nilai

  1. Untuk mengambil nilai parameter dari backend Remote Config, panggil metode fetchConfig() . Setiap nilai yang Anda atur di backend akan diambil dan di-cache di objek Remote Config.
  2. Agar nilai parameter yang diambil tersedia untuk aplikasi Anda, panggil metode activate() .

Untuk kasus di mana Anda ingin mengambil dan mengaktifkan nilai dalam satu panggilan, gunakan fetchAndActivate() seperti yang ditampilkan dalam contoh ini:

Web version 9

import { fetchAndActivate } from "firebase/remote-config";

fetchAndActivate(remoteConfig)
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Web version 8

remoteConfig.fetchAndActivate()
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Karena nilai parameter yang diperbarui ini memengaruhi perilaku dan tampilan aplikasi Anda, Anda harus mengaktifkan nilai yang diambil pada waktu yang memastikan pengalaman yang lancar bagi pengguna Anda, seperti saat pengguna membuka aplikasi Anda di lain waktu. Lihat strategi pemuatan Remote Config untuk informasi dan contoh selengkapnya.

Pelambatan

Jika aplikasi terlalu sering mengambil dalam jangka waktu singkat, panggilan ambil dapat dibatasi. Dalam kasus seperti itu, SDK melontarkan kesalahan FETCH_THROTTLE . Anda disarankan untuk menangkap kesalahan ini dan mencoba lagi dalam mode backoff eksponensial, menunggu interval lebih lama antara permintaan pengambilan berikutnya.

Selama pengembangan aplikasi, Anda mungkin ingin menyegarkan cache sangat sering (berkali-kali per jam) agar Anda dapat melakukan iterasi dengan cepat saat Anda mengembangkan dan menguji aplikasi. Untuk mengakomodasi iterasi cepat pada proyek dengan banyak pengembang, Anda dapat menambahkan sementara properti dengan interval pengambilan minimum yang rendah ( Settings.minimumFetchIntervalMillis ) di aplikasi Anda.

Interval pengambilan produksi default dan yang disarankan untuk Remote Config adalah 12 jam, yang berarti konfigurasi tidak akan diambil dari backend lebih dari sekali dalam jangka waktu 12 jam, terlepas dari berapa banyak panggilan pengambilan yang sebenarnya dilakukan. Khususnya, interval pengambilan minimum ditentukan dalam urutan berikut:

  1. Parameter di Settings.minimumFetchIntervalMillis .
  2. Nilai default 12 jam.

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: