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.

Langkah 1: Tambahkan Firebase dan SDK Remote Config ke aplikasi Anda

  1. Instal dan inisialisasi Firebase SDK untuk Flutter jika Anda belum melakukannya.

  2. Untuk Remote Config, Google Analytics diperlukan untuk penargetan bersyarat instance aplikasi ke properti pengguna dan audiens. Pastikan Anda mengaktifkan Google Analytics di proyek Anda.

  3. Dari direktori root project Flutter Anda, jalankan perintah berikut untuk menginstal plugin Remote Config:

    flutter pub add firebase_remote_config
    

    Selain itu, sebagai bagian dari penyiapan Remote Config, Anda perlu menambahkan Firebase SDK untuk Google Analytics ke aplikasi Anda:

    flutter pub add firebase_analytics
    
  4. Membangun kembali proyek Anda:

    flutter run
    

Langkah 2: Dapatkan objek tunggal Remote Config

Dapatkan instance objek Remote Config dan setel interval pengambilan minimum untuk memungkinkan penyegaran sering:

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(hours: 1),
));

Objek tunggal digunakan untuk menyimpan nilai parameter default dalam aplikasi, mengambil nilai parameter yang diperbarui dari backend, dan mengontrol kapan nilai yang diambil tersedia untuk aplikasi Anda.

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

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.

await remoteConfig.setDefaults(const {
    "example_param_1": 42,
    "example_param_2": 3.14159,
    "example_param_3": true,
    "example_param_4": "Hello, world!",
});

Langkah 4: Dapatkan nilai parameter untuk digunakan di aplikasi Anda

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

Untuk mendapatkan nilai ini, panggil metode yang tercantum di bawah yang memetakan ke tipe data yang diharapkan oleh aplikasi Anda, berikan kunci parameter sebagai argumen:

  • getBool()
  • getDouble()
  • getInt()
  • getString()

Langkah 5: Tetapkan nilai parameter di backend Remote Config

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 menjelaskan 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 yang sesuai), 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 fetch() . Setiap nilai yang Anda atur di backend akan diambil dan disimpan di objek Remote Config.

  2. Agar nilai parameter yang diambil tersedia untuk aplikasi Anda, panggil metode activate() .

    Untuk kasus saat Anda ingin mengambil dan mengaktifkan nilai dalam satu panggilan, Anda bisa menggunakan permintaan fetchAndActivate() untuk mengambil nilai dari backend Remote Config dan membuatnya tersedia untuk aplikasi:

    await remoteConfig.fetchAndActivate();
    

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 mengambil terlalu banyak dalam jangka waktu singkat, panggilan pengambilan akan dibatasi dan nilai properti lastFetchStatus FirebaseRemoteConfig akan menjadi RemoteConfigFetchStatus.throttle .

Interval pengambilan minimum default untuk Remote Config adalah 12 jam, yang berarti bahwa konfigurasi tidak akan diambil dari backend lebih dari sekali dalam jangka waktu 12 jam, berapa pun jumlah panggilan pengambilan yang sebenarnya dilakukan.

Selama pengembangan aplikasi, Anda mungkin ingin mengambil dan mengaktifkan konfigurasi 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 maksimal 10 pengembang, Anda dapat menyetel interval pengambilan minimum rendah untuk sementara dengan setConfigSettings() .

final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
    fetchTimeout: const Duration(minutes: 1),
    minimumFetchInterval: const Duration(minutes: 5),
));

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: