หน้านี้มีข้อมูลอ้างอิงของอาคารแบบมีเงื่อนไข นิพจน์ที่ใช้ API แบ็กเอนด์ของการกำหนดค่าระยะไกลหรือคอนโซล Firebase สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าและการใช้ API แบ็กเอนด์ โปรดดู แก้ไขการกำหนดค่าระยะไกลแบบเป็นโปรแกรม
องค์ประกอบที่ใช้สร้างเงื่อนไข
API ของ REST สำหรับการกำหนดค่าระยะไกล สนับสนุนองค์ประกอบเดียวกันกับที่คุณใช้เพื่อ สร้างเงื่อนไขเมื่อกำหนดค่าระยะไกลโดยใช้ คอนโซล Firebase
องค์ประกอบ | คำอธิบาย |
---|---|
&& |
ใช้เพื่อสร้างตรรกะ "และ" หลายองค์ประกอบหากใช้หลายองค์ประกอบ
สำหรับเงื่อนไข หากมีการใช้องค์ประกอบในไวยากรณ์ 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 |
องค์ประกอบที่อิงจากครั้งแรกที่ผู้ใช้เปิดแอป
เหตุการณ์ first_open ของ Google Analytics ใช้วันที่ 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 หากกลุ่มเป้าหมายจริงไม่ตรงกันอย่างน้อย
ชื่อกลุ่มเป้าหมายหนึ่งรายการในรายการ |
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 |