Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Parameter dan Kondisi Konfigurasi Jarak Jauh

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Saat menggunakan Firebase console atau API backend Remote Config , Anda menentukan satu atau beberapa parameter (key-value pair) dan memberikan nilai default dalam aplikasi untuk parameter tersebut. Anda dapat mengganti nilai default dalam aplikasi dengan menentukan nilai parameter sisi server. Kunci parameter dan nilai parameter adalah string, tetapi nilai parameter dapat ditransmisikan sebagai tipe data lain saat Anda menggunakan nilai ini di aplikasi.

Menggunakan Firebase console, Admin SDK , atau REST API Remote Config , Anda dapat membuat nilai default baru untuk parameter Anda, serta nilai bersyarat yang digunakan untuk menargetkan grup instance aplikasi. Setiap kali Anda memperbarui konfigurasi di Firebase console, Firebase membuat dan menerbitkan versi baru template Remote Config Anda. Versi sebelumnya disimpan, memungkinkan Anda untuk mengambil atau mengembalikan sesuai kebutuhan. Operasi ini tersedia untuk Anda melalui Firebase console, Firebase Admin SDK, dan REST API dan dijelaskan lebih luas dalam versi template Kelola Remote Config .

Panduan ini menjelaskan parameter, kondisi, aturan, nilai kondisional, dan bagaimana berbagai nilai parameter diprioritaskan di Server Remote Config dan di aplikasi Anda. Ini juga memberikan detail tentang jenis aturan yang digunakan untuk membuat ketentuan.

Kondisi, aturan, dan nilai kondisional

Kondisi digunakan untuk menargetkan grup instance aplikasi. Kondisi terdiri dari satu atau beberapa aturan yang semuanya harus bernilai true agar kondisi bernilai true untuk instance aplikasi tertentu. Jika nilai untuk aturan tidak ditentukan (misalnya, bila tidak ada nilai yang tersedia), aturan tersebut akan dievaluasi menjadi false .

Misalnya, parameter yang menentukan laman pembuka aplikasi dapat menampilkan gambar berbeda berdasarkan jenis OS menggunakan aturan sederhana if device_os = Android :

Tangkapan layar parameter 'splash_page' di konsol Firebase menunjukkan nilai default untuk iOS dan nilai bersyarat untuk Android

Atau, kondisi waktu dapat digunakan untuk mengontrol kapan aplikasi Anda menampilkan item promosi khusus.

Sebuah parameter dapat memiliki beberapa nilai bersyarat yang menggunakan kondisi berbeda, dan parameter dapat berbagi kondisi dalam sebuah proyek. Di tab Parameter di Firebase console, Anda dapat melihat persentase pengambilan untuk setiap nilai bersyarat parameter. Metrik ini menunjukkan persentase permintaan dalam 24 jam terakhir yang menerima setiap nilai.

Prioritas nilai parameter

Sebuah parameter mungkin memiliki beberapa nilai bersyarat yang terkait dengannya. Aturan berikut menentukan nilai mana yang diambil dari Server Remote Config, dan nilai mana yang digunakan dalam instance aplikasi tertentu pada titik waktu tertentu:

Nilai parameter sisi server diambil berdasarkan daftar prioritas berikut

  1. Pertama, nilai bersyarat diterapkan, jika ada yang memiliki ketentuan yang bernilai true untuk instance aplikasi tertentu. Jika beberapa ketentuan dievaluasi menjadi true , yang pertama (teratas) yang ditampilkan di UI Firebase console diutamakan, dan nilai bersyarat yang terkait dengan ketentuan tersebut diberikan saat aplikasi mengambil nilai dari backend. Anda dapat mengubah prioritas ketentuan dengan menyeret dan melepaskan ketentuan di tab Ketentuan .

  2. Jika tidak ada nilai bersyarat dengan ketentuan yang bernilai true , nilai default sisi server disediakan saat aplikasi mengambil nilai dari backend. Jika parameter tidak ada di backend, atau jika nilai default disetel ke Use in-app default , maka tidak ada nilai yang diberikan untuk parameter tersebut saat aplikasi mengambil nilai.

