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

Referensi ekspresi kondisional Remote Config

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

Halaman ini berisi informasi referensi untuk membuat ekspresi bersyarat menggunakan API backend Remote Config atau konsol Firebase. Untuk informasi selengkapnya tentang penyiapan dan penggunaan API backend, lihat Memodifikasi Remote Config secara terprogram .

Elemen yang digunakan untuk membuat kondisi

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

Elemen Keterangan
&&

Digunakan untuk membuat elemen "dan" yang logis jika menggunakan lebih dari satu elemen untuk suatu kondisi. Jika suatu elemen digunakan dalam sintaks REST tanpa && , elemen tersebut diperlakukan sebagai kondisi.

Catatan: diperlukan spasi sebelum dan sesudah ampersand. Misalnya: element1 && element2 .

app.build

Mengevaluasi ke TRUE atau FALSE berdasarkan nilai nomor build aplikasi.

Catatan: Hanya tersedia di perangkat Apple dan Android. Untuk Apple, gunakan nilai CFBundleVersion dan untuk Android, gunakan nilai versionCode .

app.version

Dinilai TRUE atau FALSE berdasarkan nilai nomor versi aplikasi.

Catatan: Untuk perangkat Android gunakan nilai versionName , dan untuk perangkat Apple gunakan nilai CFBundleShortVersionString .

app.id Elemen berdasarkan ID Aplikasi Firebase aplikasi
app.audiences Elemen yang dinilai TRUE atau FALSE berdasarkan ada tidaknya pengguna di satu atau beberapa audiens Firebase Analytics .
app.firstOpenTimestamp Elemen berdasarkan saat pertama kali pengguna meluncurkan aplikasi, diperoleh dari peristiwa first_open Google Analytics. Menggunakan format tanggal ISO dengan opsi untuk menentukan zona waktu tetap; misalnya, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') . Jika tidak ada zona waktu yang ditentukan, GMT akan digunakan.
app.userProperty Elemen yang dievaluasi menjadi TRUE atau FALSE berdasarkan nilai numerik atau string dari Properti Pengguna Firebase Analytics .
app.operatingSystemAndVersion

Elemen yang didasarkan pada sistem operasi tempat aplikasi berjalan. TRUE ketika OS dan versi OS cocok dengan target yang ditentukan.

Catatan: Hanya tersedia untuk aplikasi Web.

app.browserAndVersion

Elemen berdasarkan browser tempat aplikasi berjalan. Dinilai TRUE ketika browser dan versi browser cocok dengan target yang ditentukan.

Catatan: Hanya tersedia untuk aplikasi Web.

app.firebaseInstallationId Elemen berdasarkan ID pemasangan perangkat tertentu. TRUE ketika ID penginstalan cocok dengan salah satu ID penginstalan yang ditentukan.
device.country Elemen berdasarkan kawasan/negara tempat perangkat berada, menggunakan standar ISO 3166-1 alpha-2 (misalnya, AS atau Inggris Raya). TRUE ketika sebuah negara cocok dengan kode negara yang diharapkan.
device.dateTime Elemen berdasarkan waktu pengambilan terakhir yang dilakukan perangkat. Menggunakan format tanggal ISO dengan opsi untuk menentukan zona waktu tetap; misalnya, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') .
device.language Elemen berdasarkan bahasa yang dipilih pada perangkat. Bahasa diwakili menggunakan tag Bahasa IETF seperti es-ES, pt-BR, atau en-US. Mengevaluasi menjadi TRUE ketika bahasa cocok dengan kode bahasa yang diharapkan.
device.os Elemen berdasarkan sistem operasi yang digunakan pada perangkat (Apple atau Android). TRUE ketika OS perangkat adalah tipe yang diharapkan.
percent Dievaluasi menjadi TRUE berdasarkan penyertaan pengguna dalam persentase fraksional yang ditetapkan secara acak (dengan ukuran sampel sekecil 0,000001%).

Kondisi elemen tunggal berisi tiga bidang:

  1. name yang ditentukan secara sewenang-wenang (hingga 100 karakter)
  2. Ekspresi bersyarat yang bernilai TRUE atau FALSE , terdiri dari elemen yang ditunjukkan di atas.
  3. (Opsional) tagColor , yang dapat berupa " BLUE ", " BROWN ", " DEEP_ORANGE CYAN , " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE ", atau " TEAL ". Warna tidak peka huruf besar/kecil, dan hanya memengaruhi cara kondisi ditampilkan di Firebase console.

Operator yang didukung

Misalnya, app.build.notContains([123, 456]) mengembalikan TRUE jika versi aplikasi yang sebenarnya adalah 123 atau 492, tetapi mengembalikan FALSE jika versi aplikasi yang sebenarnya adalah 999. Misalnya, app.version.notContains([123, 456]) mengembalikan TRUE jika versi aplikasi sebenarnya adalah 123 atau 492, tetapi mengembalikan FALSE jika versi aplikasi sebenarnya adalah 999.
Elemen Operator yang didukung Keterangan
app.audiences .inAtLeastOne([...]) Mengembalikan TRUE jika audiens sebenarnya cocok dengan setidaknya satu nama audiens dalam daftar.
Sebagai contoh:

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

