Strategi pemuatan Firebase Remote Config

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. Anda dapat mengambil nilai baru saat peluncuran aplikasi menggunakan fetchAndActivate(), dan menggunakan Remote Config real-time sebagai metode pelengkap untuk mengambil parameter value terbaru secara otomatis setelah Remote Config versi baru dipublikasikan.

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.

Setelah memanggil fetchAndActivate(), aplikasi Anda dapat mulai memproses pembaruan parameter value secara real time dengan memanggil addOnConfigUpdateListener. Metode ini mulai memproses update sisi server untuk parameter value, mengambilnya secara otomatis, lalu memanggil pemroses. Strategi sederhananya adalah mengaktifkan nilai baru di pemroses. Namun, seperti yang disebutkan untuk fetchAndActivate(), mengaktifkan segera harus dihindari untuk UI sensitif.

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.

Memproses update Remote Config real-time dengan memanggil addOnConfigUpdateListener berfungsi baik dengan strategi ini. Tambahkan pemroses saat layar pemuatan ditampilkan, lalu gunakan activate() di satu atau beberapa titik di aplikasi Anda yang tidak akan menyebabkan perubahan visual yang signifikan pada nilai Remote Config.

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:

  1. 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.
  2. Saat pengguna berinteraksi dengan aplikasi Anda, mulai panggilan asinkron untuk mengambil nilai baru sesuai dengan interval pengambilan minimum default dan tambahkan pemroses pembaruan konfigurasi real-time. Pemroses real-time akan otomatis mengambil nilai yang dipublikasikan di server saat aplikasi Anda berjalan. Update real-time mengabaikan setelan interval pengambilan minimum.
  3. 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. Menggabungkan strategi pengambilan dan pemroses real-time dengan panggilan activate() sesuai kebutuhan dalam siklus proses aplikasi akan memastikan pengguna memiliki nilai terbaru dari Remote Config saat berinteraksi dengan aplikasi 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. Jika Anda sering mengambil update, gunakan Remote Config real-time. Meskipun risiko throttling rendah pada sebagian besar skenario produksi, hal tersebut dapat menjadi masalah selama pengembangan aktif. Remote Config real-time didesain untuk kasus penggunaan ini. Lihat panduan throttling.
  • 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.

Lihat referensi API untuk platform Anda guna mempelajari lebih lanjut panggilan tertentu untuk mengambil dan mengaktifkan nilai konfigurasi.