หน้านี้มีข้อมูลอ้างอิงของอาคารแบบมีเงื่อนไข นิพจน์ที่ใช้ API แบ็กเอนด์ Remote Config หรือคอนโซล Firebase ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าและใช้แบ็กเอนด์ API ได้ที่แก้ไขการกําหนดค่าระยะไกลแบบเป็นโปรแกรม
องค์ประกอบที่ใช้สร้างเงื่อนไข
REST API ของ Remote Config รองรับเอลิเมนต์เดียวกันกับที่คุณใช้เพื่อ สร้างเงื่อนไขเมื่อกำหนดค่า Remote Config โดยใช้ คอนโซล Firebase
องค์ประกอบ | คำอธิบาย |
---|---|
&& |
ใช้เพื่อสร้างตรรกะ "และ" ขององค์ประกอบหากใช้องค์ประกอบมากกว่า 1 รายการสำหรับเงื่อนไข หากมีการใช้องค์ประกอบในไวยากรณ์ REST โดยไม่มี
หมายเหตุ: ต้องมีเว้นวรรคก่อนและหลังเครื่องหมาย "และ" ดังตัวอย่างต่อไปนี้
|
app.build |
ประเมินเป็น หมายเหตุ: ใช้ได้ในอุปกรณ์ Apple และ Android เท่านั้น สำหรับ Apple ให้ใช้ค่า CFBundleVersion ส่วนสำหรับ Android ให้ใช้ค่า versionCode |
app.version |
ประเมินเป็น หมายเหตุ: สำหรับอุปกรณ์ Android ให้ใช้ค่า versionName, และสำหรับอุปกรณ์ Apple ให้ใช้ค่า CFBundleShortVersionString |
app.id |
องค์ประกอบที่อิงตามรหัสแอป Firebase ของแอป |
app.audiences |
องค์ประกอบที่ประเมินตาม TRUE หรือ FALSE
เกี่ยวกับการปรากฏหรือไม่มีอยู่ของผู้ใช้ใน
กลุ่มเป้าหมาย Firebase Analytics |
app.firstOpenTimestamp |
องค์ประกอบที่อิงตามครั้งแรกที่ผู้ใช้เปิดแอป ซึ่งได้จากเหตุการณ์ Google Analytics first_open ใช้วันที่ ISO
รูปแบบที่มีตัวเลือกในการระบุเขตเวลาคงที่ ตัวอย่างเช่น
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles')
หากไม่ได้ระบุเขตเวลา ระบบจะใช้เขตเวลา GMT
|
app.userProperty |
องค์ประกอบที่ประเมินเป็น TRUE หรือ FALSE โดยอิงตามค่าตัวเลขหรือสตริงของพร็อพเพอร์ตี้ผู้ใช้ Firebase Analytics |
app.operatingSystemAndVersion |
องค์ประกอบตามระบบปฏิบัติการที่แอปทำงานอยู่
ประเมินเป็น หมายเหตุ: ใช้ได้กับเว็บแอปเท่านั้น |
app.browserAndVersion |
องค์ประกอบที่อิงตามเบราว์เซอร์ที่แอปทำงานอยู่
ประเมินเป็น หมายเหตุ: ใช้ได้กับเว็บแอปเท่านั้น |
app.firebaseInstallationId |
องค์ประกอบที่อิงตามรหัสการติดตั้งอุปกรณ์ที่เฉพาะเจาะจง
ประเมินกับ TRUE เมื่อรหัสการติดตั้ง
ตรงกับรหัสการติดตั้งที่ระบุ 1 รายการ |
device.country |
องค์ประกอบตามภูมิภาค/ประเทศที่อุปกรณ์ตั้งอยู่ โดยใช้
มาตรฐาน ISO 3166-1 alpha-2 (เช่น US หรือ UK) ประเมินเป็น
TRUE เมื่อประเทศตรงกับรหัสประเทศที่คาดไว้ |
device.dateTime |
องค์ประกอบตามเวลาของการดึงข้อมูลครั้งล่าสุดที่อุปกรณ์ดําเนินการ
ใช้รูปแบบวันที่ ISO กับ
เพื่อระบุเขตเวลาคงที่ ตัวอย่างเช่น
dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') |
device.language |
องค์ประกอบตามภาษาที่เลือกในอุปกรณ์ ภาษาจะแสดงโดยใช้แท็กภาษา IETF เช่น es-ES, pt-BR หรือ en-US
ประเมินเป็น TRUE เมื่อภาษาตรงกับภาษาที่คาดไว้
โค้ด |
device.os |
องค์ประกอบตามระบบปฏิบัติการที่ใช้ในอุปกรณ์ (Apple หรือ Android)
ประเมินเป็น TRUE เมื่อระบบปฏิบัติการของอุปกรณ์เป็นประเภทที่คาดไว้ |
percent |
ประเมินกับ TRUE ตามการรวมของผู้ใช้ในการสุ่ม
กำหนดเปอร์เซ็นต์เศษส่วน (โดยมีขนาดตัวอย่างเล็กที่สุด 0.000001%) |
เงื่อนไของค์ประกอบเดียวมี 3 ช่อง ได้แก่
name
ที่กําหนดเอง (สูงสุด 100 อักขระ)- นิพจน์แบบมีเงื่อนไขที่ประเมินค่าเป็น
TRUE
หรือFALSE
ซึ่งประกอบด้วยองค์ประกอบที่แสดงด้านบน - (ไม่บังคับ)
tagColor
ซึ่งอาจเป็น "BLUE
", "BROWN
", "CYAN
", "DEEP_ORANGE
", "GREEN
", "INDIGO
", "LIME
", "ORANGE
", "PINK
", "PURPLE
" หรือ "TEAL
" สีนี้ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และจะส่งผลต่อวิธีแสดงเงื่อนไขในคอนโซลFirebaseเท่านั้น
โอเปอเรเตอร์ที่รองรับ
ตัวอย่างเช่นapp.build.notContains([123, 456])
จะแสดงผลเป็น TRUE
หากบิลด์จริงของแอปคือ 123 หรือ 492 แต่แสดงผลเป็น FALSE
หากบิลด์จริงของแอปคือ 999
ตัวอย่างเช่น
app.version.notContains([123, 456])
แสดงผล TRUE
หาก
เวอร์ชันของแอปจริงคือ 123 หรือ 492 แต่แสดงผล FALSE
หาก
เวอร์ชันของแอปจริงคือ 999
องค์ประกอบ | โอเปอเรเตอร์ที่รองรับ | คำอธิบาย |
---|---|---|
app.audiences |
.inAtLeastOne([...]) |
แสดงผล TRUE หากกลุ่มเป้าหมายจริงตรงกับชื่อกลุ่มเป้าหมายอย่างน้อย 1 รายการในรายการตัวอย่างเช่น app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences |
.notInAtLeastOne([...]) |
แสดงผลเป็น TRUE หากกลุ่มเป้าหมายจริงไม่ตรงกับชื่อกลุ่มเป้าหมายอย่างน้อย 1 รายการในรายการ |
app.audiences |
.inAll([...]) |
แสดงผล TRUE หากกลุ่มเป้าหมายจริงเป็นสมาชิกของทุก
ชื่อกลุ่มเป้าหมายในรายการ |
app.audiences |
.notInAll([...]) |
แสดงผล TRUE หากกลุ่มเป้าหมายจริงไม่ได้เป็นสมาชิกของกลุ่มเป้าหมายใดๆ ในรายการ |
app.firstOpenTimestamp |
<=, > |
เปรียบเทียบเวลาของเหตุการณ์ first_open กับเวลา
ในเงื่อนไขและแสดง TRUE หรือ FALSE
ขึ้นอยู่กับโอเปอเรเตอร์ตัวอย่างการใช้งาน: app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles')
วิธีระบุช่วง app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00')
หากไม่ได้ระบุเขตเวลา ระบบจะใช้ GMT
|
app.userProperty |
< <= == !=
>= > |
แสดงผล TRUE หากพร็อพเพอร์ตี้ผู้ใช้จริงเปรียบเทียบกับค่าที่ระบุในเชิงตัวเลขในลักษณะที่ตรงกับโอเปอเรเตอร์ |
app.userProperty |
.contains([...]) |
แสดงผล TRUE หากค่าเป้าหมายใดๆ เป็นสตริงย่อยของ
พร็อพเพอร์ตี้ผู้ใช้จริง |
app.userProperty |
.notContains([...]) |
แสดงผล TRUE หากไม่มีค่าเป้าหมายเป็นสตริงย่อยของ
พร็อพเพอร์ตี้ผู้ใช้จริง |
app.userProperty |
.exactlyMatches([...]) |
แสดงค่า TRUE หากพร็อพเพอร์ตี้ผู้ใช้จริงตรงกับค่าเป้าหมายรายการใดรายการหนึ่ง (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) ในรายการ |
app.userProperty |
.matches([...]) |
แสดงผล TRUE หากนิพจน์ทั่วไปเป้าหมายใดๆ ในฟังก์ชัน
รายการตรงกับสตริงย่อยของ หรือ
มูลค่าทั้งหมดตามจริง หากต้องการบังคับให้จับคู่ทั้งสตริง ให้ใส่ "^" ไว้หน้านิพจน์ทั่วไปและใส่ "$" ต่อท้าย ใช้ไวยากรณ์ RE2 |
app.id |
== |
แสดงผล TRUE หากค่าที่ระบุตรงกับรหัสแอปของแอป |
app.build |
< <= == !=
>= > |
แสดง TRUE หากบิลด์ของแอปจริงมีการเปรียบเทียบตัวเลข
กับค่าที่ระบุในลักษณะที่ตรงกับโอเปอเรเตอร์ |
app.build |
.contains([...]) |
แสดงผล TRUE หากค่าเป้าหมายใดเป็นสตริงย่อยของบิลด์แอปจริง เช่น "a" และ "bc" เป็นสตริงย่อยของ "abc" |
app.build |
.notContains([...]) |
แสดงผล TRUE หากไม่มีค่าเป้าหมายใดที่เป็นสตริงย่อยของบิลด์แอปจริง |
app.build |
.exactlyMatches([...]) |
แสดง TRUE หากการสร้างแอปจริงตรงกันทั้งหมด
ค่าใดก็ได้ของค่าเป้าหมายในรายการ |
app.build |
.matches([...]) |
แสดงผล TRUE หากนิพจน์ทั่วไปเป้าหมายใดๆ ในฟังก์ชัน
รายการตรงกับสตริงย่อยของค่าจริงหรือทั้งหมด หากต้องการบังคับให้จับคู่สตริงทั้งหมด ให้ใส่ "^" ไว้หน้านิพจน์ทั่วไปและใส่ "$" ต่อท้าย ใช้ไวยากรณ์ RE2 |
app.version |
< , <= , == , != ,
>= , > |
แสดงผล TRUE หากเวอร์ชันจริงของแอปเปรียบเทียบกับค่าที่ระบุในเชิงตัวเลขในลักษณะที่ตรงกับโอเปอเรเตอร์ |
app.version |
.contains([...]) |
แสดงผล TRUE หากค่าเป้าหมายใดๆ เป็นสตริงย่อยของ
เวอร์ชันของแอปจริง เช่น "a" และ "bc" เป็นสตริงย่อยของ
"abc" |
app.version |
.notContains([...]) |
แสดงผล TRUE หากไม่มีค่าเป้าหมายใดที่เป็นสตริงย่อยของเวอร์ชันแอปจริง |
app.version |
.exactlyMatches([...]) |
แสดงค่า TRUE หากเวอร์ชันแอปจริงตรงกับค่าเป้าหมายรายการใดในรายการ |
app.version |
.matches([...]) |
แสดงผล TRUE หากนิพจน์ทั่วไปเป้าหมายรายการใดรายการหนึ่งในรายการตรงกับสตริงย่อยหรือค่าจริงทั้งหมด เพื่อบังคับใช้การจับคู่
ของสตริงทั้งหมด ให้ขึ้นต้นนิพจน์ทั่วไปด้วย "^" แล้วใส่ต่อท้าย
ด้วย "$" ใช้
ไวยากรณ์ RE2 |
app.operatingSystemAndVersion |
.inOne([...]) |
แสดงผล TRUE หากระบบปฏิบัติการและเวอร์ชันตรงกับค่าเป้าหมายใดในรายการเช่น app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')]) |
app.browserAndVersion |
.inOne([...]) |
แสดงผล TRUE หากเบราว์เซอร์และเวอร์ชันตรงกับค่าเป้าหมายใดในรายการเช่น app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId |
in [...] |
แสดงผล TRUE หากรหัสการติดตั้งตรงกับรหัสที่ระบุไว้ในรายการ ตัวอย่างการใช้งาน: app.firebaseInstallationId
in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7'] |
device.country |
in [...] |
แสดงผลเป็น TRUE หากประเทศของอุปกรณ์ตรงกับประเทศที่ระบุไว้ในรายการ ตัวอย่างการใช้งาน: device.country in
['gb', 'us']
ระบบจะระบุรหัสประเทศของอุปกรณ์โดยใช้
ที่อยู่ IP ของอุปกรณ์ในคำขอหรือรหัสประเทศที่กำหนดโดย Firebase
Analytics (หากข้อมูล Analytics แชร์กับ Firebase) |
device.dateTime |
<= , > |
เปรียบเทียบเวลาปัจจุบัน
เป็นเวลาเป้าหมายของเงื่อนไขและประเมินเป็น TRUE หรือ
FALSE ตามโอเปอเรเตอร์ ตัวอย่างการใช้งาน:
dateTime < dateTime('2017-03-22T13:39:44') |
device.language |
in [...] |
แสดงผล TRUE หากภาษาใดของแอปตรงกับภาษา
ในรายการด้วย ตัวอย่างการใช้งาน: device.language in ['en-UK', 'en-US'] |
device.os |
== , != |
แสดง TRUE หากระบบปฏิบัติการของอุปกรณ์เปรียบเทียบ
กับค่าในฟิลด์นั้นที่ตรงกับโอเปอเรเตอร์ |
percent |
<= , > , between |
แสดงผล TRUE หากค่าในช่อง percent
เทียบกับค่าที่ได้รับการกำหนดแบบสุ่มซึ่งตรงกับโอเปอเรเตอร์
คุณระบุ Seed เพื่อเลือกการสุ่มกำหนดใหม่ได้ อินสแตนซ์ของแอปสำหรับช่วงเปอร์เซ็นต์ที่ระบุตามที่อธิบายไว้ใน กฎเงื่อนไข ประเภทต่างๆ ในการดำเนินการนี้ ให้ระบุ ชื่อของ Seed ก่อนโอเปอเรเตอร์ ดังตัวอย่างต่อไปนี้ percent('keyName') <= 10 หากต้องการกําหนดค่าช่วงที่ต้องการ ให้ใช้โอเปอเรเตอร์ percent between 20 and 60 หากต้องการกำหนดค่าช่วงผู้ใช้ระหว่าง 60 ถึง 80 รายโดยใช้รายการตั้งต้นที่กำหนดเอง ให้ทำดังนี้ percent('seedName') between 60 and 80 |