Advertisement
  1. Code
  2. Android SDK

Firebase konfigurasi jarak jauh untuk aplikasi Android

Scroll to top
Read Time: 8 min

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.

Firebase Assistant for Remote ConfigFirebase Assistant for Remote ConfigFirebase Assistant for Remote Config

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.

Connect to Firebase dialogConnect to Firebase dialogConnect to Firebase dialog

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.

Project changes promptProject changes promptProject changes prompt

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.

Remote Config welcome screenRemote Config welcome screenRemote Config welcome screen

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.

Parameter creation dialogParameter creation dialogParameter creation dialog

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.

List of parametersList of parametersList of parameters

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.

App running with default valuesApp running with default valuesApp running with default values

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.

Updated values for the parametersUpdated values for the parametersUpdated values for the parameters

Jika Anda membuka aplikasi sekarang, menutupnya, dan membukanya lagi, Anda akan melihat bahwa widget TextView terlihat berbeda.

App running with latest values from FirebaseApp running with latest values from FirebaseApp running with latest values from Firebase

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.

Add value for condition fieldAdd value for condition fieldAdd value for condition field

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.

Condition creation dialogCondition creation dialogCondition creation dialog

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.

Conditional values dialogConditional values dialogConditional values dialog

Jika Anda memublikasikan perubahan sekarang, pengguna di India akan menerima pembaruan tambahan, dan teks di widget TextView akan muncul biru untuk mereka.

Same app running on devices in different countriesSame app running on devices in different countriesSame app running on devices in different countries

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.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.