คุณกำหนดค่าเทมเพลตสำหรับทั้งกรณีการใช้งานฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ได้ ระบบจะแสดงเทมเพลต ไคลเอ็นต์ต่ออินสแตนซ์ของแอปที่ใช้ Firebase Client SDK สำหรับ Remote Config ซึ่งรวมถึงแอป Android, Apple, เว็บ, Unity, Flutter และ C++ พารามิเตอร์และค่า Remote Config จากเทมเพลตเฉพาะเซิร์ฟเวอร์จะแสดงต่อการติดตั้งใช้งาน Remote Config (รวมถึง Cloud Run และ Cloud Functions) ที่ใช้สภาพแวดล้อมเซิร์ฟเวอร์ต่อไปนี้
- Firebase Admin Node.js SDK v12.1.0 ขึ้นไป
- Firebase Admin Python SDK v6.7.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
สำหรับอินสแตนซ์แอปที่กำหนด หากค่าของกฎเป็น
undefined (เช่น เมื่อไม่มีค่า) กฎนั้นจะประเมินเป็น
false
เช่น คุณอาจสร้างพารามิเตอร์ที่กำหนดชื่อโมเดลและสตริงเวอร์ชันของโมเดลภาษาขนาดใหญ่ (LLM) และแสดงคำตอบจากโมเดลต่างๆ ตามกฎสัญญาณที่กำหนดเอง ในกรณีการใช้งานนี้ คุณอาจใช้เวอร์ชันโมเดลที่เสถียรเป็นค่าเริ่มต้นเพื่อ แสดงคำขอส่วนใหญ่ และใช้สัญญาณที่กำหนดเองเพื่อใช้โมเดลเวอร์ชันทดลอง ในการตอบคำขอของไคลเอ็นต์ทดสอบ
พารามิเตอร์อาจมีค่าแบบมีเงื่อนไขหลายค่าที่ใช้เงื่อนไขที่แตกต่างกัน และพารามิเตอร์สามารถแชร์เงื่อนไขภายในโปรเจ็กต์ได้ ในแท็บพารามิเตอร์ ของFirebaseคอนโซล คุณจะดูเปอร์เซ็นต์การดึงข้อมูลสำหรับค่าแบบมีเงื่อนไขของพารามิเตอร์แต่ละรายการได้ เมตริกนี้ระบุเปอร์เซ็นต์ของคำขอ ในช่วง 24 ชั่วโมงที่ผ่านมาซึ่งได้รับค่าแต่ละค่า
ลำดับความสำคัญของค่าพารามิเตอร์
เมื่อใช้ Remote Config ในแอปเซิร์ฟเวอร์โดยใช้ Firebase Admin SDK คุณจะ ดึงข้อมูลและโหลดเทมเพลตทั้งหมดเพื่อแยกค่าพารามิเตอร์ที่เหมาะสม ตามต้องการสำหรับคำขอของไคลเอ็นต์แต่ละรายการ พารามิเตอร์อาจมีค่าแบบมีเงื่อนไขหลายค่าที่เชื่อมโยงอยู่
กฎต่อไปนี้จะกำหนดค่าที่จะกำหนดในระหว่างการประเมินเทมเพลต ณ จุดเวลาหนึ่งๆ
ก่อนอื่น ระบบจะใช้ค่าแบบมีเงื่อนไขสำหรับเงื่อนไขใดๆ ที่ประเมินเป็น
true
สำหรับคำขอของไคลเอ็นต์ที่ระบุ หากเงื่อนไขหลายรายการประเมินค่าเป็นtrue
เงื่อนไขแรก (ด้านบน) ที่แสดงใน UI ของคอนโซล Firebase จะมีความสำคัญเหนือกว่า และระบบจะระบุค่าแบบมีเงื่อนไขที่เชื่อมโยงกับเงื่อนไขนั้นเมื่อประเมินเทมเพลต คุณสามารถ เปลี่ยนลำดับความสำคัญของเงื่อนไขได้โดยการลากและวางเงื่อนไขใน แท็บเงื่อนไขหากไม่มีค่าแบบมีเงื่อนไขที่มีเงื่อนไขที่ประเมินเป็น
true
, Remote Config ระบบจะระบุค่าเริ่มต้นของ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 หรือ REST API ของ Remote Config กลุ่มพารามิเตอร์แต่ละกลุ่มที่คุณสร้างจะมีชื่อที่ไม่ซ้ำกันในเทมเพลต Remote Config เมื่อสร้างกลุ่มพารามิเตอร์ โปรดคำนึงถึงสิ่งต่อไปนี้
- พารามิเตอร์จะรวมอยู่ในกลุ่มได้เพียงกลุ่มเดียวในแต่ละครั้ง และคีย์พารามิเตอร์ ยังคงต้องไม่ซ้ำกันในพารามิเตอร์ทั้งหมด
- ชื่อกลุ่มพารามิเตอร์มีความยาวได้ไม่เกิน 256 อักขระ
- หากคุณใช้ทั้ง REST API และFirebaseคอนโซล โปรดตรวจสอบว่าได้อัปเดตตรรกะ REST API เพื่อจัดการกลุ่มพารามิเตอร์ในการเผยแพร่แล้ว
สร้างหรือแก้ไขกลุ่มพารามิเตอร์โดยใช้Firebaseคอนโซล
คุณจัดกลุ่มพารามิเตอร์ได้ในแท็บพารามิเตอร์ของคอนโซล Firebase วิธีสร้างหรือแก้ไขกลุ่ม
- เลือกจัดการกลุ่ม
- เลือกช่องทําเครื่องหมายสําหรับพารามิเตอร์ที่ต้องการเพิ่ม แล้วเลือกย้ายไปยังกลุ่ม
- เลือกกลุ่มที่มีอยู่ หรือสร้างกลุ่มใหม่โดยป้อนชื่อและ คำอธิบาย แล้วเลือกสร้างกลุ่มใหม่ หลังจากบันทึกกลุ่มแล้ว คุณจะเผยแพร่กลุ่มได้โดยใช้ปุ่มเผยแพร่การเปลี่ยนแปลง
ประเภทกฎเงื่อนไข
เทมเพลต Remote Config สำหรับแอปพลิเคชันเซิร์ฟเวอร์รองรับเงื่อนไขประเภทต่อไปนี้
ผู้ใช้ในเปอร์เซ็นต์แบบสุ่ม
ใช้ช่องนี้เพื่อใช้การเปลี่ยนแปลงกับตัวอย่างแบบสุ่มของอินสแตนซ์แอป (โดยมีขนาดตัวอย่างเล็กเพียง 0.0001%) โดยใช้แถบเลื่อนเพื่อแบ่งกลุ่มผู้ใช้ที่สับเปลี่ยนแบบสุ่ม (อินสแตนซ์แอป) ออกเป็นกลุ่ม
ระบบจะแมปอินสแตนซ์ของแอปแต่ละรายการกับจำนวนเต็มหรือเศษส่วนแบบสุ่มอย่างต่อเนื่องตามค่าเริ่มต้นที่กำหนดไว้ในโปรเจ็กต์นั้น
กฎจะใช้คีย์เริ่มต้น (แสดงเป็นแก้ไข Seed ในคอนโซล Firebase) เว้นแต่คุณจะ แก้ไขค่า Seed คุณสามารถเปลี่ยนกฎกลับไปใช้คีย์เริ่มต้นได้โดยล้างช่องSeed
หากต้องการกำหนดอินสแตนซ์แอปเดียวกันอย่างสม่ำเสมอภายในช่วงเปอร์เซ็นต์ที่กำหนด ให้ใช้ค่า Seed เดียวกันในเงื่อนไขต่างๆ หรือเลือกกลุ่มอินสแตนซ์แอปที่กำหนดใหม่แบบสุ่มสำหรับช่วงเปอร์เซ็นต์ที่กำหนดโดยการระบุ Seed ใหม่
ตัวอย่างเช่น หากต้องการสร้างเงื่อนไขที่เกี่ยวข้อง 2 รายการซึ่งแต่ละรายการใช้กับผู้ใช้แอป 5% ที่ไม่ทับซ้อนกัน คุณสามารถกำหนดค่าเงื่อนไขหนึ่งให้ตรงกับเปอร์เซ็นต์ระหว่าง 0% ถึง 5% และกำหนดค่า อีกเงื่อนไขหนึ่งให้ตรงกับช่วงระหว่าง 5% ถึง 10% หากต้องการอนุญาตให้ผู้ใช้บางรายปรากฏแบบสุ่มในทั้ง 2 กลุ่ม ให้ใช้ค่าเริ่มต้นที่แตกต่างกันสำหรับกฎภายในแต่ละเงื่อนไข
ดูวิธีเพิ่มเงื่อนไขเปอร์เซ็นต์แบบสุ่มลงในแอปพลิเคชันได้ที่กำหนดค่าแอปพลิเคชันเซิร์ฟเวอร์
เงื่อนไขสัญญาณที่กำหนดเอง
เมื่อใช้ Firebase Admin Node.js SDK 12.5.0 ขึ้นไป คุณจะใช้ค่าแบบมีเงื่อนไขของสัญญาณที่กำหนดเองเพื่อจับคู่เงื่อนไขที่กำหนดเองซึ่งคุณกำหนดไว้ในแอปพลิเคชันได้ ซึ่งจะช่วยให้คุณปรับแต่งการตอบกลับของเซิร์ฟเวอร์สำหรับคำขอของไคลเอ็นต์แต่ละรายการได้
ตัวอย่างเช่น หากคุณกำลังทำงานในแอปเซิร์ฟเวอร์ที่ใช้ Generative AI เพื่อ ช่วยสร้างคำตอบด้วยโมเดลต่างๆ ที่ปรับแต่งสำหรับแพลตฟอร์มที่เฉพาะเจาะจง คุณ สามารถทำสิ่งต่อไปนี้ได้
- เพิ่มพารามิเตอร์
prompt
และmodel_name
ลงในRemote Config เทมเพลตเซิร์ฟเวอร์ - เพิ่มเงื่อนไขสัญญาณที่กำหนดเองที่มีค่าเป็น
platform
สำหรับแต่ละแพลตฟอร์มที่คุณต้องการกำหนดเป้าหมาย - เพิ่มค่าเริ่มต้นลงในRemote Configเทมเพลตเฉพาะเซิร์ฟเวอร์และ ค่าแบบมีเงื่อนไขสำหรับเงื่อนไขแพลตฟอร์มแต่ละรายการที่คุณกำหนด
- อัปเดตโค้ดแอปพลิเคชันเพื่อตั้งค่าและใช้
platform
สัญญาณที่กำหนดเอง
ตอนนี้แอปของคุณสามารถดึงพรอมต์และโมเดลที่เหมาะสมในระหว่างการประเมินเทมเพลต และใช้เพื่อแสดงคำตอบที่ปรับแต่งแล้วแก่ไคลเอ็นต์แต่ละราย
คุณใช้ประเภทกฎต่อไปนี้เพื่อสร้างเงื่อนไขของสัญญาณที่กำหนดเองในFirebaseคอนโซลได้
หมวดหมู่ผู้ให้บริการ | ผู้ประกอบการ | ค่า | หมายเหตุ |
---|---|---|---|
ข้อความ | ตรงกันทุกประการ มี ไม่มี มีนิพจน์ทั่วไป |
การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ ตรงทุกประการกับ มี ไม่มี หรือ มีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้ตัวดำเนินการมีนิพจน์ทั่วไป คุณจะสร้าง นิพจน์ทั่วไปในรูปแบบ 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ที่ใช้งานอยู่
หากการเปลี่ยนแปลงเกิดขึ้นเมื่อ 1 วันขึ้นไปที่ผ่านมา ให้ดูวันที่ที่ เผยแพร่การเปลี่ยนแปลงไปยังเทมเพลต Remote Config ที่ใช้งานอยู่
ประวัติการเปลี่ยนแปลงของพารามิเตอร์
ในหน้าRemote Config พารามิเตอร์ คอลัมน์เผยแพร่ล่าสุดจะแสดงผู้ใช้รายล่าสุดที่แก้ไขพารามิเตอร์แต่ละรายการ และวันที่เผยแพร่ล่าสุดของการเปลี่ยนแปลง
หากต้องการดูข้อมูลเมตาการเปลี่ยนแปลงของพารามิเตอร์ที่จัดกลุ่ม ให้ขยายกลุ่มพารามิเตอร์
หากต้องการจัดเรียงตามวันที่เผยแพร่จากน้อยไปมากหรือจากมากไปน้อย ให้คลิกป้ายกำกับคอลัมน์เผยแพร่ล่าสุด
ประวัติการเปลี่ยนแปลงเงื่อนไข
ในหน้าRemote Config เงื่อนไข คุณจะเห็นผู้ใช้รายล่าสุดที่แก้ไขเงื่อนไขและวันที่ ที่แก้ไขข้างแก้ไขล่าสุดใต้เงื่อนไขแต่ละรายการ