Firebase konfigurasi jarak jauh untuk aplikasi Android
Indonesian (Bahasa Indonesia) translation by Santosa (you can also view the original English article)
Firebase Remote Config adalah layanan unik dirancang untuk memberikan Anda kendali baik atas contoh aplikasi Anda sementara mereka diinstal pada perangkat pengguna. Dengan menggunakan itu, Anda dapat diandalkan mengubah penampilan dan perilaku aplikasi Anda di seluruh basis tanpa penerbitan pembaruan di Google Play pengguna Anda.
Jika Anda berpikir bahwa ini bisa menjadi risiko keamanan, izinkan saya meyakinkan Anda bahwa Remote konfigurasi tidak membiarkan Anda dari jarak jauh menyuntikkan kode baru ke dalam aplikasi Anda. Ini hanya memungkinkan Anda mengubah, melalui konsol Firebase, nilai-nilai dari variabel-variabel tertentu pra-memutuskan yang sudah hadir dalam kode. Bahkan, Anda dapat berpikir variabel sebagai variabel sisi server aplikasi Anda tergantung pada.
Dalam tutorial ini, saya akan menunjukkan kepada Anda bagaimana menggunakan beberapa fitur yang paling kuat dari Remote konfigurasi dalam aplikasi Android.
1. Mengapa menggunakan Remote config?
konfigurasi jarak jauh API terutama dimaksudkan untuk digunakan sebagai alternatif untuk sederhana keras-kode nilai-nilai dalam aplikasi Anda. Contoh dari nilai-nilai tersebut dapat warna, dimensi, penundaan, dan label.
Untuk lebih memahami pentingnya API, perhatikan skenario berikut: Anda membuat dan menerbitkan sebuah aplikasi dengan keras-kode nilai-nilai untuk ukuran font dan warna dari semua label. Beberapa hari kemudian, pengguna Anda memberitahu Anda bahwa mereka memilih ukuran font yang lebih besar dan warna font yang berbeda. Karena nilai keras-kode, dalam rangka untuk mengubah mereka, Anda akan sekarang harus memodifikasi kode, membangun aplikasi lagi memberikan nomor versi baru, dan menerbitkan di Google Play. Itulah banyak kerja untuk memperbaiki kecil tersebut. Selain itu, jika pengguna mengubah pikiran mereka, Anda harus melakukannya lagi!
Dengan Firebase Remote konfigurasi, Anda dapat membuat ukuran font dan font warna variabel jarak jauh dapat dikonfigurasi dan menggunakan Firebase konsol untuk dengan cepat mengubah nilai-nilai mereka setiap saat yang Anda inginkan, sebanyak waktu yang Anda inginkan. Pendekatan modern ini juga memastikan bahwa perubahan terjadi secepat mungkin pada perangkat dari semua pengguna, tanpa mereka harus secara manual men-download setiap update.
2.mempesiapkan proyek
Dengan asisten Firebase Android Studio, menambahkan konfigurasi jarak jauh untuk proyek Anda mengambil hanya dengan beberapa klik.
Mulai dengan membuka Tools > Firebase dan memilih Remote konfigurasi > mendirikan Firebase Remote config di panel yang muncul.



Selanjutnya, tekan Connect to Firebase tombol untuk mengasosiasikan proyek Android Studio Anda dengan sebuah proyek Firebase. Pada dialog yang muncul, pilih Create new Firebase project opsi dan tekan Connect to Firebase tombol.



Setelah berhasil tersambung, Anda dapat menekan Tambahkan Remote konfigurasi tombol aplikasi Anda untuk menambahkan semua dependensi yang diperlukan untuk proyek Anda Gradle file. Bila diminta, tekan tombol menerima perubahan untuk menyelesaikan pengaturan proyek.



3. mendefinisikan parameter konfigurasi
Semua variabel yang Anda ingin dapat mengubah jarak jauh harus didefinisikan dalam proyek Firebase Anda sebagai Remote konfigurasi parameter. Jadi Gunakan browser untuk log in ke konsol Firebase, gulir ke bawah bagian ulasan proyek untuk menemukan kartu Remote konfigurasi, dan tekan tombol memulai.
Di layar selamat datang Layanan Remote konfigurasi, tekan tombol parameter pertama Anda tambahkan ke mulai menambahkan variabel.