Di aplikasi Anda, nilai parameter dikembalikan dengan metode get sesuai dengan daftar prioritas berikut

  1. Jika nilai diambil dari backend lalu diaktifkan, aplikasi akan menggunakan nilai yang diambil. Nilai parameter yang diaktifkan bersifat persisten.
  2. Jika tidak ada nilai yang diambil dari backend, atau jika nilai yang diambil dari backend Remote Config belum diaktifkan, aplikasi akan menggunakan nilai default dalam aplikasi.

    Untuk informasi selengkapnya tentang mendapatkan dan menyetel nilai default, lihat Mengunduh default template Remote Config .

  3. Jika tidak ada nilai default dalam aplikasi yang ditetapkan, aplikasi akan menggunakan nilai tipe statis (seperti 0 untuk int dan false untuk boolean ).

Grafik ini meringkas bagaimana parameter value diprioritaskan di backend Remote Config, dan di aplikasi Anda:

Diagram yang menunjukkan aliran yang dijelaskan oleh daftar yang diurutkan di atas

Tipe data nilai parameter

Remote Config memungkinkan Anda memilih tipe data untuk setiap parameter, dan memvalidasi semua nilai sisi server terhadap tipe tersebut sebelum pembaruan template. Tipe data disimpan dan dikembalikan pada permintaan getRemoteConfig .

Jenis yang saat ini didukung adalah:

  • String
  • Boolean
  • Number
  • JSON

Di UI Firebase console, tipe data dapat dipilih dari dropdown di samping kunci parameter. Dalam tipe REST API dapat diatur menggunakan kolom value_type di dalam objek parameter.

Grup parameter

Remote Config memungkinkan Anda mengelompokkan parameter bersama untuk UI dan model mental yang lebih terorganisir.

Misalnya, Anda perlu mengaktifkan atau menonaktifkan tiga jenis autentikasi yang berbeda saat meluncurkan fitur login baru. Dengan Remote Config, Anda dapat membuat tiga parameter untuk mengaktifkan jenis sesuai keinginan, lalu mengaturnya dalam grup bernama "Login baru", tanpa perlu menambahkan awalan atau penyortiran khusus.

Anda dapat membuat grup parameter menggunakan konsol Firebase atau REST API Remote Config. Setiap grup parameter yang Anda buat memiliki nama unik di template Remote Config Anda. Saat membuat grup parameter, perhatikan:

  • Parameter hanya dapat disertakan dalam satu grup kapan saja, dan kunci parameter harus tetap unik di semua parameter.
  • Nama grup parameter dibatasi hingga 256 karakter.
  • Jika Anda menggunakan REST API dan Firebase console, pastikan setiap logika REST API diperbarui untuk menangani grup parameter saat dipublikasikan.

Buat atau ubah grup parameter menggunakan konsol Firebase

Anda dapat mengelompokkan parameter di tab Parameter di Firebase console. Untuk membuat atau mengubah grup:

  1. Pilih Kelola grup .
  2. Pilih kotak centang untuk parameter yang ingin Anda tambahkan dan pilih Pindahkan ke grup .
  3. Pilih grup yang ada, atau buat grup baru dengan memasukkan nama dan deskripsi, lalu pilih Buat grup baru . Setelah Anda menyimpan grup, grup tersebut tersedia untuk dipublikasikan menggunakan tombol Publikasikan perubahan .

Buat grup secara terprogram

REST API Remote Config menyediakan cara otomatis untuk membuat dan memublikasikan grup parameter. Dengan asumsi Anda sudah terbiasa dengan REST dan disiapkan untuk mengotorisasi permintaan ke API, Anda dapat melakukan langkah-langkah ini untuk mengelola grup secara terprogram:

  1. Ambil template saat ini
  2. Tambahkan objek JSON untuk mewakili grup parameter Anda
  3. Publikasikan grup parameter menggunakan permintaan HTTP PUT.

Objek parameterGroups berisi kunci grup, dengan deskripsi bersarang dan daftar parameter yang dikelompokkan. Perhatikan bahwa setiap kunci grup harus unik secara global.

