Firebase Remote Config menyediakan berbagai fleksibilitas terkait cara dan waktu pengambilan nilai baru dari server dan pengaktifannya di aplikasi Anda. Dengan demikian, Anda dapat memastikan pengalaman pengguna akhir yang berkualitas melalui pengendalian waktu atas setiap perubahan konfigurasi yang terlihat. Panduan ini membahas beberapa strategi pemuatan dan pertimbangan utama saat memilih opsi terbaik untuk aplikasi Anda.
Strategi 1: Mengambil dan mengaktifkan saat pemuatan
Dalam strategi ini, aplikasi Anda akan memanggil fetchAndActivate()
saat pertama kali dimulai untuk mengambil nilai baru dari Remote Config lalu mengaktifkannya segera setelah pemuatan selesai. Pendekatan sederhana ini optimal untuk perubahan konfigurasi yang tidak menyebabkan perubahan visual dramatis pada UI. Sebaiknya hindari pendekatan ini jika UI Anda dapat berubah secara mencolok selagi pengguna menggunakannya.
Strategi 2: Mengaktifkan di belakang layar pemuatan
Sebagai solusi untuk potensi masalah UI yang ditemukan dalam strategi 1, Anda bisa mengandalkan layar pemuatan. Daripada langsung memulai aplikasi, perlihatkan layar pemuatan dan panggil fetchAndActivate
di pengendali penyelesaian Anda.
Kemudian tepat setelah itu, juga dengan menggunakan callback atau notifikasi, tutup layar pemuatan dan biarkan pengguna mulai berinteraksi dengan aplikasi Anda.
Jika Anda menggunakan strategi ini, sebaiknya tambahkan waktu tunggu ke layar pemuatan. Waktu tunggu satu menit pada Remote Config mungkin terlalu lama untuk memberi pengguna pengalaman yang berkualitas saat memulai aplikasi Anda.
Strategi 3: Memuat nilai baru untuk pengaktifan berikutnya
Strategi yang efektif adalah memuat nilai konfigurasi baru untuk diaktifkan saat berikutnya aplikasi dimulai. Dalam strategi ini, saat dimulai, aplikasi Anda akan mengaktifkan nilai yang telah diambil sebelum mencoba mengambil nilai baru, dan beroperasi dengan asumsi bahwa nilai konfigurasi baru mungkin telah diambil, tetapi belum diaktifkan. Urutan operasi untuk strategi ini adalah:
- Saat memulai, segera aktifkan nilai yang diambil sebelumnya. Langkah ini akan menerapkan setiap nilai yang Anda download dari server pada sesi sebelumnya, dan nyaris seketika.
- Saat pengguna berinteraksi dengan aplikasi Anda, mulai panggilan asinkron untuk mengambil nilai baru sesuai dengan interval pengambilan minimum default.
- Di pengendali penyelesaian atau callback untuk panggilan ambil, jangan lakukan apa pun. Aplikasi akan mempertahankan nilai yang telah didownload sampai Anda mengaktifkannya saat berikutnya aplikasi dimulai.
Dengan strategi ini, waktu tunggu pengguna berkurang signifikan. Namun, pengguna harus menjalankan aplikasi Anda untuk kedua kalinya agar dapat melihat konfigurasi terbaru. Anda harus menyeimbangkan pertimbangan ini dengan logika aplikasi dan bisnis Anda.
Anti-strategi pemuatan
Seperti yang telah Anda pahami dari kelebihan dan kelemahan pemuatan yang dibahas di atas, ada beberapa pola penggunaan yang harus dihindari.
- Jangan mengganti atau mengubah aspek UI saat pengguna sedang melihat atau berinteraksi dengan UI tersebut — kecuali jika Anda memiliki alasan teknis atau bisnis yang kuat untuk melakukannya, seperti menghapus opsi yang terkait dengan promosi yang baru saja berakhir.
- Jangan mengirim permintaan pengambilan secara massal pada satu waktu, karena dapat menyebabkan server menerapkan throttling pada aplikasi Anda. Risiko terjadinya hal ini rendah pada sebagian besar skenario produksi, tetapi dapat menjadi masalah selama pengembangan aktif. Lihat panduan throttling untuk platform Apple dan Android.
- Jangan bergantung pada konektivitas jaringan untuk mendapatkan nilai Remote Config. Lakukan penyetelan parameter value default dalam aplikasi agar aplikasi Anda selalu berfungsi seperti yang diharapkan. Anda dapat menyinkronkan nilai default backend aplikasi dan Remote Config secara berkala menggunakan default template yang didownload.
Langkah berikutnya
Ketiga strategi dasar di atas bukanlah daftar lengkap cara memuat nilai konfigurasi. Bergantung pada kebutuhan, Anda dapat menyusun strategi yang jauh lebih canggih, seperti pembaruan di latar belakang berbasis fungsi, yang dijelaskan dalam Menerapkan pembaruan secara real time.
Lihat referensi API untuk platform Anda guna mempelajari lebih lanjut panggilan tertentu untuk mengambil dan mengaktifkan nilai konfigurasi.