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 kondisional menggunakan API backend Remote Config atau Firebase console. Untuk informasi selengkapnya tentang menyiapkan dan menggunakan 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" logis jika menggunakan lebih dari satu elemen untuk suatu kondisi. Jika sebuah elemen digunakan dalam sintaks REST tanpa && , elemen tersebut diperlakukan sebagai kondisi.

Catatan: spasi diperlukan 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

Mengevaluasi ke 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 mengevaluasi ke TRUE atau FALSE berdasarkan ada atau tidak adanya pengguna di satu atau beberapa audiens Firebase Analytics .
app.userProperty Elemen yang mengevaluasi ke TRUE atau FALSE berdasarkan nilai numerik atau string dari Properti Pengguna Firebase Analytics .
app.operatingSystemAndVersion

Elemen yang didasarkan pada sistem operasi tempat aplikasi berjalan. Mengevaluasi ke 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. Mengevaluasi ke TRUE ketika browser dan versi browser cocok dengan target yang ditentukan.

Catatan: Hanya tersedia untuk aplikasi Web.

app.firebaseInstallationId Elemen berdasarkan ID instalasi perangkat tertentu. Mengevaluasi ke TRUE ketika ID penginstalan cocok dengan salah satu ID penginstalan yang ditentukan.
device.country Elemen berdasarkan wilayah/negara tempat perangkat berada, menggunakan standar ISO 3166-1 alpha-2 (misalnya, AS atau Inggris). Mengevaluasi ke TRUE ketika suatu 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 direpresentasikan menggunakan tag Bahasa IETF seperti es-ES, pt-BR, atau en-US. Mengevaluasi ke TRUE ketika bahasa cocok dengan kode bahasa yang diharapkan.
device.os Elemen berdasarkan sistem operasi yang digunakan pada perangkat (Apple atau Android). Mengevaluasi ke TRUE ketika OS perangkat adalah tipe yang diharapkan.
percent Mengevaluasi ke TRUE berdasarkan penyertaan pengguna dalam persentil pecahan 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 mengevaluasi ke 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 konsol Firebase.

Operator yang didukung

Misalnya, app.build.notContains([123, 456]) mengembalikan TRUE jika build aplikasi sebenarnya adalah 123 atau 492, tetapi mengembalikan FALSE jika build aplikasi 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 sebenarnya adalah anggota dari setiap nama audiens dalam daftar.
app.audiences .notInAll([...]) Mengembalikan TRUE jika audiens sebenarnya bukan anggota audiens mana pun dalam daftar.
app.userProperty < , <= , == , != , >= , > Mengembalikan TRUE jika properti pengguna aktual secara numerik dibandingkan dengan nilai yang ditentukan dengan cara yang cocok 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 yang sebenarnya sama persis (peka huruf besar/kecil) salah satu nilai target dalam daftar.
app.userProperty .matches([...]) Mengembalikan TRUE jika ada ekspresi reguler target dalam daftar yang cocok dengan substring dari, atau keseluruhan, nilai aktual. Untuk memaksa 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 yang 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 ada ekspresi reguler target dalam daftar yang cocok dengan substring dari, atau keseluruhan, nilai aktual. Untuk memaksa 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 cocok dengan operator.
app.version .contains([...]) Mengembalikan TRUE jika salah satu nilai target adalah substring dari versi aplikasi yang 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 yang 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 ada ekspresi reguler target dalam daftar yang cocok dengan substring dari, atau keseluruhan, nilai aktual. Untuk memaksa 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 di bidang yang cocok dengan operator.
percent <= , > Mengembalikan TRUE jika nilai dalam bidang percent dibandingkan dengan nilai yang ditetapkan secara acak yang cocok dengan operator.