Misalnya, berikut adalah kutipan dari revisi template yang menambahkan grup parameter "menu baru" dengan satu parameter, pumpkin_spice_season :

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …


  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's currently pumpkin spice season."
        }
      }
    }
  }
}

Jenis aturan kondisi

Jenis aturan berikut didukung di konsol Firebase. Fungsionalitas yang setara tersedia di REST API Remote Config, sebagaimana dijelaskan dalam referensi ekspresi bersyarat .

Jenis aturan Operator Nilai Catatan
Aplikasi == Pilih dari daftar ID Aplikasi untuk aplikasi yang terkait dengan proyek Firebase Anda. Saat menambahkan aplikasi ke Firebase, Anda memasukkan ID bundel atau nama paket Android yang menentukan atribut yang diekspos sebagai ID Aplikasi dalam aturan Remote Config.

Gunakan atribut ini sebagai berikut:
  • Untuk platform Apple: Gunakan aplikasi CFBundleIdentifier . Anda dapat menemukan Bundle Identifier di tab General untuk target utama aplikasi Anda di Xcode.
  • Untuk Android: Gunakan applicationId aplikasi . Anda dapat menemukan applicationId di file build.gradle tingkat aplikasi Anda.
Versi aplikasi Untuk nilai string:
sama persis,
mengandung,
tidak mengandung,
ekspresi reguler

Untuk nilai numerik:
=, ≠, >, ≥, <, ≤

Tentukan versi aplikasi Anda yang akan ditargetkan.

Sebelum menggunakan aturan ini, Anda harus menggunakan aturan App ID untuk memilih aplikasi Android/Apple yang terkait dengan project Firebase Anda.

Untuk platform Apple: Gunakan aplikasi CFBundleShortVersionString .

Catatan: Pastikan aplikasi Apple Anda menggunakan platform Firebase Apple SDK versi 6.24.0 atau yang lebih baru, karena CFBundleShortVersionString tidak dikirim dalam versi sebelumnya (lihat catatan rilis ).

Untuk Android: Gunakan nama versi aplikasi .

Perbandingan string untuk aturan ini peka huruf besar-kecil. Saat menggunakan operator yang sama persis , berisi , tidak berisi , atau ekspresi reguler , Anda dapat memilih beberapa nilai.

Saat menggunakan operator ekspresi reguler , Anda dapat membuat ekspresi reguler dalam format RE2 . Ekspresi reguler Anda dapat cocok dengan semua atau sebagian dari string versi target. Anda juga dapat menggunakan jangkar ^ dan $ untuk mencocokkan awal, akhir, atau keseluruhan string target.

Membangun nomor Untuk nilai string:
sama persis,
mengandung,
tidak mengandung,
ekspresi reguler

Untuk nilai numerik:
=, ≠, >, ≥, <, ≤

Tentukan build aplikasi Anda yang akan ditargetkan.

Sebelum menggunakan aturan ini, Anda harus menggunakan aturan App ID untuk memilih aplikasi Apple atau Android yang terkait dengan project Firebase Anda.

Operator ini hanya tersedia untuk aplikasi Apple dan Android. Ini sesuai dengan aplikasi CFBundleVersion untuk Apple dan versionCode untuk Android. Perbandingan string untuk aturan ini peka huruf besar-kecil.

Saat menggunakan operator yang sama persis , berisi , tidak berisi , atau ekspresi reguler , Anda dapat memilih beberapa nilai.

Saat menggunakan operator ekspresi reguler , Anda dapat membuat ekspresi reguler dalam format RE2 . Ekspresi reguler Anda dapat cocok dengan semua atau sebagian dari string versi target. Anda juga dapat menggunakan jangkar ^ dan $ untuk mencocokkan awal, akhir, atau keseluruhan string target.

Platform == iOS
Android
Web
Sistem operasi ==

Tentukan sistem operasi yang akan ditargetkan.

Sebelum menggunakan aturan ini, Anda harus menggunakan aturan ID Aplikasi untuk memilih aplikasi Web yang terkait dengan proyek Firebase Anda.

Aturan ini bernilai true untuk instance aplikasi Web tertentu jika sistem operasi dan versinya cocok dengan nilai target dalam daftar yang ditentukan.
Peramban ==

