Buka konsol

Referensi ekspresi kondisional Remote Config

Halaman ini berisi informasi referensi untuk membuat ekspresi kondisional menggunakan REST API Remote Config atau Firebase console. Untuk mengetahui informasi lebih lanjut tentang cara menyiapkan dan menggunakan REST API, baca Menggunakan REST API Remote Config.

Elemen yang digunakan untuk membuat condition

REST API Remote Config mendukung elemen yang sama dengan yang dapat Anda gunakan untuk membuat kondisi saat mengonfigurasi layanan Remote Config menggunakan Firebase Console:

Elemen Deskripsi
&&

Digunakan untuk membuat elemen logika "and" jika menggunakan lebih dari satu elemen untuk sebuah kondisi. Jika sebuah elemen digunakan dalam sintaks REST tanpa && , elemen tersebut diperlakukan sebagai kondisi.

Catatan: sebuah spasi perlu diselipkan ke sebelum dan sesudah ampersand. Sebagai contoh: element1 && element2.

app.version Mengevaluasi ke TRUE atau FALSE berdasarkan versi aplikasi.
app.id Elemen yang didasarkan pada Firebase App ID aplikasi
app.audiences Elemen yang mengevaluasi ke TRUE atau FALSE berdasarkan kehadiran atau ketidakhadiran pengguna pada satu atau beberapa audience Firebase Analytics.
app.userProperty Elemen yang mengevaluasi ke TRUE atau FALSE berdasarkan nilai numerik atau string dari Properti Pengguna Firebase Analytics.
device.country Elemen yang didasarkan pada wilayah/negara tempat perangkat berada, dengan menggunakan standar ISO 3166-1 alpha-2 (misalnya, Amerika Serikat atau Inggris Raya). Mengevaluasi ke TRUE ketika sebuah negara cocok dengan kode negara yang diharapkan.
device.dateTime Elemen yang didasarkan pada waktu pengambilan terakhir yang dilakukan perangkat. Elemen ini menggunakan format tanggal ISO dengan opsi untuk menentukan zona waktu tetap; misalnya, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles').
device.language Elemen yang didasarkan pada bahasa yang dipilih pada perangkat. Bahasa ini diwakili menggunakan tag Bahasa IETF, seperti es-ES, pt-BR, atau en-US. Mengevaluasi ke TRUE ketika sebuah bahasa cocok dengan kode bahasa yang diharapkan.
device.os Elemen yang didasarkan pada sistem operasi yang digunakan pada perangkat (iOS atau Android). Mengevaluasi ke TRUE ketika jenis OS perangkat sesuai dengan yang diharapkan.
percent Mengevaluasi ke TRUE berdasarkan penyertaan pengguna dalam persentil fraksional yang ditetapkan secara acak (dengan ukuran sampel hingga sekecil 0,000001%).

Kondisi berelemen tunggal terdiri dari 3 kolom:

  1. name yang bisa ditetapkan secara sembarang (maksimal 100 karakter)
  2. Ekspresi kondisional yang mengevaluasi ke TRUE atau FALSE, terdiri dari elemen yang ditunjukkan di atas.
  3. (Opsional) tagColor, yang dapat berupa "BLUE", "BROWN", "CYAN", "DEEP_ORANGE", "GREEN", "INDIGO", "LIME", "ORANGE", "PINK", "PURPLE", atau "TEAL". Tulisan warna peka huruf kapital dan hanya memengaruhi penampilan condition di Firebase console.

Operator yang didukung

Misalnya, app.version.notContains([123, 456]) menampilkan TRUE jika versi aplikasi sebenarnya adalah 123 atau 492, tetapi menampilkan FALSE jika versi aplikasi sebenarnya adalah 999.
Elemen Operator yang didukung Deskripsi
app.audiences .inAtLeastOne([...]) Menampilkan TRUE jika audience sebenarnya cocok dengan setidaknya satu nama audience dalam daftar.
Contoh:


