| เลือกประเภทเทมเพลต | เทมเพลตฝั่งไคลเอ็นต์ เทมเพลตฝั่งเซิร์ฟเวอร์ |
คุณสามารถแสดงพารามิเตอร์และค่า Remote Config จากเทมเพลตฝั่งไคลเอ็นต์ไปยังอินสแตนซ์แอปที่ใช้ SDK ฝั่งไคลเอ็นต์ของ Firebase สำหรับ Remote Config ซึ่งรวมถึงแอป Apple, Android, เว็บ, Flutter, Unity และ C++
เมื่อใช้คอนโซล Firebase หรือ API แบ็กเอนด์ของ Remote Config คุณจะต้องกำหนดพารามิเตอร์ (คู่คีย์-ค่า) อย่างน้อย 1 รายการ และระบุค่าเริ่มต้นในแอปสำหรับพารามิเตอร์เหล่านั้น คุณสามารถลบล้างค่าเริ่มต้นในแอปได้โดยการกำหนดค่าพารามิเตอร์ คีย์พารามิเตอร์และค่าพารามิเตอร์เป็นสตริง แต่ค่าพารามิเตอร์สามารถแคสต์เป็นประเภทข้อมูลอื่นๆ ได้เมื่อคุณใช้ค่าเหล่านี้ในแอป
คุณสามารถสร้างค่าเริ่มต้นใหม่สำหรับพารามิเตอร์ รวมถึงค่าแบบมีเงื่อนไขที่ใช้เพื่อกำหนดเป้าหมายกลุ่มอินสแตนซ์แอปได้โดยใช้คอนโซล Firebase Admin SDK หรือ Remote Config REST API ทุกครั้งที่คุณอัปเดตการกำหนดค่าในคอนโซล Firebase Firebase จะสร้างและเผยแพร่เทมเพลต Remote Config เวอร์ชันใหม่ ระบบจะจัดเก็บเวอร์ชันก่อนหน้าไว้เพื่อให้คุณเรียกดูหรือย้อนกลับได้ตามต้องการ คุณสามารถดำเนินการเหล่านี้ได้ในคอนโซล Firebase, Firebase Admin SDK และ REST API โดยมีคำอธิบายอย่างละเอียดเพิ่มเติมในหัวข้อจัดการเวอร์ชันเทมเพลต Remote Config
คู่มือนี้จะอธิบายพารามิเตอร์ เงื่อนไข กฎ ค่าแบบมีเงื่อนไข และวิธีจัดลำดับความสำคัญของค่าพารามิเตอร์ต่างๆ ในแบ็กเอนด์ของ Remote Config และในแอปของคุณ นอกจากนี้ยังให้รายละเอียดเกี่ยวกับประเภทของกฎที่ใช้สร้างเงื่อนไขด้วย
เงื่อนไข กฎ และค่าแบบมีเงื่อนไข
เงื่อนไขใช้เพื่อกำหนดเป้าหมายกลุ่มอินสแตนซ์ของแอป เงื่อนไขประกอบด้วยกฎอย่างน้อย 1 ข้อที่ต้องประเมินเป็น true ทั้งหมดเพื่อให้เงื่อนไขประเมินเป็น true สำหรับอินสแตนซ์แอปหนึ่งๆ หากค่าของกฎไม่ได้กำหนดไว้ (เช่น เมื่อไม่มีค่า) กฎนั้นจะประเมินเป็น false
ตัวอย่างเช่น พารามิเตอร์ที่กำหนดหน้าจอเริ่มต้นของแอปอาจแสดงรูปภาพที่แตกต่างกันตามประเภทระบบปฏิบัติการโดยใช้กฎ if device_os = Android ดังนี้