Tentukan browser yang akan ditargetkan.

Sebelum menggunakan aturan ini, Anda harus menggunakan aturan ID Aplikasi untuk memilih aplikasi Web yang terkait dengan proyek Firebase Anda.

Aturan ini bernilai true untuk instance aplikasi Web tertentu jika browser dan versinya cocok dengan nilai target dalam daftar yang ditentukan.
Kategori perangkat adalah, tidak seluler Aturan ini mengevaluasi apakah perangkat yang mengakses aplikasi web Anda adalah seluler atau non-seluler (desktop atau konsol). Jenis aturan ini hanya tersedia untuk aplikasi web.
Bahasa sedang dalam Pilih satu atau lebih bahasa. Aturan ini bernilai true untuk instance aplikasi tertentu jika instance aplikasi tersebut diinstal pada perangkat yang menggunakan salah satu bahasa yang tercantum.
Negara/Wilayah sedang dalam Pilih satu atau beberapa wilayah atau negara. Aturan ini bernilai true untuk instance aplikasi tertentu jika instance berada di salah satu wilayah atau negara yang tercantum. Kode negara perangkat ditentukan menggunakan alamat IP perangkat dalam permintaan atau kode negara yang ditentukan oleh Firebase Analytics (jika data Analytics dibagikan dengan Firebase).
Audiens pengguna Termasuk setidaknya satu Pilih satu atau beberapa dari daftar audiens Google Analytics yang telah Anda siapkan untuk proyek Anda.

Aturan ini memerlukan aturan ID Aplikasi untuk memilih aplikasi yang terkait dengan proyek Firebase Anda.

Catatan: Karena banyak audiens Analytics ditentukan oleh peristiwa atau properti pengguna, yang dapat didasarkan pada tindakan pengguna aplikasi, mungkin perlu beberapa saat agar aturan Pengguna dalam audiens diterapkan untuk instance aplikasi tertentu.

Properti pengguna Untuk nilai string:
mengandung,
tidak mengandung,
sama persis,
ekspresi reguler

Untuk nilai numerik:
=, ≠, >, ≥, <, ≤

Catatan: Pada klien, Anda hanya dapat menetapkan nilai string untuk properti pengguna. Untuk kondisi yang menggunakan operator numerik, Remote Config mengonversi nilai properti pengguna yang sesuai menjadi integer/float.
Pilih dari daftar properti pengguna Google Analytics yang tersedia. Untuk mempelajari cara menggunakan properti pengguna guna menyesuaikan aplikasi Anda untuk segmen basis pengguna yang sangat spesifik, lihat Remote Config dan properti pengguna .

Untuk mempelajari lebih lanjut tentang properti pengguna, lihat panduan berikut:

Saat menggunakan operator yang sama persis , berisi , tidak berisi atau ekspresi reguler , Anda dapat memilih beberapa nilai.

Saat menggunakan operator ekspresi reguler , Anda dapat membuat ekspresi reguler dalam format RE2 . Ekspresi reguler Anda dapat cocok dengan semua atau sebagian dari string versi target. Anda juga dapat menggunakan jangkar ^ dan $ untuk mencocokkan awal, akhir, atau keseluruhan string target.

Catatan: Properti pengguna yang dikumpulkan secara otomatis saat ini tidak tersedia saat membuat ketentuan Remote Config.
Pengguna dalam persentil acak <=, > 0-100

Gunakan kolom ini untuk menerapkan perubahan pada sampel acak dari instance aplikasi (dengan ukuran sampel sekecil 0,0001%), menggunakan operator <= dan > untuk menyegmentasikan pengguna (instance aplikasi) ke dalam grup.

Setiap instance aplikasi terus-menerus dipetakan ke bilangan bulat atau pecahan acak, sesuai dengan kunci yang ditentukan dalam proyek tersebut. Aturan akan menggunakan kunci default (ditampilkan sebagai DEF di Firebase console) kecuali Anda memilih atau membuat kunci lain. Anda dapat mengembalikan aturan untuk menggunakan kunci default dengan menghapus kolom Randomize users using this key . Anda dapat menggunakan satu kunci di seluruh aturan untuk menangani instance aplikasi yang sama secara konsisten dalam rentang persentase tertentu. Atau, Anda dapat memilih grup instance aplikasi baru yang ditetapkan secara acak untuk rentang persentase tertentu dengan membuat kunci baru.

