Memahami Remote Config real-time


Dengan Remote Config real-time, Anda dapat menerima kunci parameter dan parameter value terbaru segera setelah dipublikasikan di server. Hal ini memungkinkan Anda untuk memperbarui semua jenis atribut aplikasi yang dikontrol menggunakan parameter value Remote Config dengan cepat. Dengan update Remote Config real-time, Anda dapat:

  • Mengurangi risiko dengan meluncurkan fitur secara bertahap kepada pengguna yang ditargetkan, dan melakukan rollback darurat jika diperlukan.
  • Meningkatkan engagement pengguna dengan menyesuaikan pengalaman pengguna secara cepat selagi aplikasi digunakan. Misalnya, Anda dapat memperbarui banner dan menawarkan insentif untuk pengguna yang cocok dengan properti pengguna Google Analytics tertentu atau menyesuaikan tingkat kesulitan game secara dinamis berdasarkan kelompok pemain.
  • Mengurangi dependensi build dan meningkatkan produktivitas developer: Gunakan parameter Remote Config sebagai tombol fitur untuk menampilkan fungsi bagi tim pengembangan dan pengujian, sambil tetap menyembunyikannya dari pengguna dalam lingkungan production.

Untuk mempelajari lebih lanjut cara menggunakan Remote Config, lihat Apa yang bisa dilakukan dengan Remote Config?

Dalam panduan ini, Anda akan:

  • Mempelajari lebih lanjut hubungan klien-server yang mendukung update real-time.
  • Memahami cara kerja fungsi real-time di SDK.
  • Mempelajari cara menggunakan update real-time untuk memastikan konfigurasi aplikasi Anda selalu yang terbaru.

Koneksi klien-server real-time

Saat menerapkan Remote Config real-time di aplikasi, Anda membuat pemroses real-time yang membuka koneksi HTTP ke backend Remote Config. Permintaan tersebut mencakup versi konfigurasi yang saat ini di-cache di perangkat. Server Remote Config real-time menggunakan pesan pembatalan validasi untuk memberi sinyal ke aplikasi saat versi yang lebih baru dari konfigurasi sisi server harus diambil.

Jika memiliki versi yang lebih baru, server akan langsung mengirimkan sinyal pembatalan validasi. Jika server tidak memiliki versi yang lebih baru, koneksi akan tetap terbuka dan menunggu hingga dipublikasikan di server. Saat menerima sinyal pembatalan validasi, SDK klien akan otomatis mengambilnya, lalu memanggil callback pemroses yang terdaftar saat Anda membuka koneksi pemroses. Pengambilan ini mirip dengan panggilan ambil yang dapat Anda lakukan dengan SDK, tetapi mengabaikan caching atau setelan minimumFetchInterval. Koneksi klien-server dipertahankan ketika aplikasi berada di latar depan.

Alur kerja klien-server Remote Config real-time
Alur kerja klien-server Remote Config real-time

Karena koneksi klien-server dibuat melalui HTTP, koneksi tersebut tidak memerlukan dependensi pada library lainnya.

Memproses update

Update real-time melengkapi panggilan Remote Config fetch. Sebaiknya panggil pengambilan saat aplikasi dimulai (atau selama siklus proses aplikasi) dan proses update Remote Config real-time selama sesi pengguna untuk memastikan nilai terbaru diterima segera setelah dipublikasikan di server.

Untuk memproses update, panggil addOnConfigUpdateListener, yang mengimplementasikan callback yang dipanggil setiap kali update Remote Config tersedia di aplikasi. Di balik layar, panggilan ini mulai memproses update dari server Remote Config. Untuk mempelajari lebih lanjut hubungan klien-server, lihat bagian sebelumnya.

Callback sering kali menjadi tempat yang tepat untuk menggunakan activate agar parameter konfigurasi terbaru tersedia untuk aplikasi Anda. Lihat Strategi Pemuatan Firebase Remote Config guna mengetahui strategi tambahan untuk mengaktifkan parameter value saat Anda menggunakan Remote Config real-time.

Mengaktifkan parameter value secara selektif

Saat memanggil addOnConfigUpdateListener, Anda dapat menunggu perubahan dan mengaktifkannya.

Callback onUpdate dipanggil saat template versi baru diambil secara otomatis dan saat versi baru tersebut memiliki perubahan pada parameter value yang aktif di aplikasi.

Callback ini dipanggil dengan parameter configUpdate. configUpdate berisi updatedKeys, yaitu kumpulan kunci parameter yang diubah untuk memulai update real-time dan mencakup hal berikut:

  • Kunci parameter yang ditambahkan atau dihapus
  • Kunci parameter yang nilainya telah berubah
  • Kunci parameter yang metadatanya telah berubah (misalnya, informasi personalisasi Remote Config)
  • Kunci parameter yang sumber nilainya telah berubah (misalnya, nilai default dalam aplikasi yang diperbarui ke nilai sisi server)

Jika menggunakan pemroses real-time di tampilan tertentu dalam aplikasi, Anda dapat memeriksa apakah parameter yang relevan dengan tampilan tersebut telah berubah sebelum diaktifkan.

Terkadang, pengambilan (yang dimulai saat Anda memanggil metode fetch atau dengan Remote Config real-time) tidak menghasilkan update untuk klien. Dalam kasus ini, metode atau penyelesaian onUpdate tidak akan dipanggil.

Menambahkan dan menghapus pemroses

addOnConfigUpdateListener adalah titik entri utama untuk Remote Config real-time. Saat pemroses ini dipanggil untuk pertama kalinya dalam siklus proses aplikasi Anda, koneksi backend akan dibuka. Panggilan berikutnya akan menggunakan kembali koneksi yang sama, lalu melakukan multiplexing pada pesan pembatalan validasi yang dijelaskan dalam koneksi klien-server real-time.

Panggilan akan menampilkan "pendaftaran pemroses", yang memiliki metode bernama remove.

Untuk berhenti memproses, simpan referensi ke pendaftaran pemroses. Panggil remove untuk berhenti memproses pendaftaran ini. Jika ini adalah satu-satunya pemroses terdaftar, memanggil remove akan menutup koneksi real-time ke server.

Meskipun Anda dapat secara manual berhenti memproses update, langkah tersebut sering kali tidak diperlukan. Remote Config real-time secara otomatis berhenti memproses update ketika aplikasi memasuki latar belakang dan akan memulai ulang saat aplikasi berada di latar depan.

Langkah berikutnya

Lihat artikel Mulai Menggunakan Firebase Remote Config untuk mengonfigurasi Remote Config dan mulai memproses update secara real-time.