หรืออาจใช้เงื่อนไขเวลาเพื่อควบคุมเวลาที่แอปจะแสดงรายการโปรโมชันพิเศษ
พารามิเตอร์สามารถมีค่าแบบมีเงื่อนไขหลายค่าที่ใช้เงื่อนไขต่างกัน และพารามิเตอร์สามารถแชร์เงื่อนไขภายในโปรเจ็กต์ได้ ในคอนโซล Firebase ให้ไปที่หน้าDevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > พารามิเตอร์ เพื่อดูเปอร์เซ็นต์การดึงข้อมูลสำหรับค่าแบบมีเงื่อนไขของพารามิเตอร์แต่ละรายการ เมตริกนี้จะระบุเปอร์เซ็นต์ของคำขอในช่วง 24 ชั่วโมงที่ผ่านมาซึ่งได้รับแต่ละค่า
เพิ่ม แก้ไข เรียงลำดับใหม่ หรือลบเงื่อนไขโดยใช้คอนโซล Firebase
คุณสามารถสร้าง แก้ไข จัดเรียงใหม่ และลบเงื่อนไขการกำหนดเป้าหมายในคอนโซล Firebase ได้ ระบบจะแชร์เงื่อนไขในพารามิเตอร์ต่างๆ ภายในโปรเจ็กต์ วิธีจัดการเงื่อนไขมีดังนี้
- ในคอนโซล Firebase ให้ไปที่DevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > หน้าเงื่อนไข (หรือเลือกจัดการเงื่อนไขจากหน้าพารามิเตอร์)
- เพิ่มเงื่อนไข: คลิกเพิ่มเงื่อนไข (หรือสร้างเงื่อนไขแรก) ป้อนชื่อที่กำหนดวัตถุประสงค์การกำหนดเป้าหมาย แล้วเลือกกฎการกำหนดเป้าหมายอย่างน้อย 1 ข้อ
- แก้ไขเงื่อนไข: คลิกชื่อเงื่อนไขหรือไอคอนแก้ไข แก้ไขกฎตามต้องการ แล้วคลิกบันทึก
- เปลี่ยนลำดับความสำคัญของเงื่อนไข: ในหน้าเงื่อนไข ให้ลากเงื่อนไขตามแฮนเดิลเพื่อจัดลำดับใหม่ เงื่อนไขที่อยู่สูงกว่าในรายการจะมีผลเหนือกว่าเงื่อนไขที่อยู่ต่ำกว่าในรายการ
- ลบเงื่อนไข: คลิกไอคอนลบข้างเงื่อนไขที่ต้องการนำออก หากพารามิเตอร์ใดๆ อ้างอิงเงื่อนไข การนำเงื่อนไขออกจะเป็นการนำค่าแบบมีเงื่อนไขที่เกี่ยวข้องออกด้วย
หลังจากบันทึกการเปลี่ยนแปลงเงื่อนไขแล้ว ให้เผยแพร่เทมเพลตโดยใช้เผยแพร่การเปลี่ยนแปลง
ข้อจำกัดของ IPv6 ที่มีการควบคุมการเข้าถึงตาม IP
Remote Config มีการรองรับ IPv6 อย่างจำกัดเมื่อใช้กับนโยบายการเข้าถึงตาม IP หากองค์กรจำกัดการเข้าถึงช่วง IP สาธารณะที่เฉพาะเจาะจง การเชื่อมต่อผ่านเครือข่าย IPv6 อาจทำให้เกิดปัญหาต่อไปนี้
- การเข้าถึงคอนโซล: คุณอาจใช้ฟีเจอร์ Remote Config บางอย่างในคอนโซล Firebase ไม่ได้ เช่น การโหลดข้อมูลหรือการตั้งค่าการกำหนดเป้าหมาย
- การเข้าถึงของไคลเอ็นต์: แอปไคลเอ็นต์อาจพบข้อผิดพลาด PERMISSION_DENIED
เพื่อป้องกันปัญหาเหล่านี้ ให้กำหนดค่าเครือข่ายเพื่อใช้ IPv4 หรือเพิ่มช่วง IP ของ Firebase ที่จำเป็นลงในรายการที่อนุญาตขององค์กร
ลำดับความสำคัญของค่าพารามิเตอร์
พารามิเตอร์อาจมีค่าแบบมีเงื่อนไขหลายค่าที่เชื่อมโยงอยู่ กฎต่อไปนี้จะกำหนดค่าที่จะดึงมาจากเทมเพลต Remote Config และค่าที่จะใช้ในอินสแตนซ์แอปหนึ่งๆ ณ จุดเวลาหนึ่งๆ
อันดับแรก ระบบจะใช้ค่าแบบมีเงื่อนไขกับเงื่อนไขที่ประเมินเป็น
trueสำหรับคำขอของไคลเอ็นต์ที่ระบุ หากมีหลายเงื่อนไขที่ประเมินเป็นtrueเงื่อนไขด้านบนที่แสดงใน UI ของคอนโซล Firebase จะมีความสำคัญเหนือกว่า และระบบจะระบุค่าแบบมีเงื่อนไขที่เชื่อมโยงกับเงื่อนไขนั้นเมื่อแอปดึงค่าจากแบ็กเอนด์ คุณเปลี่ยนลำดับความสำคัญของเงื่อนไขได้โดยลากและวางเงื่อนไขในหน้าเงื่อนไขหากไม่มีค่าแบบมีเงื่อนไขที่มีเงื่อนไขซึ่งประเมินเป็น
trueระบบจะระบุค่าเริ่มต้นของ Remote Config เมื่อแอปดึงค่าจากแบ็กเอนด์ หากไม่มีพารามิเตอร์ในแบ็กเอนด์ หรือหากตั้งค่าเริ่มต้นเป็นใช้ค่าเริ่มต้นในแอป ระบบจะไม่ระบุค่าสำหรับพารามิเตอร์นั้นเมื่อแอปดึงข้อมูลค่า
ในแอป ค่าพารามิเตอร์จะแสดงผลโดยเมธอด get ตามรายการลำดับความสำคัญต่อไปนี้
- หากดึงค่ามาจากแบ็กเอนด์แล้วเปิดใช้งาน แอปจะใช้ค่าที่ดึงมา ค่าพารามิเตอร์ที่เปิดใช้งานจะคงอยู่ถาวร
หากไม่มีการดึงค่าจากแบ็กเอนด์ หรือหากค่าที่ดึงมาจาก Remote Configแบ็กเอนด์ยังไม่ได้เปิดใช้งาน แอปจะใช้ค่าเริ่มต้น ในแอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับการรับและการตั้งค่าเริ่มต้นได้ที่หัวข้อดาวน์โหลดค่าเริ่มต้นของเทมเพลต Remote Config
หากไม่ได้ตั้งค่าเริ่มต้นในแอปไว้ แอปจะใช้ค่าประเภทคงที่ (เช่น
0สำหรับintและfalseสำหรับboolean)
กราฟิกนี้สรุปวิธีจัดลำดับความสำคัญของค่าพารามิเตอร์ในแบ็กเอนด์ของ Remote Config และในแอปของคุณ

