คุณสามารถกำหนดค่าเทมเพลตสำหรับทั้งกรณีการใช้งานของไคลเอ็นต์และเซิร์ฟเวอร์ได้ ระบบจะแสดงเทมเพลตไคลเอ็นต์ต่ออินสแตนซ์แอปที่ใช้ Firebase Client SDK สําหรับ Remote Config ซึ่งรวมถึงแอป Android, Apple, เว็บ, Unity, Flutter และ C++ ระบบจะแสดงพารามิเตอร์และค่า Remote Config จากเทมเพลตเฉพาะเซิร์ฟเวอร์ต่อการติดตั้งใช้งาน Remote Config (รวมถึง Cloud Run และ Cloud Functions) ที่ใช้ Firebase Admin Node.js SDK เวอร์ชัน 12.1.0 ขึ้นไป
เมื่อใช้Firebaseคอนโซลหรือ Remote ConfigAPI แบ็กเอนด์ คุณจะต้องกําหนดพารามิเตอร์อย่างน้อย 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
เช่น คุณอาจสร้างพารามิเตอร์ที่กําหนดชื่อและสตริงเวอร์ชันของโมเดลภาษาขนาดใหญ่ (LLM) และแสดงคําตอบจากโมเดลต่างๆ ตามกฎสัญญาณที่กําหนดเอง ใน Use Case นี้ คุณอาจใช้เวอร์ชันโมเดลที่เสถียรเป็นค่าเริ่มต้นเพื่อให้บริการคำขอส่วนใหญ่ และใช้สัญญาณที่กำหนดเองเพื่อใช้โมเดลเวอร์ชันทดลองเพื่อตอบสนองคำขอทดสอบไคลเอ็นต์
พารามิเตอร์อาจมีค่าแบบมีเงื่อนไขหลายค่าที่ใช้เงื่อนไขที่แตกต่างกัน และพารามิเตอร์สามารถแชร์เงื่อนไขภายในโปรเจ็กต์ได้ ดูเปอร์เซ็นต์การดึงข้อมูลสำหรับค่าแบบมีเงื่อนไขของพารามิเตอร์แต่ละรายการได้ในแท็บพารามิเตอร์ของคอนโซล Firebase เมตริกนี้ระบุเปอร์เซ็นต์ของคําขอในช่วง 24 ชั่วโมงที่ผ่านมาซึ่งได้รับค่าแต่ละค่า
ลําดับความสําคัญของค่าพารามิเตอร์
เมื่อใช้ Remote Config ในแอปเซิร์ฟเวอร์โดยใช้ Firebase Admin SDK คุณจะดึงข้อมูลและโหลดทั้งเทมเพลตเพื่อดึงค่าพารามิเตอร์ที่เหมาะสมตามคําขอของลูกค้าแต่ละราย พารามิเตอร์อาจมีค่าตามเงื่อนไขหลายรายการที่เชื่อมโยงกับพารามิเตอร์นั้น
กฎต่อไปนี้เป็นตัวกำหนดว่าระบบจะกําหนดค่าใดระหว่างการประเมินเทมเพลต ณ จุดหนึ่งๆ
ก่อนอื่น ระบบจะใช้ค่าแบบมีเงื่อนไขกับเงื่อนไขที่ประเมินเป็น
true
สำหรับคำขอของไคลเอ็นต์ที่กำหนด หากเงื่อนไขหลายรายการให้ค่าเป็นtrue
เงื่อนไขแรก (ด้านบน) ที่แสดงใน UI ของคอนโซล Firebase จะมีความสําคัญเหนือกว่า และระบบจะระบุค่าแบบมีเงื่อนไขที่เชื่อมโยงกับเงื่อนไขนั้นเมื่อประเมินเทมเพลต คุณสามารถเปลี่ยนลําดับความสําคัญของเงื่อนไขโดยการลากและวางเงื่อนไขในแท็บเงื่อนไขหากไม่มีค่าแบบมีเงื่อนไขซึ่งมีเงื่อนไขที่ประเมินเป็น
true
ระบบจะระบุค่าเริ่มต้นของ Remote Config ระหว่างการประเมินเทมเพลต หากไม่มีพารามิเตอร์ในเทมเพลต หรือหากตั้งค่าเริ่มต้นเป็นใช้ค่าเริ่มต้นในแอป ระบบจะไม่ระบุค่าสําหรับพารามิเตอร์นั้นเมื่อประเมินเทมเพลต
ดูข้อมูลเพิ่มเติมเกี่ยวกับการโหลดและการประเมินเทมเพลต Remote Config ในแอปเซิร์ฟเวอร์ได้ที่ใช้ Remote Config ในสภาพแวดล้อมเซิร์ฟเวอร์
ประเภทข้อมูลค่าพารามิเตอร์
Remote Config ให้คุณเลือกประเภทข้อมูลสําหรับพารามิเตอร์แต่ละรายการ และตรวจสอบค่า Remote Config ทั้งหมดเทียบกับประเภทนั้นก่อนที่จะอัปเดตเทมเพลต ระบบจะจัดเก็บและแสดงผลประเภทข้อมูลในคำขอ getRemoteConfig
ประเภทข้อมูลที่รองรับ ได้แก่
String
Boolean
Number
JSON
ใน UI ของคอนโซล Firebase คุณสามารถเลือกประเภทข้อมูลได้จากเมนูแบบเลื่อนลงข้างคีย์พารามิเตอร์ ใน REST API คุณสามารถตั้งค่าประเภทได้โดยใช้ช่อง value_type
ภายในออบเจ็กต์พารามิเตอร์
กลุ่มพารามิเตอร์
Remote Config ช่วยให้คุณจัดกลุ่มพารามิเตอร์เข้าด้วยกันเพื่อให้ UI เป็นแบบระเบียบมากขึ้นและเพิ่มความสามารถในการใช้งาน
ตัวอย่างเช่น สมมติว่าคุณต้องเปิดหรือปิดใช้การตรวจสอบสิทธิ์ 3 ประเภทที่แตกต่างกันขณะเปิดตัวฟีเจอร์การเข้าสู่ระบบใหม่ เมื่อใช้ Remote Config คุณสามารถสร้างพารามิเตอร์ 3 รายการเพื่อเปิดใช้ประเภทที่ต้องการ จากนั้นจัดระเบียบพารามิเตอร์เหล่านั้นเป็นกลุ่มชื่อ "การเข้าสู่ระบบใหม่" โดยไม่จำเป็นต้องเพิ่มคำนำหน้าหรือการเรียงลำดับพิเศษ
คุณสามารถสร้างกลุ่มพารามิเตอร์ได้โดยใช้Firebaseคอนโซลหรือ Remote ConfigREST API กลุ่มพารามิเตอร์แต่ละกลุ่มที่คุณสร้างมีชื่อที่ไม่ซ้ำกันในเทมเพลต Remote Config สิ่งที่ควรทราบเมื่อสร้างกลุ่มพารามิเตอร์
- พารามิเตอร์จะรวมอยู่ในกลุ่มได้เพียงกลุ่มเดียวเท่านั้น และคีย์พารามิเตอร์ต้องไม่ซ้ำกันสำหรับพารามิเตอร์ทั้งหมด
- ชื่อกลุ่มพารามิเตอร์มีความยาวได้ไม่เกิน 256 อักขระ
- หากคุณใช้ทั้ง REST API และคอนโซล Firebase ให้ตรวจสอบว่าอัปเดตตรรกะ REST API เพื่อจัดการกลุ่มพารามิเตอร์ในการเผยแพร่แล้ว
สร้างหรือแก้ไขกลุ่มพารามิเตอร์โดยใช้คอนโซล Firebase
คุณสามารถจัดกลุ่มพารามิเตอร์ในแท็บพารามิเตอร์ของคอนโซล Firebase วิธีสร้างหรือแก้ไขกลุ่ม
- เลือกจัดการกลุ่ม
- เลือกช่องทําเครื่องหมายสําหรับพารามิเตอร์ที่ต้องการเพิ่ม แล้วเลือกย้ายไปยังกลุ่ม
- เลือกกลุ่มที่มีอยู่ หรือสร้างกลุ่มใหม่โดยป้อนชื่อและคำอธิบาย แล้วเลือกสร้างกลุ่มใหม่ หลังจากบันทึกกลุ่มแล้ว คุณจะเผยแพร่กลุ่มได้โดยใช้ปุ่มเผยแพร่การเปลี่ยนแปลง
ประเภทกฎเงื่อนไข
เทมเพลต Remote Config สําหรับแอปพลิเคชันเซิร์ฟเวอร์รองรับเงื่อนไขประเภทต่อไปนี้
ผู้ใช้ในเปอร์เซ็นต์แบบสุ่ม
ใช้ช่องนี้เพื่อใช้การเปลี่ยนแปลงกับอินสแตนซ์แอปแบบสุ่ม (ขนาดตัวอย่างมีขนาดเล็กเพียง 0.0001%) โดยใช้วิดเจ็ตแถบเลื่อนเพื่อแบ่งกลุ่มผู้ใช้ (อินสแตนซ์แอป) ที่สุ่มสับเปลี่ยนออกเป็นกลุ่ม
ระบบจะแมปอินสแตนซ์แอปแต่ละรายการกับจำนวนเต็มหรือเศษส่วนที่สุ่มอย่างต่อเนื่องตามเมล็ดพันธุ์ที่กําหนดไว้ในโปรเจ็กต์นั้น
กฎจะใช้คีย์เริ่มต้น (แสดงเป็นแก้ไขข้อมูลเริ่มต้นในคอนโซล Firebase) เว้นแต่คุณจะแก้ไขค่าเริ่มต้น คุณสามารถเปลี่ยนกฎให้กลับไปใช้คีย์เริ่มต้นได้โดยล้างช่องSeed
หากต้องการจัดการอินสแตนซ์แอปเดียวกันภายในช่วงเปอร์เซ็นต์ที่ระบุอย่างสม่ำเสมอ ให้ใช้ค่าเริ่มต้นเดียวกันในเงื่อนไขต่างๆ หรือเลือกกลุ่มอินสแตนซ์แอปใหม่ที่ระบบกําหนดแบบสุ่มสําหรับช่วงเปอร์เซ็นต์ที่ระบุโดยระบุข้อมูลเริ่มต้นใหม่
เช่น หากต้องการสร้างเงื่อนไขที่เกี่ยวข้อง 2 รายการที่แต่ละรายการมีผลกับผู้ใช้ 5% ที่ไม่ทับซ้อนกันของแอป คุณอาจกําหนดค่าเงื่อนไขหนึ่งให้ตรงกับเปอร์เซ็นต์ระหว่าง 0-5% และกำหนดค่าเงื่อนไขอื่นให้ตรงกับช่วงระหว่าง 5-10% หากต้องการให้ผู้ใช้บางรายปรากฏแบบสุ่มในทั้ง 2 กลุ่ม ให้ใช้ค่าตั้งต้นที่แตกต่างกันสำหรับกฎภายในแต่ละเงื่อนไข
ดูวิธีเพิ่มเงื่อนไขเปอร์เซ็นต์แบบสุ่มลงในแอปพลิเคชันได้ที่กําหนดค่าแอปพลิเคชันเซิร์ฟเวอร์
สัญญาณที่กำหนดเอง
เมื่อใช้ Firebase Admin Node.js SDK 12.5.0 ขึ้นไป คุณจะใช้เงื่อนไขประเภท Custom signal เพื่อจับคู่กับเงื่อนไขที่กำหนดเองในแอปพลิเคชันได้ ซึ่งจะช่วยให้คุณปรับการตอบกลับของเซิร์ฟเวอร์สำหรับคำขอแต่ละรายการของลูกค้าได้
ตัวอย่างเช่น หากคุณกำลังทํางานกับแอปเซิร์ฟเวอร์ที่ใช้ Generative AI เพื่อช่วยสร้างคําตอบด้วยโมเดลต่างๆ ที่ปรับแต่งมาเพื่อแพลตฟอร์มที่เฉพาะเจาะจง คุณอาจทําสิ่งต่อไปนี้ได้
- เพิ่มพารามิเตอร์
prompt
และmodel_name
ลงในเทมเพลตRemote Config เซิร์ฟเวอร์ - เพิ่มสัญญาณที่กําหนดเองซึ่งมีค่าเป็น
platform
สําหรับแต่ละแพลตฟอร์มที่ต้องการกําหนดเป้าหมาย - เพิ่มค่าเริ่มต้นลงในเทมเพลต Remote Config เฉพาะเซิร์ฟเวอร์และค่าตามเงื่อนไขสำหรับแต่ละเงื่อนไขแพลตฟอร์มที่คุณกำหนด
- อัปเดตโค้ดแอปพลิเคชันเพื่อตั้งค่าและใช้สัญญาณที่กำหนดเอง
platform
ตอนนี้แอปจะดึงพรอมต์และโมเดลที่เหมาะสมระหว่างการประเมินเทมเพลต และใช้เพื่อแสดงคำตอบที่ปรับแต่งให้กับลูกค้าแต่ละราย
คุณสามารถใช้กฎประเภทต่อไปนี้เพื่อสร้างสัญญาณที่กําหนดเองในคอนโซล Firebase
หมวดหมู่ผู้ให้บริการ | โอเปอเรเตอร์ | ค่า | หมายเหตุ |
---|---|---|---|
ข้อความ | ตรงทั้งหมด, มี, ไม่มี, มีนิพจน์ทั่วไป |
การเปรียบเทียบสตริงสําหรับกฎนี้จะคํานึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ตรงกันทั้งหมด มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกหลายค่าได้ เมื่อใช้โอเปอเรเตอร์ contains regex คุณสามารถสร้างนิพจน์ทั่วไปในรูปแบบ RE2 นิพจน์ทั่วไปสามารถจับคู่กับสตริงเวอร์ชันเป้าหมายได้ทั้งหมดหรือบางส่วน นอกจากนี้ คุณยังใช้จุดยึด ^ และ $ เพื่อจับคู่กับจุดเริ่มต้น จุดสิ้นสุด หรือทั้งสตริงเป้าหมายได้ด้วย |
|
Numbers | <, <=, =, !=, >, >= | ตัวเลขที่มีจุดทศนิยมไม่เกิน 10 หลักในแต่ละด้าน | |
เวอร์ชัน | <, <=, =, !=, >, >= | ตัวเลขที่แสดงหมายเลขเวอร์ชันที่จะจับคู่ (เช่น 2.1.0) |
ดูวิธีเพิ่มสัญญาณที่กำหนดเองลงในแอปพลิเคชันได้ที่กำหนดค่าแอปพลิเคชันเซิร์ฟเวอร์
พารามิเตอร์และเงื่อนไขการค้นหา
คุณสามารถค้นหาคีย์พารามิเตอร์ ค่าพารามิเตอร์ และเงื่อนไขของโปรเจ็กต์ได้จากคอนโซล Firebase โดยใช้ช่องค้นหาที่ด้านบนของแท็บพารามิเตอร์ Remote Config
ขีดจํากัดของพารามิเตอร์และเงื่อนไข
ภายในโปรเจ็กต์ Firebase คุณมีพารามิเตอร์ได้สูงสุด 2,000 รายการและเงื่อนไขสูงสุด 500 รายการ คีย์พารามิเตอร์มีความยาวได้สูงสุด 256 อักขระ โดยต้องขึ้นต้นด้วยขีดล่างหรือตัวอักษรภาษาอังกฤษ (A-Z, a-z) และอาจมีตัวเลขได้ สตริงค่าพารามิเตอร์ภายในโปรเจ็กต์ต้องมีความยาวทั้งหมดไม่เกิน 1,000,000 อักขระ
ดูการเปลี่ยนแปลงพารามิเตอร์และเงื่อนไข
คุณดูการเปลี่ยนแปลงล่าสุดในRemote Configเทมเพลตได้จากคอนโซล Firebase คุณจะทำสิ่งต่อไปนี้ได้สำหรับพารามิเตอร์และเงื่อนไขแต่ละรายการ
ดูชื่อของผู้ใช้ที่แก้ไขพารามิเตอร์หรือเงื่อนไขครั้งล่าสุด
หากการเปลี่ยนแปลงเกิดขึ้นภายในวันเดียวกัน ให้ดูจํานวนนาทีหรือชั่วโมงที่ผ่านไปนับตั้งแต่เผยแพร่การเปลี่ยนแปลงลงในRemote ConfigเทมเพลตRemote Configที่ใช้งานอยู่
หากการเปลี่ยนแปลงเกิดขึ้นในอดีตอย่างน้อย 1 วัน ให้ดูวันที่ที่เผยแพร่การเปลี่ยนแปลงไปยังเทมเพลต Remote Config ที่ใช้งานอยู่
ประวัติการเปลี่ยนแปลงของพารามิเตอร์
ในหน้าRemote Config พารามิเตอร์ คอลัมน์เผยแพร่ล่าสุดจะแสดงผู้ใช้ล่าสุดที่แก้ไขพารามิเตอร์แต่ละรายการและวันที่เผยแพร่ครั้งล่าสุดของการเปลี่ยนแปลง
หากต้องการดูข้อมูลเมตาการเปลี่ยนแปลงสำหรับพารามิเตอร์ที่จัดกลุ่ม ให้ขยายกลุ่มพารามิเตอร์
หากต้องการจัดเรียงตามลำดับจากน้อยไปมากหรือจากมากไปน้อยตามวันที่เผยแพร่ ให้คลิกป้ายกำกับคอลัมน์เผยแพร่ล่าสุด
ประวัติการเปลี่ยนแปลงของเงื่อนไข
ในหน้าRemote Config เงื่อนไข คุณจะเห็นผู้ใช้คนล่าสุดที่แก้ไขเงื่อนไขและวันที่แก้ไขข้างแก้ไขล่าสุดใต้แต่ละเงื่อนไข