การอ้างอิงนิพจน์แบบมีเงื่อนไขของการกำหนดค่าระยะไกล

หน้านี้มีข้อมูลอ้างอิงของอาคารแบบมีเงื่อนไข นิพจน์ที่ใช้ API แบ็กเอนด์ของการกำหนดค่าระยะไกลหรือคอนโซล Firebase สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าและการใช้ API แบ็กเอนด์ โปรดดู แก้ไขการกำหนดค่าระยะไกลแบบเป็นโปรแกรม

องค์ประกอบที่ใช้สร้างเงื่อนไข

API ของ REST สำหรับการกำหนดค่าระยะไกล สนับสนุนองค์ประกอบเดียวกันกับที่คุณใช้เพื่อ สร้างเงื่อนไขเมื่อกำหนดค่าระยะไกลโดยใช้ คอนโซล Firebase

องค์ประกอบ คำอธิบาย
&&

ใช้เพื่อสร้างตรรกะ "และ" หลายองค์ประกอบหากใช้หลายองค์ประกอบ สำหรับเงื่อนไข หากมีการใช้องค์ประกอบในไวยากรณ์ REST โดยไม่มี && ระบบจะดำเนินการกับองค์ประกอบนั้นเป็นเงื่อนไข

หมายเหตุ: ต้องเว้นวรรคก่อนและหลังเครื่องหมายแอมเพอร์แซนด์ ดังตัวอย่างต่อไปนี้ element1 && element2.

app.build

ประเมินเป็น TRUE หรือ FALSE ตามมูลค่าของหมายเลขบิลด์ของแอป

หมายเหตุ: ใช้ได้ในอุปกรณ์ Apple และ Android เท่านั้น สำหรับ Apple ให้ใช้ค่า CFBundleVersion ส่วนสำหรับ Android ให้ใช้ค่า versionCode

app.version

ประเมินเป็น TRUE หรือ FALSE ตามค่าของหมายเลขเวอร์ชันของแอป

หมายเหตุ: สำหรับอุปกรณ์ 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

องค์ประกอบที่อิงตามระบบปฏิบัติการที่แอปทำงานอยู่ ประเมินกับ TRUE เมื่อระบบปฏิบัติการและเวอร์ชันของระบบปฏิบัติการตรงกับที่ระบุ เป้าหมาย

หมายเหตุ: ใช้ได้กับเว็บแอปเท่านั้น

app.browserAndVersion

องค์ประกอบที่อิงตามเบราว์เซอร์ที่แอปทำงานอยู่ ประเมินเป็น TRUE เมื่อเบราว์เซอร์และเวอร์ชันของเบราว์เซอร์ตรงกับ เป้าหมายที่ระบุ

หมายเหตุ: ใช้ได้กับเว็บแอปเท่านั้น

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 ช่อง ดังนี้

  1. name ที่กำหนดโดยกฎเกณฑ์ (สูงสุด 100 อักขระ)
  2. นิพจน์แบบมีเงื่อนไขที่ประเมินเป็น TRUE หรือ FALSE ซึ่งสร้างขึ้นจากองค์ประกอบที่แสดงข้างต้น
  3. (ไม่บังคับ) 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

หากต้องการกำหนดค่าช่วงที่ต้องการ คุณสามารถใช้ between ในการกำหนดค่าช่วงผู้ใช้ตั้งแต่ 20 ถึง 60 รายโดยใช้ default Seed:

percent between 20 and 60

หากต้องการกำหนดค่าช่วงผู้ใช้ระหว่าง 60 ถึง 80 รายโดยใช้รายการตั้งต้นที่กำหนดเอง ให้ทำดังนี้

percent('seedName') between 60 and 80