หน้านี้มีข้อมูลอ้างอิงสำหรับการสร้างนิพจน์ตามเงื่อนไขโดยใช้ 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 อย่างน้อยหนึ่งรายการ |
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 | องค์ประกอบตาม ID ของการติดตั้งอุปกรณ์เฉพาะ ประเมินเป็น 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 หาก OS และเวอร์ชันตรงกับค่าเป้าหมาย ใดๆ ในรายการตัวอย่างเช่น: app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')]) |
app.browserAndVersion | .inOne([...]) | คืน TRUE หากเบราว์เซอร์และเวอร์ชันตรงกับค่าเป้าหมาย ใดๆ ในรายการตัวอย่างเช่น: app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId | in [...] | คืนค่า TRUE หาก ID การติดตั้งตรงกับที่ระบุในรายการ ตัวอย่างการใช้งาน: 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 โดยใช้ seed แบบกำหนดเอง: percent('seedName') between 60 and 80 |