คุณแสดงพารามิเตอร์และค่า Remote Config จากเทมเพลตสำหรับทั้ง กรณีการใช้งานฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ได้
เทมเพลตฝั่งไคลเอ็นต์จะแสดงต่ออินสแตนซ์ของแอปที่ใช้ SDK ฝั่งไคลเอ็นต์ของ Firebase สำหรับ Remote Config ซึ่งรวมถึงแอป Apple, Android, เว็บ Flutter, Unity และ C++
เทมเพลตเฉพาะเซิร์ฟเวอร์จะแสดงต่อการติดตั้งใช้งาน Remote Config (รวมถึง Cloud Run และ Cloud Functions) ที่ใช้สภาพแวดล้อมเซิร์ฟเวอร์ต่อไปนี้
- Firebase Admin Node.js SDK v12.1.0 ขึ้นไป
- Firebase Admin Python SDK v6.7.0 ขึ้นไป
- Firebase Admin Go SDK v4.17.0 ขึ้นไป
- Firebase Admin Java SDK v9.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 Console ให้ไปที่ DevOps และความผูกพัน > การกำหนดค่าระยะไกล > หน้าพารามิเตอร์ เพื่อดูเปอร์เซ็นต์การดึงข้อมูลสําหรับค่าแบบมีเงื่อนไขของพารามิเตอร์แต่ละรายการ เมตริกนี้แสดงเปอร์เซ็นต์ของคำขอในช่วง 24 ชั่วโมงที่ผ่านมาซึ่งได้รับค่าแต่ละค่า
ข้อจำกัดของ IPv6 ที่มีการควบคุมการเข้าถึงตาม IP
Remote Config มีการรองรับ IPv6 แบบจำกัดเมื่อใช้กับนโยบายการเข้าถึงตาม IP หากองค์กรจำกัดการเข้าถึงช่วง IP สาธารณะที่เฉพาะเจาะจง การเชื่อมต่อผ่านเครือข่าย IPv6 อาจทำให้เกิดปัญหาต่อไปนี้
- การเข้าถึงคอนโซล: คุณอาจใช้Remote Configฟีเจอร์บางอย่างในคอนโซลFirebaseไม่ได้ เช่น การโหลดข้อมูลหรือการตั้งค่าการกำหนดเป้าหมาย
- การเข้าถึงของไคลเอ็นต์: แอปไคลเอ็นต์อาจพบข้อผิดพลาด PERMISSION_DENIED
เราขอแนะนำให้กำหนดค่าเครือข่ายให้ใช้ IPv4 หรือเพิ่มช่วง IP ของ Firebase ที่จำเป็นลงในรายการที่อนุญาตขององค์กรเพื่อป้องกันปัญหาเหล่านี้
ลำดับความสำคัญของค่าพารามิเตอร์
เมื่อใช้ Remote Config ในแอปเซิร์ฟเวอร์โดยใช้ Firebase Admin SDK คุณจะ ดึงข้อมูลและโหลดเทมเพลตทั้งหมดเพื่อแยก ค่าพารามิเตอร์ที่เหมาะสมตามต้องการสำหรับคำขอของไคลเอ็นต์แต่ละรายการ พารามิเตอร์อาจมีค่าแบบมีเงื่อนไขหลายค่าที่เชื่อมโยงอยู่
กฎต่อไปนี้จะกำหนดค่าที่จะกำหนดในระหว่างการประเมินเทมเพลต ณ จุดเวลาหนึ่งๆ
ก่อนอื่น ระบบจะใช้ค่าแบบมีเงื่อนไขกับเงื่อนไขใดๆ ที่ประเมินเป็น
trueสำหรับคำขอของไคลเอ็นต์ที่ระบุ หากเงื่อนไขหลายรายการประเมินค่าเป็นtrueเงื่อนไขแรก (ด้านบน) ที่แสดงใน UI ของคอนโซล Firebase จะมีความสำคัญเหนือกว่า และระบบจะระบุค่าแบบมีเงื่อนไขที่เชื่อมโยงกับเงื่อนไขนั้นเมื่อประเมินเทมเพลต คุณเปลี่ยนลำดับความสำคัญของเงื่อนไขได้โดยการลากและวางเงื่อนไขในหน้าเงื่อนไขหากไม่มีค่าแบบมีเงื่อนไขที่มีเงื่อนไขที่ประเมินเป็น
true, Remote Config ระบบจะระบุค่าเริ่มต้นของ Remote Config ในระหว่างการประเมินเทมเพลต หากไม่มีพารามิเตอร์ในเทมเพลต หรือหากตั้งค่าเริ่มต้นเป็นใช้ค่าเริ่มต้นในแอป ระบบจะไม่ระบุค่าสำหรับพารามิเตอร์นั้น เมื่อประเมินเทมเพลต
ดูข้อมูลเพิ่มเติมเกี่ยวกับการโหลดและประเมินRemote Config เทมเพลตในแอปเซิร์ฟเวอร์ได้ที่ใช้ Remote Config ในสภาพแวดล้อมของเซิร์ฟเวอร์
ประเภทข้อมูลค่าพารามิเตอร์
Remote Config ช่วยให้คุณเลือกประเภทข้อมูลสำหรับแต่ละพารามิเตอร์ และ
ตรวจสอบค่า Remote Config ทั้งหมดกับประเภทนั้นก่อนที่จะอัปเดตเทมเพลต
ระบบจะจัดเก็บและแสดงผลประเภทข้อมูลในคำขอ getRemoteConfig
ประเภทข้อมูลที่รองรับมีดังนี้
StringBooleanNumberJSON
ในFirebase UI ของคอนโซล คุณเลือกประเภทข้อมูลได้จากเมนูแบบเลื่อนลงข้างคีย์พารามิเตอร์ ใน 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 สำหรับแอปพลิเคชันเซิร์ฟเวอร์รองรับเงื่อนไขประเภทต่อไปนี้
ผู้ใช้ในเปอร์เซ็นต์แบบสุ่ม
ใช้ช่องนี้เพื่อใช้การเปลี่ยนแปลงกับตัวอย่างแบบสุ่มของอินสแตนซ์แอป (โดยมีขนาดตัวอย่างเล็กเพียง 0.0001%) โดยใช้แถบเลื่อนเพื่อแบ่งกลุ่มผู้ใช้ (อินสแตนซ์แอป) ที่สับเปลี่ยนแบบสุ่มออกเป็นกลุ่มๆ
ระบบจะแมปอินสแตนซ์ของแอปแต่ละรายการอย่างต่อเนื่องกับจำนวนเต็มหรือเศษส่วนแบบสุ่มตามค่าเริ่มต้นที่กำหนดไว้ในโปรเจ็กต์นั้น
กฎจะใช้คีย์เริ่มต้น (แสดงเป็นแก้ไข Seed ในคอนโซล Firebase) เว้นแต่คุณจะ แก้ไขค่า Seed คุณสามารถเปลี่ยนกฎกลับไปใช้คีย์เริ่มต้นได้โดยล้างช่องSeed
หากต้องการจัดการอินสแตนซ์แอปเดียวกันอย่างสม่ำเสมอภายในช่วงเปอร์เซ็นต์ที่กำหนด ให้ใช้ค่า Seed เดียวกันในเงื่อนไขต่างๆ หรือเลือกกลุ่มอินสแตนซ์แอปที่กำหนดใหม่แบบสุ่มสำหรับช่วงเปอร์เซ็นต์ที่กำหนดโดยการระบุ Seed ใหม่
ตัวอย่างเช่น หากต้องการสร้างเงื่อนไขที่เกี่ยวข้อง 2 รายการซึ่งแต่ละรายการใช้กับผู้ใช้แอป 5% ที่ไม่ทับซ้อนกัน คุณสามารถกำหนดค่าเงื่อนไขหนึ่งให้ตรงกับเปอร์เซ็นต์ระหว่าง 0% ถึง 5% และกำหนดค่า อีกเงื่อนไขหนึ่งให้ตรงกับช่วงระหว่าง 5% ถึง 10% หากต้องการอนุญาตให้ผู้ใช้บางรายปรากฏแบบสุ่มในทั้ง 2 กลุ่ม ให้ใช้ค่าเริ่มต้นที่แตกต่างกันสำหรับกฎภายในแต่ละเงื่อนไข
ดูวิธีเพิ่มเงื่อนไขเปอร์เซ็นต์แบบสุ่มลงในแอปพลิเคชันได้ที่กำหนดค่าแอปพลิเคชันฝั่งเซิร์ฟเวอร์
เงื่อนไขสัญญาณที่กำหนดเอง
คุณสามารถใช้ค่าแบบมีเงื่อนไขของสัญญาณที่กำหนดเองเพื่อจับคู่เงื่อนไขที่กำหนดเอง ซึ่งคุณกำหนดไว้ในแอปพลิเคชัน ซึ่งช่วยให้คุณปรับแต่งการตอบกลับของเซิร์ฟเวอร์ สำหรับคำขอของไคลเอ็นต์แต่ละรายการได้ เงื่อนไขสัญญาณที่กำหนดเองรองรับในสภาพแวดล้อมของเซิร์ฟเวอร์เวอร์ชันต่อไปนี้
- Firebase Admin Node.js SDK v12.1.0 ขึ้นไป
- Firebase Admin Python SDK v6.7.0 ขึ้นไป
- Firebase Admin Go SDK v4.17.0 ขึ้นไป
- Firebase Admin Java SDK v9.7.0 ขึ้นไป
ตัวอย่างเช่น หากคุณกำลังทำงานในแอปเซิร์ฟเวอร์ที่ใช้ Generative AI เพื่อช่วยสร้างคำตอบด้วยโมเดลต่างๆ ที่ปรับแต่งสำหรับแพลตฟอร์มที่เฉพาะเจาะจง คุณสามารถทำสิ่งต่อไปนี้ได้
- เพิ่มพารามิเตอร์
promptและmodel_nameลงในRemote Config เทมเพลตเซิร์ฟเวอร์ - เพิ่มเงื่อนไขสัญญาณที่กำหนดเองที่มีค่าเป็น
platformสำหรับแต่ละแพลตฟอร์มที่คุณต้องการกำหนดเป้าหมาย - เพิ่มค่าเริ่มต้นลงในRemote Configเทมเพลตเฉพาะเซิร์ฟเวอร์และ ค่าแบบมีเงื่อนไขสำหรับเงื่อนไขแพลตฟอร์มแต่ละรายการที่คุณกำหนด
- อัปเดตโค้ดของแอปพลิเคชันเพื่อตั้งค่าและใช้
platformสัญญาณที่กำหนดเอง
ตอนนี้แอปของคุณสามารถดึงพรอมต์และโมเดลที่เหมาะสมในระหว่างการประเมินเทมเพลต และใช้เพื่อแสดงคำตอบที่ปรับแต่งแล้วแก่ไคลเอ็นต์แต่ละราย
คุณใช้ประเภทกฎต่อไปนี้เพื่อสร้างเงื่อนไขของสัญญาณที่กำหนดเองในFirebaseคอนโซลได้
| หมวดหมู่ผู้ให้บริการ | ผู้ประกอบการ | ค่า | หมายเหตุ |
|---|---|---|---|
| ข้อความ | ตรงกันทุกประการ มี ไม่มี มีนิพจน์ทั่วไป |
การเปรียบเทียบสตริงสำหรับกฎนี้จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เมื่อใช้โอเปอเรเตอร์ตรงทุกประการกับ มี ไม่มี หรือมีนิพจน์ทั่วไป คุณจะเลือกค่าได้หลายค่า เมื่อใช้โอเปอเรเตอร์มีนิพจน์ทั่วไป คุณจะสร้างนิพจน์ทั่วไปในรูปแบบ RE2 ได้ นิพจน์ทั่วไปจับคู่สตริงเวอร์ชันเป้าหมายทั้งหมดหรือบางส่วนได้ คุณยังใช้เครื่องหมายยึด ^ และ $ เพื่อ จับคู่จุดเริ่มต้น จุดสิ้นสุด หรือทั้งสตริงเป้าหมายได้ด้วย |
|
| Numbers | <, <=, =, !=, >, >= | ตัวเลขที่มีไม่เกิน 10 หลักในแต่ละด้านของจุดทศนิยม | |
| เวอร์ชัน | <, <=, =, !=, >, >= | ตัวเลขที่แสดงหมายเลขเวอร์ชันที่จะจับคู่ (เช่น 2.1.0) |
ดูวิธีเพิ่มสัญญาณที่กำหนดเองลงในแอปพลิเคชันได้ที่กำหนดค่าแอปพลิเคชันเซิร์ฟเวอร์
พารามิเตอร์และเงื่อนไขการค้นหา
คุณค้นหาคีย์พารามิเตอร์ ค่าพารามิเตอร์ และเงื่อนไขของโปรเจ็กต์ได้ จากFirebase Console โดยใช้ ช่องค้นหาที่ด้านบนของหน้า DevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > พารามิเตอร์
ขีดจำกัดของพารามิเตอร์และเงื่อนไข
ภายในโปรเจ็กต์ Firebase คุณมีพารามิเตอร์ได้สูงสุด 3, 000 รายการ และเงื่อนไขได้สูงสุด 2, 000 รายการ คีย์พารามิเตอร์ยาวได้สูงสุด 256 อักขระ ต้องขึ้นต้นด้วยขีดล่างหรือตัวอักษรภาษาอังกฤษ (A-Z, a-z) และอาจมีตัวเลขได้ ความยาวทั้งหมดของสตริงค่าพารามิเตอร์ภายในโปรเจ็กต์ต้องไม่เกิน 1,000,000 อักขระ
ดูการเปลี่ยนแปลงพารามิเตอร์และเงื่อนไข
คุณดูการเปลี่ยนแปลงล่าสุดในRemote Configเทมเพลตได้จากFirebase คอนโซล สำหรับ พารามิเตอร์และเงื่อนไขแต่ละรายการ คุณจะทำสิ่งต่อไปนี้ได้
ดูชื่อของผู้ใช้ที่แก้ไขพารามิเตอร์หรือเงื่อนไขล่าสุด
หากการเปลี่ยนแปลงเกิดขึ้นภายในวันเดียวกัน ให้ดูจํานวนนาทีหรือ ชั่วโมงที่ผ่านไปนับตั้งแต่เผยแพร่การเปลี่ยนแปลงไปยังเทมเพลตที่ใช้งานอยู่ Remote Config
หากการเปลี่ยนแปลงเกิดขึ้นเมื่อ 1 วันขึ้นไปที่ผ่านมา ให้ดูวันที่ที่เผยแพร่การเปลี่ยนแปลงไปยังเทมเพลต Remote Config ที่ใช้งานอยู่
ประวัติการเปลี่ยนแปลงพารามิเตอร์
ในคอนโซล Firebase ให้ไปที่หน้า DevOps และความผูกพัน > การกำหนดค่าระยะไกล > พารามิเตอร์ คอลัมน์เผยแพร่ล่าสุดจะแสดงผู้ใช้ล่าสุดที่แก้ไขพารามิเตอร์แต่ละรายการ และวันที่เผยแพร่ล่าสุดของการเปลี่ยนแปลง
หากต้องการดูข้อมูลเมตาการเปลี่ยนแปลงของพารามิเตอร์ที่จัดกลุ่ม ให้ขยายกลุ่มพารามิเตอร์
หากต้องการจัดเรียงตามวันที่เผยแพร่จากน้อยไปมากหรือจากมากไปน้อย ให้คลิกป้ายกำกับคอลัมน์เผยแพร่ล่าสุด
ประวัติการเปลี่ยนแปลงของเงื่อนไข
ในคอนโซล Firebase ให้ไปที่หน้า DevOps และการมีส่วนร่วม > Remote Config > หน้าเงื่อนไข คุณจะเห็นผู้ใช้คนสุดท้ายที่แก้ไขเงื่อนไขและวันที่แก้ไข ข้างแก้ไขล่าสุดใต้แต่ละเงื่อนไข