Mari kita menetapkan dua parameter sekarang: font_size
dan font_color
. Mantan akan menjadi sejumlah dan yang kedua string. Pastikan Anda menetapkan nilai default yang wajar untuk kedua.
.png)
.png)
.png)
Sekarang Anda dapat melihat dua parameter yang Anda buat. Namun, nilai-nilai mereka tidak akan tersedia untuk app Anda kecuali Anda mempublikasikan mereka. Jadi tekan tombol publikasikan perubahan.
.png)
.png)
.png)
4. mempersiapkan sebuah Layout
Untuk dapat menggunakan parameter yang kita buat, tambahkan widget TextView
menampilkan pesan di file XML tata letak aktivitas Anda. Jika Anda telah membuat sebuah proyek Android Studio baru untuk tutorial ini, merasa bebas untuk menggunakan widget "Hello World" TextView
tersedia secara default, tapi pastikan Anda memberikan id.
1 |
<TextView
|
2 |
android:layout_width="wrap_content" |
3 |
android:layout_height="wrap_content" |
4 |
android:text="This is a test!" |
5 |
android:id="@+id/my_message" |
6 |
app:layout_constraintBottom_toBottomOf="parent" |
7 |
app:layout_constraintLeft_toLeftOf="parent" |
8 |
app:layout_constraintRight_toRightOf="parent" |
9 |
app:layout_constraintTop_toTopOf="parent" /> |
Di dalam metode onCreate()
aktivitas Anda, Anda sekarang bisa mendapatkan referensi ke widget menggunakan metode findViewById()
.
1 |
val myMessage = findViewById<TextView>(R.id.my_message) |
5. menginisialisasi Remote Config
Aplikasi kami harus mampu bekerja dengan benar pertama kali dibuka, bahkan jika pengguna tidak terhubung ke Internet. Oleh karena itu, perlu tahu nama-nama dan nilai default parameter Remote konfigurasi kami. Membuat peta untuk menyimpan mereka adalah ide yang baik.
1 |
val defaults = mapOf( |
2 |
"font_size" to 18, |
3 |
"font_color" to "#ff0000" |
4 |
)
|
Perhatikan bahwa nama dan nilai default harus identik dengan rekan-rekan mereka di konsol Firebase.
We can now initialize a client for the Remote Config service using the defaults
map. To do so, first create an instance of the client by calling the getInstance()
method of the FirebaseRemoteConfig
class, and then pass the map to its setDefaults()
method.
1 |
val remoteConfig = FirebaseRemoteConfig.getInstance() |
2 |
remoteConfig.setDefaults(defaults) |
Pada titik ini, klien Remote Config sudah siap, dan kita dapat mulai menggunakan nilai-nilai yang disediakannya
6. Menggunakan Nilai Default
Instance FirebaseRemoteConfig
menawarkan beberapa metode bernama intuitif yang dapat Anda gunakan untuk mengambil nilai parameter Remote Config. Misalnya, Anda bisa memanggil metode getDouble ()
untuk mengambil nilai yang berupa angka. Demikian pula, Anda dapat memanggil metode getString ()
untuk mengambil nilai yang merupakan string.
Kode berikut menunjukkan cara mengambil nilai parameter font_size
dan font_color.
1 |
val fontSize = remoteConfig.getDouble("font_size") |
2 |
val fontColor = remoteConfig.getString("font_color") |
Setelah Anda memiliki nilainya, Anda bebas menggunakannya semau Anda. Untuk saat ini, mari gunakan mereka untuk mengubah tampilan widget myMessage
.
1 |
myMessage.textSize = fontSize.toFloat() |
2 |
myMessage.setTextColor(Color.parseColor(fontColor)) |
Jika Anda menjalankan aplikasi sekarang, Anda akan dapat melihat widget TextView
menggunakan nilai default dari parameter Remote Config.