ประเภทข้อมูลค่าพารามิเตอร์
Remote Config ช่วยให้คุณเลือกประเภทข้อมูลสำหรับพารามิเตอร์แต่ละรายการ และตรวจสอบค่า Remote Config ทั้งหมดเทียบกับประเภทนั้นก่อนที่จะอัปเดตเทมเพลต ระบบจะจัดเก็บและแสดงผลประเภทข้อมูลตามคำขอ getRemoteConfig
ประเภทข้อมูลที่รองรับ ได้แก่
StringBooleanNumberJSON
ใน UI ของคอนโซล Firebase คุณสามารถเลือกประเภทข้อมูลได้จากเมนูแบบเลื่อนลงข้างคีย์พารามิเตอร์ ใน REST API คุณสามารถตั้งค่าประเภทได้โดยใช้ช่อง value_type ภายในออบเจ็กต์พารามิเตอร์
กลุ่มพารามิเตอร์
Remote Config ช่วยให้คุณจัดกลุ่มพารามิเตอร์เข้าด้วยกันเพื่อให้ UI เป็นระเบียบมากขึ้นและใช้งานได้ดียิ่งขึ้น
ตัวอย่างเช่น สมมติว่าคุณต้องเปิดหรือปิดใช้การตรวจสอบสิทธิ์ 3 ประเภทที่แตกต่างกันขณะเปิดตัวฟีเจอร์การเข้าสู่ระบบใหม่ เมื่อใช้ Remote Config คุณสามารถสร้างพารามิเตอร์ 3 รายการเพื่อเปิดใช้ประเภทที่ต้องการ แล้วจัดระเบียบพารามิเตอร์เหล่านั้นไว้ในกลุ่มชื่อ "การเข้าสู่ระบบใหม่" โดยไม่จำเป็นต้องเพิ่มคำนำหน้าหรือการจัดเรียงพิเศษ
คุณสร้างกลุ่มพารามิเตอร์ได้โดยใช้คอนโซล Firebase หรือ REST API ของ Remote Config กลุ่มพารามิเตอร์แต่ละกลุ่มที่คุณสร้างจะมีชื่อที่ไม่ซ้ำกันในเทมเพลต Remote Config โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อสร้างกลุ่มพารามิเตอร์
- พารามิเตอร์จะรวมอยู่ในกลุ่มได้เพียงกลุ่มเดียวเท่านั้น และคีย์พารามิเตอร์ต้องไม่ซ้ำกันในพารามิเตอร์ทั้งหมด
- ชื่อกลุ่มพารามิเตอร์มีอักขระได้ไม่เกิน 256 ตัว
- หากคุณใช้ทั้ง REST API และคอนโซล Firebase โปรดตรวจสอบว่าตรรกะ REST API ได้รับการอัปเดตเพื่อจัดการกลุ่มพารามิเตอร์เมื่อเผยแพร่
สร้างหรือแก้ไขกลุ่มพารามิเตอร์โดยใช้คอนโซล Firebase
คุณจัดกลุ่มพารามิเตอร์ได้ในคอนโซล Firebase วิธีสร้างหรือแก้ไขกลุ่มมีดังนี้
- ในคอนโซล Firebase ให้ไปที่หน้า DevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > พารามิเตอร์
- เลือกจัดการกลุ่ม
- เลือกช่องทำเครื่องหมายสำหรับพารามิเตอร์ที่ต้องการเพิ่ม แล้วเลือกย้ายไปยังกลุ่ม
- เลือกกลุ่มที่มีอยู่ หรือสร้างกลุ่มใหม่โดยป้อนชื่อและคำอธิบาย แล้วเลือกสร้างกลุ่มใหม่ หลังจากบันทึกกลุ่มแล้ว คุณจะเผยแพร่กลุ่มได้โดยใช้ปุ่มเผยแพร่การเปลี่ยนแปลง
สร้างกลุ่มแบบเป็นโปรแกรม
Remote Config REST API เป็นวิธีอัตโนมัติในการสร้างและเผยแพร่กลุ่มพารามิเตอร์ สมมติว่าคุณคุ้นเคยกับ REST และตั้งค่าให้ให้สิทธิ์คำขอไปยัง API แล้ว คุณสามารถทำตามขั้นตอนต่อไปนี้เพื่อจัดการกลุ่มแบบเป็นโปรแกรมได้
- ดึงข้อมูลเทมเพลตปัจจุบัน
- เพิ่มออบเจ็กต์ JSON เพื่อแสดงกลุ่มพารามิเตอร์
- เผยแพร่กลุ่มพารามิเตอร์โดยใช้คำขอ HTTP PUT
ออบเจ็กต์ parameterGroups มีคีย์กลุ่ม พร้อมคำอธิบายที่ฝังอยู่และรายการพารามิเตอร์ที่จัดกลุ่ม โปรดทราบว่าคีย์กลุ่มแต่ละคีย์ต้องไม่ซ้ำกันทั่วโลก
ตัวอย่างเช่น ข้อความที่ตัดตอนมาจากการแก้ไขเทมเพลตที่เพิ่มกลุ่มพารามิเตอร์ "เมนูใหม่" ที่มีพารามิเตอร์ 1 รายการคือ pumpkin_spice_season มีดังนี้
{
"parameters": {},
"version": {
"versionNumber": "1",
…
},
"parameterGroups": {
"new menu": {
"description": "New Menu",
"parameters": {
"pumpkin_spice_season": {
"defaultValue": {
"value": "true"
},
"description": "Whether it's pumpkin spice season."
}
}
}
}
}เงื่อนไขสัญญาณที่กำหนดเอง
ค่าแบบมีเงื่อนไขของสัญญาณที่กำหนดเองสามารถใช้เพื่อจับคู่สัญญาณที่กำหนดเองซึ่งคุณกำหนดและส่งในแอปพลิเคชันกับเงื่อนไขที่คุณสร้างขึ้นตามสัญญาณใน Remote Config ซึ่งจะช่วยให้คุณปรับแต่งประสบการณ์การใช้งานแอปหรือฝั่งไคลเอ็นต์ได้
เงื่อนไขสัญญาณที่กำหนดเองใช้ได้กับสภาพแวดล้อมของไคลเอ็นต์ต่อไปนี้
- iOS: v11.8.0 ขึ้นไป
- Android: v22.1.0 ขึ้นไป (Firebase BoM v33.8.0 ขึ้นไป)
- เว็บ: v11.2.0 ขึ้นไป
- Flutter: Flutter BoM เวอร์ชัน 3.6.0 ขึ้นไป
ตัวอย่างเช่น สมมติว่าคุณกำลังพัฒนาแอปจำหน่ายตั๋วที่ต้องการแสดงแบนเนอร์ในหน้าจอหลัก คุณสามารถใช้เงื่อนไขสัญญาณที่กำหนดเองฝั่งไคลเอ็นต์เพื่อปรับเปลี่ยนแบนเนอร์เหล่านี้ตามสถานที่และความสนใจของผู้ใช้ คุณสามารถทำสิ่งต่อไปนี้ได้
- เพิ่ม
banner_image_urlและbanner_linkลงในเทมเพลตไคลเอ็นต์ Remote Config ซึ่งแสดงรูปภาพของแบนเนอร์และหน้ากิจกรรมที่เชื่อมโยงกับรูปภาพนี้ - ตั้งค่าสัญญาณที่กำหนดเองจากแอปด้วยค่า
cityและpreferred_event_category - เพิ่มค่าเริ่มต้นลงในเทมเพลต Remote Config สำหรับลูกค้าโดยเฉพาะ และสร้างค่าแบบมีเงื่อนไขตามสัญญาณที่กำหนดเองซึ่งคุณตั้งค่าไว้ในขั้นตอนก่อนหน้า
- เพิ่มค่าเริ่มต้นลงในเทมเพลต Remote Config สำหรับลูกค้าโดยเฉพาะ และค่าแบบมีเงื่อนไขสำหรับแต่ละเงื่อนไขที่คุณกำหนด
- อัปเดตโค้ดของแอปพลิเคชันเพื่อตั้งค่าและใช้เงื่อนไขสัญญาณที่กำหนดเอง
ตอนนี้แอปของคุณจะดาวน์โหลด banner_image_url และ banner_link ที่เหมาะสมได้เมื่อดึงข้อมูลพารามิเตอร์เหล่านี้จากเซิร์ฟเวอร์ Remote Config
ขีดจำกัด
เมื่อสร้างเงื่อนไขสัญญาณที่กำหนดเอง คุณต้องปฏิบัติตามขีดจำกัดต่อไปนี้
- จำนวนสัญญาณที่กำหนดเอง: คุณสร้างสัญญาณที่กำหนดเองได้สูงสุด 100 รายการต่ออินสแตนซ์แอป คุณยกเลิกการตั้งค่าสัญญาณที่กำหนดเองได้โดยตั้งค่าเป็น Null
- ชื่อสัญญาณที่กำหนดเอง: ชื่อสัญญาณที่กำหนดเองแต่ละชื่อมีอักขระได้สูงสุด 250 ตัว
- ค่าสัญญาณที่กำหนดเอง: ค่าสัญญาณที่กำหนดเองแต่ละค่ามีอักขระได้สูงสุด 500 ตัว เมื่อใช้นิพจน์ทั่วไป ขีดจำกัดจะอยู่ที่ 250 อักขระ
ประเภทกฎเงื่อนไข
คอนโซล Firebase รองรับกฎประเภทต่อไปนี้ ฟีเจอร์ที่เทียบเท่ามีให้บริการใน Remote Config REST API ตามที่อธิบายไว้ในข้อมูลอ้างอิงนิพจน์แบบมีเงื่อนไข
| ประเภทของกฎ | ผู้ประกอบธุรกิจ | ค่า | หมายเหตุ |
| แอป | == | เลือกรหัสแอปจากรายการรหัสแอปสำหรับแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase | เมื่อเพิ่มแอปลงใน Firebase คุณต้องป้อนรหัสชุดหรือชื่อแพ็กเกจ Android ที่กำหนดแอตทริบิวต์ซึ่งแสดงเป็นรหัสแอปในกฎ Remote Config
ใช้แอตทริบิวต์นี้ดังนี้
|
| เวอร์ชันของแอป |
สำหรับค่าสตริง: ตรงกันทุกประการ, มี, ไม่มี, มีนิพจน์ทั่วไป สำหรับค่าตัวเลข: <, <=, =, !=, >, >= |
ระบุเวอร์ชันของแอปที่จะกำหนดเป้าหมาย ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกแอป Android/Apple ที่เชื่อมโยงกับโปรเจ็กต์ Firebase |
สำหรับแพลตฟอร์ม Apple: ใช้ CFBundleShortVersionString ของแอป หมายเหตุ: ตรวจสอบว่าแอป Apple ใช้ Firebase Apple Platforms SDK เวอร์ชัน 6.24.0 ขึ้นไป เนื่องจากระบบจะไม่ส่ง CFBundleShortVersionString ในเวอร์ชันก่อนหน้า (ดูบันทึกประจำรุ่น) สำหรับ Android: ใช้ versionName ของแอป หมายเหตุ: โอเปอเรเตอร์การเปรียบเทียบตัวเลข ( การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ตรงกันทุกประการ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้โอเปอเรเตอร์มีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ นอกจากนี้ คุณยังใช้ Anchor ^ และ $ เพื่อจับคู่จุดเริ่มต้น จุดสิ้นสุด หรือสตริงเป้าหมายทั้งหมดได้ด้วย |
| หมายเลขบิลด์ |
สำหรับค่าสตริง: ตรงกันทุกประการ, มี, ไม่มี, นิพจน์ทั่วไป สำหรับค่าตัวเลข: =, ≠, >, ≥, <, ≤ |
ระบุบิลด์ของแอปที่จะกำหนดเป้าหมาย ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกแอป Apple หรือแอป Android ที่เชื่อมโยงกับโปรเจ็กต์ Firebase |
โอเปอเรเตอร์นี้ใช้ได้กับแอป Apple และ Android เท่านั้น ซึ่งสอดคล้องกับ CFBundleVersion ของแอปสำหรับ Apple และ versionCode สำหรับ Android การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ตรงกันทุกประการ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้โอเปอเรเตอร์มีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ นอกจากนี้ คุณยังใช้ Anchor ^ และ $ เพื่อจับคู่จุดเริ่มต้น จุดสิ้นสุด หรือสตริงเป้าหมายทั้งหมดได้ด้วย |
| แพลตฟอร์ม | == | iOS Android เว็บ |
|
| ระบบปฏิบัติการ | == |
ระบุระบบปฏิบัติการที่จะกำหนดเป้าหมาย ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกเว็บแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase |
กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์เว็บแอปที่ระบุ หากระบบปฏิบัติการและเวอร์ชันตรงกับค่าเป้าหมายในรายการที่ระบุ
|
| เบราว์เซอร์ | == |
ระบุเบราว์เซอร์ที่จะกำหนดเป้าหมาย ก่อนใช้กฎนี้ คุณต้องใช้กฎรหัสแอปเพื่อเลือกเว็บแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase |
กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์เว็บแอปที่ระบุ หากเบราว์เซอร์และเวอร์ชันตรงกับค่าเป้าหมายในรายการที่ระบุ
|
| หมวดหมู่ของอุปกรณ์ | เท่ากับ ไม่เท่ากับ | อุปกรณ์เคลื่อนที่ | กฎนี้จะประเมินว่าอุปกรณ์ที่เข้าถึงเว็บแอปเป็นอุปกรณ์เคลื่อนที่หรือไม่ (เดสก์ท็อปหรือคอนโซล) กฎประเภทนี้ใช้ได้กับเว็บแอปเท่านั้น |
| ภาษา | อยู่ใน | เลือกอย่างน้อย 1 ภาษา | กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์แอปหนึ่งๆ หากอินสแตนซ์แอปนั้นติดตั้งอยู่ในอุปกรณ์ที่ใช้ภาษาใดภาษาหนึ่งที่ระบุไว้
|
| ประเทศ/ภูมิภาค | อยู่ใน | เลือกภูมิภาคหรือประเทศอย่างน้อย 1 รายการ | กฎนี้จะประเมินเป็น true สำหรับอินสแตนซ์แอปหนึ่งๆ หากอินสแตนซ์นั้นอยู่ในภูมิภาคหรือประเทศที่ระบุไว้ รหัสประเทศของอุปกรณ์จะกำหนดโดยใช้ที่อยู่ IP ของอุปกรณ์ในคำขอหรือรหัสประเทศที่กำหนดโดย Firebase Analytics (หากมีการแชร์ข้อมูล Analytics กับ Firebase)
|
| กลุ่มเป้าหมายที่เป็นผู้ใช้ | รวมอย่างน้อย 1 รายการ | เลือกกลุ่มเป้าหมายอย่างน้อย 1 กลุ่มจากรายการกลุ่มเป้าหมาย Google Analytics กลุ่มที่คุณตั้งค่าไว้สำหรับโปรเจ็กต์ | กฎนี้ต้องใช้กฎรหัสแอปเพื่อเลือกแอปที่เชื่อมโยงกับโปรเจ็กต์ Firebase
หมายเหตุ: เนื่องจากกลุ่มเป้าหมาย Analytics จำนวนมากได้รับการกำหนดโดยเหตุการณ์หรือพร็อพเพอร์ตี้ผู้ใช้ ซึ่งอาจอิงตามการกระทำของผู้ใช้แอป จึงอาจใช้เวลาสักพักกว่าที่กฎผู้ใช้ในกลุ่มเป้าหมายจะมีผลกับอินสแตนซ์แอปหนึ่งๆ ซึ่งหมายความว่าแม้ว่าผู้ใช้จะมีคุณสมบัติตรงตามเกณฑ์ของกลุ่มเป้าหมายในทางเทคนิค แต่หาก Analytics ยังไม่ได้เพิ่มผู้ใช้ลงในกลุ่มเป้าหมายเมื่อมีการเรียกใช้ |
| พร็อพเพอร์ตี้ผู้ใช้ |
สำหรับค่าสตริง:
มี ไม่มี ตรงทั้งหมด มีนิพจน์ทั่วไป สำหรับค่าตัวเลข: =, ≠, >, ≥, <, ≤ หมายเหตุ: ในฝั่งไคลเอ็นต์ คุณจะตั้งค่าได้เฉพาะค่าสตริงสำหรับพร็อพเพอร์ตี้ผู้ใช้ สําหรับเงื่อนไขที่ใช้โอเปอเรเตอร์ตัวเลข Remote Config จะแปลงค่าของพร็อพเพอร์ตี้ผู้ใช้ที่เกี่ยวข้องเป็นจำนวนเต็ม/จำนวนทศนิยม |
เลือกจากรายการพร็อพเพอร์ตี้ผู้ใช้ Google Analytics ที่มีอยู่ | ดูวิธีใช้พร็อพเพอร์ตี้ผู้ใช้เพื่อปรับแต่งแอปสำหรับกลุ่มฐานผู้ใช้ที่เฉพาะเจาะจงได้ที่Remote Configและพร็อพเพอร์ตี้ผู้ใช้
ดูข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้ผู้ใช้ได้ในคำแนะนำต่อไปนี้ เมื่อใช้โอเปอเรเตอร์ตรงทั้งหมด มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้โอเปอเรเตอร์มีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปสามารถจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ นอกจากนี้ คุณยังใช้ Anchor ^ และ $ เพื่อจับคู่จุดเริ่มต้น จุดสิ้นสุด หรือสตริงเป้าหมายทั้งหมดได้ด้วย หมายเหตุ: พร็อพเพอร์ตี้ผู้ใช้ที่รวบรวมโดยอัตโนมัติจะใช้ไม่ได้เมื่อสร้างเงื่อนไข Remote Config |
| ผู้ใช้ในเปอร์เซ็นต์แบบสุ่ม | แถบเลื่อน (ในคอนโซล Firebase) REST API ใช้โอเปอเรเตอร์ <=, > และ between)
|
0-100 |
ใช้ช่องนี้เพื่อใช้การเปลี่ยนแปลงกับตัวอย่างอินสแตนซ์แอปแบบสุ่ม (โดยมีขนาดตัวอย่างเล็กเพียง .0001%) โดยใช้วิดเจ็ตแถบเลื่อนเพื่อแบ่งกลุ่มผู้ใช้ที่สุ่มสับเปลี่ยน (อินสแตนซ์แอป) ออกเป็นกลุ่มๆ อินสแตนซ์แอปแต่ละรายการจะแมปกับจำนวนเต็มหรือเศษส่วนแบบสุ่มอย่างถาวรตามค่าเริ่มต้นที่กำหนดไว้ในโปรเจ็กต์นั้น กฎจะใช้คีย์เริ่มต้น (แสดงเป็นแก้ไขค่าตั้งต้นในคอนโซล Firebase) เว้นแต่คุณจะแก้ไขค่าตั้งต้น คุณสามารถเปลี่ยนกฎกลับไปใช้คีย์เริ่มต้นได้โดยล้างช่องค่าเริ่มต้น หากต้องการระบุอินสแตนซ์แอปเดียวกันอย่างสม่ำเสมอภายในช่วงเปอร์เซ็นต์ที่กำหนด ให้ใช้ค่าตั้งต้นเดียวกันในเงื่อนไขต่างๆ หรือเลือกกลุ่มอินสแตนซ์แอปใหม่ที่กำหนดแบบสุ่มสำหรับช่วงเปอร์เซ็นต์ที่กำหนดโดยระบุ Seed ใหม่ ตัวอย่างเช่น หากต้องการสร้างเงื่อนไขที่เกี่ยวข้อง 2 รายการซึ่งแต่ละรายการมีผลกับผู้ใช้แอป 5% ที่ไม่ทับซ้อนกัน คุณสามารถกำหนดค่าเงื่อนไขหนึ่งให้ตรงกับเปอร์เซ็นต์ระหว่าง 0% ถึง 5% และกำหนดค่าอีกเงื่อนไขหนึ่งให้ตรงกับช่วงระหว่าง 5% ถึง 10% หากต้องการอนุญาตให้ผู้ใช้บางรายปรากฏในทั้ง 2 กลุ่มแบบสุ่ม ให้ใช้ค่าตั้งต้นที่แตกต่างกันสำหรับกฎภายในแต่ละเงื่อนไข |
| กลุ่มที่นำเข้า | อยู่ใน | เลือกกลุ่มที่นำเข้าอย่างน้อย 1 กลุ่ม | กฎนี้กำหนดให้ต้องตั้งค่ากลุ่มที่นำเข้าที่กำหนดเอง |
| วันที่/เวลา | ก่อน, หลัง | วันที่และเวลาที่ระบุ ไม่ว่าจะอยู่ในเขตเวลาของอุปกรณ์หรือเขตเวลาที่ระบุ เช่น "(GMT+11) เวลาซิดนีย์" | เปรียบเทียบเวลาปัจจุบันกับเวลาที่ดึงข้อมูลของอุปกรณ์ |
| การเปิดครั้งแรก | ก่อน, หลัง | กำหนดเป้าหมายผู้ใช้ตามครั้งแรกที่เปิดแอป ดังนี้
|
การกำหนดเป้าหมายผู้ใช้ตามการเปิดครั้งแรกจะใช้ได้หลังจากที่คุณเลือกแอป Android, iOS หรือเว็บแอป ต้องใช้ SDK ต่อไปนี้
นอกจากนี้ Analytics ต้องเปิดใช้ในไคลเอ็นต์ระหว่างเหตุการณ์การเปิดครั้งแรกด้วย |
| รหัสการติดตั้ง | อยู่ใน | ระบุรหัสการติดตั้งอย่างน้อย 1 รายการ (สูงสุด 50 รายการ) เพื่อกำหนดเป้าหมาย | กฎนี้จะประเมินเป็น true สำหรับการติดตั้งที่ระบุ หากรหัสของการติดตั้งนั้นอยู่ในรายการค่าที่คั่นด้วยคอมมา
ดูวิธีรับรหัสการติดตั้งได้ที่หัวข้อดึงข้อมูลตัวระบุไคลเอ็นต์ |
| มีผู้ใช้อยู่แล้ว | (ไม่มีโอเปอเรเตอร์) | กำหนดเป้าหมายเป็นผู้ใช้ทั้งหมดของแอปทั้งหมดภายในโปรเจ็กต์ปัจจุบัน |
ใช้กฎเงื่อนไขนี้เพื่อจับคู่ผู้ใช้ทั้งหมดภายในโปรเจ็กต์ ไม่ว่าจะเป็นแอปหรือแพลตฟอร์มใดก็ตาม |
| สัญญาณที่กำหนดเอง |
สำหรับค่าสตริง:
มี ไม่มี ตรงกันทุกประการ มีนิพจน์ทั่วไป สำหรับค่าตัวเลข: =, ≠, >, ≥, <, ≤ สำหรับค่าเวอร์ชัน: =, ≠, >, ≥, <, ≤ |
การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ตรงกันทุกประการ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้โอเปอเรเตอร์นิพจน์ทั่วไป "มี" คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ นอกจากนี้ คุณยังใช้ Anchor ^ และ $ เพื่อจับคู่จุดเริ่มต้น จุดสิ้นสุด หรือทั้งสตริงเป้าหมายได้ด้วย ระบบรองรับข้อมูลประเภทต่อไปนี้สำหรับสภาพแวดล้อมของไคลเอ็นต์
ตัวเลขที่แสดงหมายเลขเวอร์ชันที่จะจับคู่ (เช่น 2.1.0) |
ดูข้อมูลเพิ่มเติมเกี่ยวกับเงื่อนไขสัญญาณที่กำหนดเองและนิพจน์เงื่อนไขที่จะใช้ได้ที่เงื่อนไขสัญญาณที่กำหนดเองและองค์ประกอบที่ใช้สร้างเงื่อนไข |
พารามิเตอร์และเงื่อนไขการค้นหา
คุณสามารถค้นหาคีย์พารามิเตอร์ ค่าพารามิเตอร์ และเงื่อนไขของโปรเจ็กต์ได้จากคอนโซล Firebase โดยใช้ช่องค้นหาที่ด้านบนของหน้าDevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > พารามิเตอร์
ขีดจำกัดของพารามิเตอร์และเงื่อนไข
ภายในโปรเจ็กต์ Firebase คุณสามารถมีพารามิเตอร์ได้สูงสุด 3,000 รายการ และเงื่อนไขสูงสุด 2,000 รายการ คีย์พารามิเตอร์มีความยาวได้สูงสุด 256 อักขระ ต้องขึ้นต้นด้วยขีดล่างหรือตัวอักษรภาษาอังกฤษ (A-Z, a-z) และมีตัวเลขได้ด้วย ความยาวรวมของสตริงค่าพารามิเตอร์ภายในโปรเจ็กต์ต้องไม่เกิน 1,000,000 อักขระ นอกจากนี้ กฎเงื่อนไขที่อิงตามพร็อพเพอร์ตี้ผู้ใช้สามารถมีค่าพร็อพเพอร์ตี้ผู้ใช้ได้สูงสุด 100 ค่า ดูรายการขีดจำกัดทั้งหมดได้ที่โควต้าและขีดจำกัด
ดูการเปลี่ยนแปลงพารามิเตอร์และเงื่อนไข
คุณดูการเปลี่ยนแปลงล่าสุดในเทมเพลต Remote Config ได้จากคอนโซล Firebase คุณจะดำเนินการต่อไปนี้ได้สำหรับพารามิเตอร์และเงื่อนไขแต่ละรายการ
ดูชื่อผู้ใช้ที่แก้ไขพารามิเตอร์หรือเงื่อนไขล่าสุด
หากการเปลี่ยนแปลงเกิดขึ้นภายในวันเดียวกัน ให้ดูจำนวนนาทีหรือชั่วโมงที่ผ่านไปนับตั้งแต่มีการเผยแพร่การเปลี่ยนแปลงไปยังเทมเพลต Remote Config ที่ใช้งานอยู่
หากการเปลี่ยนแปลงเกิดขึ้นมาแล้วอย่างน้อย 1 วัน ให้ดูวันที่ที่เผยแพร่การเปลี่ยนแปลงไปยังเทมเพลต Remote Config ที่ใช้งานอยู่
ประวัติการเปลี่ยนแปลงของพารามิเตอร์
ในคอนโซล Firebase ให้ไปที่หน้า DevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > พารามิเตอร์ คอลัมน์เผยแพร่ล่าสุดจะแสดงผู้ใช้คนล่าสุดที่แก้ไขพารามิเตอร์แต่ละรายการและวันที่เผยแพร่ล่าสุดสำหรับการเปลี่ยนแปลงนั้นๆ
หากต้องการดูข้อมูลเมตาการเปลี่ยนแปลงของพารามิเตอร์ที่จัดกลุ่ม ให้ขยายกลุ่มพารามิเตอร์
หากต้องการจัดเรียงตามลำดับจากน้อยไปมากหรือจากมากไปน้อยตามวันที่เผยแพร่ ให้คลิกป้ายกำกับคอลัมน์เผยแพร่ล่าสุด
ประวัติการเปลี่ยนแปลงของเงื่อนไข
ในคอนโซล Firebase ให้ไปที่หน้า DevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > เงื่อนไข คุณสามารถดูผู้ใช้คนล่าสุดที่แก้ไขเงื่อนไขและวันที่แก้ไขได้ที่ข้างแก้ไขล่าสุดใต้แต่ละเงื่อนไข
ขั้นตอนถัดไป
หากต้องการกำหนดค่าโปรเจ็กต์และแอป Firebase ให้ใช้ Remote Config โปรดดูหัวข้อเริ่มต้นใช้งาน Firebase Remote Config