หน้านี้ประกอบด้วยข้อมูลอ้างอิงสำหรับการสร้างนิพจน์แบบมีเงื่อนไขโดยใช้ API แบ็กเอนด์การกำหนดค่าระยะไกลหรือคอนโซล Firebase สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าและการใช้ API แบ็กเอนด์ โปรดดู ที่แก้ไขการกำหนดค่าระยะไกลโดยทางโปรแกรม
องค์ประกอบที่ใช้ในการสร้างเงื่อนไข
REST API การกำหนดค่าระยะไกลรองรับองค์ประกอบเดียวกันกับที่คุณสามารถใช้เพื่อสร้างเงื่อนไขเมื่อกำหนดค่าการกำหนดค่าระยะไกลโดยใช้คอนโซล 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 อย่างน้อย 1 รายการ |
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 เมื่อ ID การติดตั้ง ตรงกับหนึ่งใน ID การติดตั้งที่ระบุ |
device.country | องค์ประกอบตามภูมิภาค/ประเทศที่มีอุปกรณ์ตั้งอยู่ โดยใช้มาตรฐาน ISO 3166-1 alpha-2 (เช่น สหรัฐอเมริกาหรือสหราชอาณาจักร) ประเมินค่าเป็น 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%) |
เงื่อนไของค์ประกอบเดียวประกอบด้วยสามฟิลด์:
-
name
ที่กำหนดโดยพลการ (สูงสุด 100 อักขระ) - นิพจน์แบบมีเงื่อนไขที่ประเมินค่าเป็น
TRUE
หรือFALSE
ซึ่งประกอบด้วยองค์ประกอบที่แสดงด้านบน - (ไม่บังคับ)
tagColor
ซึ่งอาจเป็น "BLUE
", "BROWN
", "CYAN
", "DEEP_ORANGE
", "GREEN
", "INDIGO
", "LIME
", "ORANGE
", "PINK
", "PURPLE
" หรือ "TEAL
". สีไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ และส่งผลต่อเงื่อนไขที่แสดงในคอนโซล Firebase เท่านั้น
ผู้ประกอบการที่รองรับ
องค์ประกอบ | ผู้ประกอบการที่รองรับ | คำอธิบาย |
---|---|---|
app.audiences | .inAtLeastOne([...]) | ส่งคืน TRUE หากผู้ชมจริงตรงกับชื่อผู้ชมอย่างน้อยหนึ่งชื่อในรายการตัวอย่างเช่น: 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 เปรียบเทียบกับค่าที่ได้รับการสุ่มกำหนดโดยตรงกับตัวดำเนินการคุณสามารถระบุข้อมูลเริ่มต้นเพื่อเลือกกลุ่มอินสแตนซ์แอปที่ได้รับการสุ่มใหม่สำหรับช่วงเปอร์เซ็นต์ที่กำหนดตามที่อธิบายไว้ใน ประเภทกฎเงื่อนไข เมื่อต้องการทำเช่นนี้ ให้ระบุชื่อของข้อมูลเริ่มต้นก่อนตัวดำเนินการ ดังตัวอย่างต่อไปนี้: percent('keyName') <= 10 หากต้องการกำหนดค่าช่วงเฉพาะ คุณสามารถใช้ตัวดำเนินการ percent between 20 and 60 หากต้องการกำหนดค่าช่วงของผู้ใช้ระหว่าง 60 ถึง 80 โดยใช้เมล็ดพันธุ์ที่กำหนดเอง: percent('seedName') between 60 and 80 |