7. Mengambil Nilai-Nilai Terbaru
Saat ini, klien Remote Config hanya mengembalikan nilai dari peta yang kami lewati. Untuk memungkinkannya menggunakan nilai yang didapatnya dari Firebase, kita harus memanggil metode activateFetched ()
.
1 |
remoteConfig.activateFetched() |
Metode activateFetched ()
, bagaimanapun, sebenarnya tidak mengambil nilai dari Firebase. Oleh karena itu, kita harus memanggil metode fetch ()
berikutnya, yang berjalan secara asinkron, untuk mengambil nilai.
1 |
remoteConfig.fetch() |
Jika Anda menjalankan aplikasi pada titik ini, ia akan tetap menggunakan nilai default. Namun, jika Anda menunggu beberapa detik, tutup, dan buka lagi, itu akan mulai menggunakan nilai yang Anda masukkan di konsol Firebase.
Biasanya, itu ide yang baik untuk membiarkan nilai yang berubah berlaku hanya ketika pengguna membuka aplikasi pada waktu berikutnya. Anda dapat melampirkan pendengar ke objek Tugas
yang dikembalikan oleh metode fetch ()
dan memperbarui antarmuka pengguna Anda di dalam pendengar, tetapi pengguna Anda mungkin tidak menyukai perubahan mendadak.
Anda dapat, bagaimanapun, menggunakan pendengar untuk keperluan debugging.
1 |
remoteConfig.fetch().addOnSuccessListener { |
2 |
Log.i(TAG, "Fetched values successfully") |
3 |
}
|
8. Mengubah Nilai-Nilai
Saat ini, nilai-nilai di peta sesuai dengan nilai jarak jauh. Agar dapat melihat layanan Remote Config beraksi, kami harus mengubah nilai yang kami sebutkan di konsol Firebase. Jadi kembali ke konsol dan klik salah satu parameter yang Anda lihat di bagian Remote Config.
Pada dialog yang muncul, biarkan bidang kunci Parameter tidak berubah, tetapi ubah nilainya. Demikian pula, Anda dapat mengubah nilai parameter lainnya juga.
Terakhir, pastikan Anda menekan tombol Publikasikan Perubahan sehingga nilainya menjadi tersedia untuk klien Remote Config.
.png)
.png)
.png)
Jika Anda membuka aplikasi sekarang, menutupnya, dan membukanya lagi, Anda akan melihat bahwa widget TextView
terlihat berbeda.



9. Menambahkan Ketentuan ke Parameter
Anda tidak selalu untuk menggelar nilai Remote konfigurasi yang sama untuk semua pengguna. Konsol Firebase memungkinkan Anda untuk menambahkan kondisi untuk parameter Anda sedemikian rupa sehingga mereka kembali nilai-nilai yang berbeda ke berbeda subset dari basis pengguna Anda. Ada banyak aturan yang dapat Anda gunakan untuk membuat himpunan bagian tersebut. Misalnya, Anda dapat menargetkan pengguna yang termasuk dalam negara tertentu, pengguna dengan perangkat yang menjalankan versi Android tertentu, atau bahkan pengguna yang berbicara bahasa tertentu.Ada banyak aturan yang dapat Anda gunakan untuk membuat himpunan bagian tersebut. Misalnya, Anda dapat menargetkan pengguna yang termasuk dalam negara tertentu, pengguna dengan perangkat yang menjalankan versi Android tertentu, atau bahkan pengguna yang berbicara bahasa tertentu.
Karena Firebase mengelolanya secara transparan, Anda tidak perlu melakukan perubahan apa pun dalam kode untuk menangani kondisi yang terkait dengan parameter Anda.
Demi sebuah contoh, mari kita sekarang menambahkan kondisi ke parameter font_color
sedemikian rupa sehingga nilainya adalah biru untuk pengguna India saja.
Mulai dengan mengklik parameter di konsol Firebase. Dalam formulir yang muncul, klik pada bidang nilai Tambah untuk kondisi turun bawah dan pilih Tentukan kondisi baru.
.png)
.png)
.png)
Pada dialog yang terbuka berikutnya, Anda akan dapat memberikan nama untuk kondisi Anda dan, dari daftar drop-down Berlaku jika ... pilih berbagai opsi yang akan memungkinkan Anda fokus pada kelompok pengguna tertentu . Untuk menargetkan pengguna negara tertentu, Anda harus memilih opsi Negara / Kawasan. Di daftar yang muncul di sampingnya, Anda dapat memilih satu atau beberapa negara. Pilih India di sini.
.png)
.png)
.png)
Setelah Anda mengisi semua kolom, tekan tombol Create condition untuk menyelesaikan kondisi.
Pada titik ini, parameter Anda akan dapat menerima dua nilai, bukan satu. Biarkan bidang Nilai default sebagaimana adanya dan ketikkan kode hex untuk warna biru di bidang nilai bersyarat.
.png)
.png)
.png)
Jika Anda memublikasikan perubahan sekarang, pengguna di India akan menerima pembaruan tambahan, dan teks di widget TextView
akan muncul biru untuk mereka.



Kesimpulan
Sekarang Anda tahu cara memodifikasi aplikasi dari jarak jauh menggunakan Firebase Remote Config dan konsol Firebase. Dengan sedikit kreativitas, ada banyak hal yang dapat Anda lakukan dengan layanan ini untuk meningkatkan pengalaman pengguna aplikasi Anda. Misalnya, sebagian besar pengembang saat ini menggunakannya untuk mengubah tema aplikasi mereka untuk menandai hari-hari raya. Banyak juga yang menggunakannya dengan Firebase Analytics untuk menjalankan pengujian A / B di basis pengguna mereka.
Untuk mempelajari lebih lanjut tentang Remote Config, silakan lihat dokumentasi resmi.