Misalnya, untuk membuat dua ketentuan terkait yang masing-masing berlaku untuk 5% pengguna aplikasi yang tidak tumpang tindih, Anda dapat membuat satu ketentuan menyertakan aturan <= 5% , dan ketentuan lain menyertakan aturan > 5% dan aturan <= aturan 10% . Untuk memungkinkan beberapa pengguna muncul secara acak di kedua grup, gunakan kunci yang berbeda untuk aturan di setiap kondisi.

Segmen yang diimpor sedang dalam Pilih satu atau beberapa segmen yang diimpor. Aturan ini memerlukan penyiapan segmen yang diimpor khusus .
Tanggal Waktu Sebelum setelah Tanggal dan waktu tertentu, baik dalam zona waktu perangkat atau zona waktu tertentu seperti "(GMT+11) waktu Sydney". Membandingkan waktu saat ini dengan waktu pengambilan perangkat.
Pertama buka Sebelum setelah Tanggal dan waktu yang ditentukan, dalam zona waktu yang ditentukan.

Mencocokkan pengguna yang pertama kali membuka aplikasi dalam rentang waktu yang ditentukan.

Membutuhkan SDK berikut:

  • Firebase SDK untuk Google Analytics
  • Platform Apple SDK v9.0.0+ atau Android SDK v21.1.1+ (Firebase BoM v30.3.0+)

ID penginstalan sedang dalam Tentukan satu atau lebih ID Instalasi (hingga 50) untuk ditargetkan. Aturan ini bernilai true untuk penginstalan tertentu jika ID penginstalan tersebut ada dalam daftar nilai yang dipisahkan koma.

Untuk mempelajari cara mendapatkan ID penginstalan, lihat Mengambil pengidentifikasi klien .

Mencari parameter dan kondisi

Anda dapat mencari kunci parameter, nilai parameter, dan kondisi proyek Anda dari Firebase console menggunakan kotak pencarian di bagian atas tab Parameter Remote Config.

Batasan parameter dan kondisi

Dalam proyek Firebase, Anda dapat memiliki hingga 2000 parameter, dan hingga 500 kondisi. Panjang kunci parameter dapat mencapai 256 karakter, harus dimulai dengan garis bawah atau karakter huruf bahasa Inggris (AZ, az), dan juga dapat menyertakan angka. Panjang total string nilai parameter dalam proyek tidak boleh melebihi 1.000.000 karakter.

Melihat perubahan pada parameter dan kondisi

Anda dapat melihat perubahan terbaru pada template Remote Config dari konsol Firebase . Untuk setiap parameter dan kondisi individual, Anda dapat:

  • Lihat nama pengguna yang terakhir mengubah parameter atau kondisi.

  • Jika perubahan terjadi dalam hari yang sama, lihat jumlah menit atau jam yang telah berlalu sejak perubahan dipublikasikan ke template Remote Config yang aktif.

  • Jika perubahan terjadi satu hari atau lebih di masa lalu, lihat tanggal publikasi perubahan ke template Remote Config yang aktif.

Pembaruan parameter

Di halaman Parameter Remote Config, kolom Terakhir dipublikasikan menunjukkan pengguna terakhir yang mengubah setiap parameter dan tanggal publikasi terakhir untuk perubahan tersebut:

  • Untuk melihat perubahan metadata untuk parameter yang dikelompokkan, luaskan grup parameter.

  • Untuk mengurutkan dalam urutan menaik atau menurun menurut tanggal penerbitan, klik label kolom Terakhir diterbitkan .

Pembaruan kondisi

Pada halaman Ketentuan Remote Config, Anda dapat melihat pengguna terakhir yang mengubah ketentuan dan tanggal mereka mengubahnya di sebelah Terakhir diubah di bawah setiap ketentuan.

Langkah selanjutnya

Untuk mulai mengonfigurasi proyek Firebase Anda, lihat Menyiapkan Proyek Firebase Remote Config .