app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) Menampilkan TRUE jika audience sebenarnya tidak cocok dengan satu pun nama audience dalam daftar.
app.audiences .inAll([...]) Menampilkan TRUE jika audience sebenarnya adalah anggota dari setiap nama audience dalam daftar.
app.audiences .notInAll([...]) Menampilkan TRUE jika audience sebenarnya bukanlah anggota audience mana pun dalam daftar.
app.userProperty <, <=, ==, >=, > Menampilkan TRUE jika properti pengguna sebenarnya cocok secara numerik dengan perbandingan yang ditentukan operator.
app.userProperty .contains([...]) Menampilkan TRUE jika salah satu dari nilai target adalah substring dari properti pengguna sebenarnya.
app.userProperty .notContains([...]) Menampilkan TRUE jika tidak satu pun dari nilai target yang merupakan substring dari properti pengguna sebenarnya.
app.userProperty .exactlyMatches([...]) Menampilkan TRUE jika properti pengguna sebenarnya sama persis (peka huruf besar-kecil) dengan sembarang nilai target dalam daftar.
app.userProperty .matches([...]) Menampilkan TRUE jika sembarang ekspresi reguler target dalam daftar cocok dengan substring dari, atau keseluruhan, nilai sebenarnya. Untuk memaksa pencocokan seluruh string, tuliskan awalan "^" dan beri akhiran "$". Menggunakan sintaks RE2.
app.id == Menampilkan TRUE jika nilai yang ditentukan sesuai dengan ID Aplikasi dari aplikasi.
app.version .contains([...]) MenampilkanTRUE jika salah satu nilai target adalah substring dari versi aplikasi sebenarnya — misalnya, "a" dan "bc" adalah substring dari "abc".
app.version .notContains([...]) Menampilkan TRUE jika tidak ada satu pun dari nilai target yang merupakan substring dari versi aplikasi sebenarnya.
app.version .exactlyMatches([...]) Menampilkan TRUE jika versi aplikasi sebenarnya sama persis dengan sembarang nilai target dalam daftar.
app.version .matches([...]) Menampilkan TRUE jika sembarang ekspresi reguler target dalam daftar cocok dengan substring dari, atau keseluruhan, nilai sebenarnya. Untuk memaksakan pencocokan seluruh string, tuliskan ekspresi reguler dengan awalan "^" dan akhiran "$". Menggunakan sintaks RE2.
device.country in [...] Menampilkan TRUE jika negara perangkat cocok dengan yang ditentukan dalam daftar. Contoh penggunaan: device.country in ['gb', 'us']. Kode negara perangkat ditentukan menggunakan alamat IP perangkat dalam permintaan atau kode negara yang ditentukan oleh Firebase Analytics (jika data Analytics dibagikan kepada Firebase).
device.dateTime <=, > Membandingkan waktu saat ini dengan waktu target kondisi dan mengevaluasi ke TRUE atau FALSE berdasarkan operator. Contoh penggunaan: dateTime < dateTime('2017-03-22T13:39:44').
device.language in [...] Menampilkan TRUE jika ada bahasa aplikasi yang cocok dengan bahasa dalam daftar. Contoh penggunaan: device.language in ['en-UK', 'en-US'].
device.os ==, != Mengembalikan TRUE jika sistem operasi perangkat dan nilai pada kolom memiliki perbandingan yang sesuai dengan operator.
percent <=, > Menampilkan TRUE jika nilai dalam kolom percent setara dengan nilai yang ditetapkan secara acak, yang cocok dengan operator.

Parameter dengan string kosong dan tanpa nilai

Saat Anda membuat atau mengedit parameter value di template Remote Config, Anda memiliki opsi untuk menetapkan parameter value ke nilai string, (string kosong), atau Tanpa nilai (hal ini membuat nilai yang digunakan adalah nilai default dalam aplikasi, bukan nilai dalam template Remote Config).

Saat Anda menggunakan Remote Config API untuk mendapatkan template Remote Config untuk project dalam format JSON, Tanpa nilai akan ditunjukkan seperti baris di bawah ini:

"myCondition" : {
  "useInAppDefault" : true
},

Demikian pula, (string kosong) akan ditunjukkan seperti di bawah ini:

"myCondition" : {
  "value" : ""
},