Anda mungkin pernah berada dalam situasi di mana anda perlu membetulkan ralat visual kecil atau melancarkan jualan kilat, hanya untuk menyedari bahawa berbuat demikian memerlukan muat naik versi baharu ke gedung aplikasi dan menunggu Google atau Apple meluluskannya. Proses yang membosankan dan memakan masa ini boleh mengganggu masa kempen dengan mudah. ​​Di sinilah Firebase Remote Config memainkan peranan — alat hebat yang membolehkan anda mengubah tingkah laku dan penampilan aplikasi anda dari awan, tanpa pengguna perlu mengangkat jari atau memuat turun sebarang kemas kini.
Bayangkan anda dapat menentukan siapa yang melihat ciri yang mana berdasarkan negara mereka atau versi aplikasi yang mereka gunakan. Keupayaan untuk memanipulasi pembolehubah nilai utama dari jauh ini bukan sahaja memperkemas kerja pembangun tetapi juga membolehkan mereka mencuba antara muka dalam masa nyata, melaraskan kesukaran permainan atau menukar sepanduk iklan dengan pantas, semuanya dengan impak minimum pada prestasi peranti.
Cara kemas kini masa nyata berfungsi
Apabila kita bercakap tentang konfigurasi jauh masa nyata, kita merujuk kepada keupayaan untuk menerima perubahan parameter sebaik sahaja ia diterbitkan ke pelayan. Untuk mencapai matlamat ini, SDK Firebase menyediakan pendengar masa nyata yang mengekalkan sambungan HTTP terbuka ke bahagian belakang. Daripada menyemak setiap beberapa minit untuk kemas kini, pelayan menghantar isyarat pembatalan apabila ia mengesan versi konfigurasi yang lebih baharu.
Jika pelayan mempunyai data baharu, ia akan memberitahu klien dengan segera; jika tidak, sambungan akan menunggu. Sebaik sahaja aplikasi menerima pemberitahuan, ia akan mengambil konfigurasi secara automatik dan melaksanakan panggilan balik. Paling penting, proses ini mengabaikan selang masa penyimpanan caching biasa, membolehkan perubahan dilaksanakan hampir serta-merta. Penting untuk diperhatikan bahawa sambungan ini kekal aktif selagi aplikasi berada di latar depan dan Firebase menyokong sehingga 20 juta sambungan serentak setiap projek.
Implementación técnica y flujo de trabajo
Untuk melaksanakannya, pendekatan yang ideal adalah dengan menggabungkan panggilan pengambilan tradisional semasa permulaan aplikasi dengan kaedah addOnConfigUpdateListener semasa sesi pengguna. Ini memastikan aplikasi bermula dengan data baharu dan kekal dikemas kini semasa digunakan. Apabila peristiwa dicetuskan onUpdateSDK menyediakan kita dengan objek configUpdate yang mana memperincikan dengan tepat faktor utama apa yang telah berubahsama ada kerana parameter telah ditambah, nilainya diubah suai atau sumbernya berubah.
Dari segi pembangunan, terutamanya dalam Android, prosesnya bermula dengan mengimport kebergantungan yang diperlukan daripada BoM Firebasetermasuk Remote Config dan Google Analytics. Adalah penting untuk menentukan nilai lalai dalam aplikasi melalui fail XML (seperti remote_config_defaults.xmlatau peta data. Ini memastikan bahawa Aplikasi ini akan berfungsi dengan betul tanpa internet. pada permulaan pertama. Untuk menggunakan perubahan, kaedah berikut digunakan: fetchAndActivate(), yang memuat turun nilai dari pelayan dan mengaktifkannya supaya ia kelihatan di antara muka.
Pembahagian dan pemperibadian lanjutan
Salah satu perkara terbaik tentang alat ini ialah keupayaannya untuk melayan pengguna secara berbeza. Kita boleh mencipta nilai bersyarat berdasarkan kriteria tertentu. Contohnya, jika kita mahu promosi hanya kelihatan di Sepanyol tetapi bukan di Perancis, kita mengkonfigurasi syarat penapis negara . Kita juga boleh membahagikan mengikut versi aplikasi, bahasa atau khalayak yang dicipta dalam Google Analytics.
Bagi mereka yang ingin melangkah lebih jauh, terdapat pemperibadian berasaskan pembelajaran mesin , yang secara automatik menyesuaikan pengalaman setiap pengguna untuk mengoptimumkan matlamat seperti klik iklan dan pengekalan. Di samping itu, pelancaran secara beransur-ansur adalah mungkin , mendedahkan ciri baharu hanya kepada sebilangan kecil pengguna dan membandingkan log ranap dan ralat dengan kumpulan kawalan untuk memastikan semuanya berjalan lancar sebelum penggunaan penuh.
Had dan amalan baik
Ia bukan semua sihir, dan terdapat peraturan yang mesti kita patuhi untuk mengelakkan kesilapan. Contohnya, kita tidak boleh sekali-kali menggunakan Remote Config untuk memaksa kemas kini yang memerlukan kebenaran pengguna yang jelas , kerana ini boleh mewujudkan rasa tidak percaya. Ia juga bukan tempat untuk menyimpan data sensitif ; walaupun maklumat disulitkan, mana-mana pengguna yang mempunyai pengetahuan teknikal boleh mengakses parameter yang diambil daripada peranti.
Berkenaan batasan teknikal, sesebuah projek boleh menampung sehingga 3,000 parameter mengikut jenis templat dan simpan sehingga 300 versi ini. Anda juga perlu berhati-hati dengan pengawalaturan panggilan (pendikitan)Jika kita membuat terlalu banyak permintaan pemulihan dalam masa yang sangat singkat, Firebase mungkin akan menyekat kita buat sementara waktu. Semasa fasa pembangunan, adalah disyorkan untuk mengurangkan bilangan permintaan. minimumFetchIntervalInSeconds untuk lelaran pantas, tetapi nilai ini sepatutnya kembali normal dalam versi pengeluaran.
Alternatif penyimpanan lain
Adalah penting untuk tidak mengelirukan Remote Config dengan pangkalan data yang lengkap. Jika anda perlu menyimpan keadaan permainan, sembang atau profil pengguna yang kompleks, Cloud Firestore atau Firebase Realtime Database adalah penyelesaian yang ideal . Walaupun Remote Config adalah untuk pelarasan nilai kunci dan tingkah laku yang mudah, pangkalan data direka bentuk untuk data dinamik dan berstruktur yang sentiasa berubah berdasarkan interaksi pengguna.
Semua pengurusan tetapan ini berpusat di konsol Firebase, di mana kita boleh mengedit parameter, menetapkan warna kepada keadaan untuk mengelakkan kekeliruan dan menerbitkan perubahan dengan satu klik. Akhirnya, penyepaduan sistem ini membolehkan aplikasi menjadi organisma hidup, yang mampu berkembang dan menyesuaikan diri tanpa memaksa pengguna melalui skrin muat turun gedung aplikasi yang membosankan setiap kali mereka ingin menukar warna atau teks.
