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


คุณกำหนดค่าเทมเพลตสำหรับทั้งกรณีการใช้งานฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ได้ ระบบจะแสดงเทมเพลต ไคลเอ็นต์ต่ออินสแตนซ์ของแอปที่ใช้ 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 คุณจะ ดึงข้อมูลและโหลดเทมเพลตทั้งหมดเพื่อแยกค่าพารามิเตอร์ที่เหมาะสม ตามต้องการสำหรับคำขอของไคลเอ็นต์แต่ละรายการ พารามิเตอร์อาจมีค่าแบบมีเงื่อนไขหลายค่าที่เชื่อมโยงอยู่

กฎต่อไปนี้จะกำหนดค่าที่จะกำหนดในระหว่างการประเมินเทมเพลต ณ จุดเวลาหนึ่งๆ

  1. ก่อนอื่น ระบบจะใช้ค่าแบบมีเงื่อนไขสำหรับเงื่อนไขใดๆ ที่ประเมินเป็น true สำหรับคำขอของไคลเอ็นต์ที่ระบุ หากเงื่อนไขหลายรายการประเมินค่าเป็น true เงื่อนไขแรก (ด้านบน) ที่แสดงใน UI ของคอนโซล Firebase จะมีความสำคัญเหนือกว่า และระบบจะระบุค่าแบบมีเงื่อนไขที่เชื่อมโยงกับเงื่อนไขนั้นเมื่อประเมินเทมเพลต คุณสามารถ เปลี่ยนลำดับความสำคัญของเงื่อนไขได้โดยการลากและวางเงื่อนไขใน แท็บเงื่อนไข

  2. หากไม่มีค่าแบบมีเงื่อนไขที่มีเงื่อนไขที่ประเมินเป็น 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 วิธีสร้างหรือแก้ไขกลุ่ม

  1. เลือกจัดการกลุ่ม
  2. เลือกช่องทําเครื่องหมายสําหรับพารามิเตอร์ที่ต้องการเพิ่ม แล้วเลือกย้ายไปยังกลุ่ม
  3. เลือกกลุ่มที่มีอยู่ หรือสร้างกลุ่มใหม่โดยป้อนชื่อและ คำอธิบาย แล้วเลือกสร้างกลุ่มใหม่ หลังจากบันทึกกลุ่มแล้ว คุณจะเผยแพร่กลุ่มได้โดยใช้ปุ่มเผยแพร่การเปลี่ยนแปลง

ประเภทกฎเงื่อนไข

เทมเพลต 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 เพื่อ ช่วยสร้างคำตอบด้วยโมเดลต่างๆ ที่ปรับแต่งสำหรับแพลตฟอร์มที่เฉพาะเจาะจง คุณ สามารถทำสิ่งต่อไปนี้ได้

  1. เพิ่มพารามิเตอร์ prompt และ model_name ลงในRemote Config เทมเพลตเซิร์ฟเวอร์
  2. เพิ่มเงื่อนไขสัญญาณที่กำหนดเองที่มีค่าเป็น platform สำหรับแต่ละแพลตฟอร์มที่คุณต้องการกำหนดเป้าหมาย
  3. เพิ่มค่าเริ่มต้นลงในRemote Configเทมเพลตเฉพาะเซิร์ฟเวอร์และ ค่าแบบมีเงื่อนไขสำหรับเงื่อนไขแพลตฟอร์มแต่ละรายการที่คุณกำหนด
  4. อัปเดตโค้ดแอปพลิเคชันเพื่อตั้งค่าและใช้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 เงื่อนไข คุณจะเห็นผู้ใช้รายล่าสุดที่แก้ไขเงื่อนไขและวันที่ ที่แก้ไขข้างแก้ไขล่าสุดใต้เงื่อนไขแต่ละรายการ

ขั้นตอนถัดไป

หากต้องการกำหนดค่าโปรเจ็กต์ Firebase และแอปเซิร์ฟเวอร์ให้ใช้ Remote Config โปรดดูใช้ Remote Config ในสภาพแวดล้อมของเซิร์ฟเวอร์