app.audiences .notInAtLeastOne([...]) Mengembalikan TRUE jika audiens sebenarnya tidak cocok dengan setidaknya satu nama audiens dalam daftar.
app.audiences .inAll([...]) Mengembalikan TRUE jika audiens yang sebenarnya adalah anggota dari setiap nama audiens dalam daftar.
app.audiences .notInAll([...]) Mengembalikan TRUE jika audiens yang sebenarnya bukan anggota audiens mana pun dalam daftar.
app.firstOpenTimestamp <=, > Membandingkan waktu kejadian first_open dengan waktu yang ditentukan dalam kondisi dan mengembalikan TRUE atau FALSE berdasarkan operator.
Penggunaan sampel:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
Untuk menentukan rentang:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') Jika tidak ada zona waktu yang ditentukan, GMT digunakan.
app.userProperty < , <= , == , != , >= , > Mengembalikan TRUE jika properti pengguna sebenarnya secara numerik dibandingkan dengan nilai yang ditentukan dengan cara yang sesuai dengan operator.
app.userProperty .contains([...]) Mengembalikan TRUE jika salah satu nilai target adalah substring dari properti pengguna yang sebenarnya.
app.userProperty .notContains([...]) Mengembalikan TRUE jika tidak ada nilai target yang merupakan substring dari properti pengguna yang sebenarnya.
app.userProperty .exactlyMatches([...]) Mengembalikan TRUE jika properti pengguna sebenarnya sama persis (peka huruf besar/kecil) salah satu nilai target dalam daftar.
app.userProperty .matches([...]) Mengembalikan TRUE jika ekspresi reguler target apa pun dalam daftar cocok dengan substring, atau keseluruhan, nilai aktual. Untuk memaksakan pencocokan seluruh string, awali ekspresi reguler dengan "^" dan akhiri dengan "$". Menggunakan sintaks RE2 .
app.id == Mengembalikan TRUE jika nilai yang ditentukan cocok dengan ID Aplikasi aplikasi.
app.build < , <= , == , != , >= , > Mengembalikan TRUE jika build aplikasi sebenarnya secara numerik dibandingkan dengan nilai yang ditentukan dengan cara yang cocok dengan operator.
app.build .contains([...]) Mengembalikan TRUE jika salah satu nilai target adalah substring dari build aplikasi yang sebenarnya—misalnya, "a" dan "bc" adalah substring dari "abc".
app.build .notContains([...]) Mengembalikan TRUE jika tidak ada nilai target yang merupakan substring dari build aplikasi yang sebenarnya.
app.build .exactlyMatches([...]) Mengembalikan TRUE jika build aplikasi sebenarnya sama persis dengan salah satu nilai target dalam daftar.
app.build .matches([...]) Mengembalikan TRUE jika ekspresi reguler target apa pun dalam daftar cocok dengan substring, atau keseluruhan, nilai aktual. Untuk memaksakan pencocokan seluruh string, awali ekspresi reguler dengan "^" dan akhiri dengan "$". Menggunakan sintaks RE2 .
app.version < , <= , == , != , >= , > Mengembalikan TRUE jika versi aplikasi sebenarnya secara numerik dibandingkan dengan nilai yang ditentukan dengan cara yang sesuai dengan operator.
app.version .contains([...]) Mengembalikan TRUE jika salah satu nilai target adalah substring dari versi aplikasi sebenarnya—misalnya, "a" dan "bc" adalah substring dari "abc".
app.version .notContains([...]) Mengembalikan TRUE jika tidak ada nilai target yang merupakan substring dari versi aplikasi sebenarnya.
app.version .exactlyMatches([...]) Mengembalikan TRUE jika versi aplikasi sebenarnya sama persis dengan salah satu nilai target dalam daftar.
app.version .matches([...]) Mengembalikan TRUE jika ekspresi reguler target apa pun dalam daftar cocok dengan substring, atau keseluruhan, nilai aktual. Untuk memaksakan pencocokan seluruh string, awali ekspresi reguler dengan "^" dan akhiri dengan "$". Menggunakan sintaks RE2 .
app.operatingSystemAndVersion .inOne([...]) Mengembalikan TRUE jika OS dan versi cocok dengan salah satu nilai target dalam daftar.
Sebagai contoh:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...]) Mengembalikan TRUE jika browser dan versi cocok dengan salah satu nilai target dalam daftar.
Sebagai contoh:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] Mengembalikan TRUE jika id instalasi cocok dengan yang ditentukan dalam daftar. Contoh penggunaan: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Mengembalikan 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 dengan 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 [...] Mengembalikan TRUE jika salah satu bahasa aplikasi cocok dengan bahasa dalam daftar. Contoh penggunaan: device.language in ['en-UK', 'en-US'] .
device.os == , != Mengembalikan TRUE jika sistem operasi perangkat dibandingkan dengan nilai dalam bidang yang cocok dengan operator.
percent <= , > Mengembalikan TRUE jika nilai dalam bidang percent dibandingkan dengan nilai yang ditetapkan secara acak cocok dengan operator.