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

Firebase Remote Config ช่วยให้คุณควบคุมลักษณะการทำงานและรูปลักษณ์ของแอปพลิเคชันแบบไดนามิกได้โดยไม่ต้องให้ผู้ใช้ดาวน์โหลดอัปเดตแอปหรือต้องติดตั้งใช้งานแบ็กเอนด์อีกครั้ง

หากต้องการกำหนดค่าแอปพลิเคชัน คุณต้องกำหนดพารามิเตอร์ (คู่คีย์-ค่า) ใน Remote Config และใช้พารามิเตอร์เหล่านั้นในโค้ดของแอปหรือแบ็กเอนด์ นอกจากนี้ คุณยังกำหนดเงื่อนไข (กฎการกำหนดเป้าหมาย) เพื่อกำหนดค่าแบบมีเงื่อนไขที่ลบล้างค่าเริ่มต้นสำหรับกลุ่มเป้าหมาย สภาพแวดล้อม หรือเกณฑ์ที่กำหนดเองที่เฉพาะเจาะจงได้ด้วย

Remote Config จัดระเบียบพารามิเตอร์และเงื่อนไขเป็นเทมเพลต คุณสามารถใช้เทมเพลตฝั่งไคลเอ็นต์ เทมเพลตฝั่งเซิร์ฟเวอร์ หรือทั้ง 2 อย่างก็ได้ ทั้งนี้ขึ้นอยู่กับสถาปัตยกรรมของคุณ

  • พารามิเตอร์และเงื่อนไขในเทมเพลตไคลเอ็นต์: แสดงการกำหนดค่าไปยังอินสแตนซ์แอปไคลเอ็นต์ในแพลตฟอร์ม Apple, Android, เว็บ, Flutter, Unity และ C++ กำหนดเป้าหมายอินสแตนซ์แอปโดยใช้กลุ่มเป้าหมาย Google Analytics, เวอร์ชันแอป, แพลตฟอร์ม, ภาษาของอุปกรณ์, ประเทศ, เปอร์เซ็นไทล์ของผู้ใช้ และสัญญาณที่กำหนดเองฝั่งไคลเอ็นต์

  • พารามิเตอร์และเงื่อนไขในเทมเพลตเซิร์ฟเวอร์: แสดงการกำหนดค่าไปยังสภาพแวดล้อมแบ็กเอนด์ เช่น Cloud Run, Cloud Functions for Firebase หรือเซิร์ฟเวอร์ที่ใช้คอนเทนเนอร์ โดยใช้ Firebase Admin SDK สำหรับ Node.js, Python, Go และ Java ประเมินพารามิเตอร์ฝั่งเซิร์ฟเวอร์โดยมีเวลาในการตอบสนองเกือบเป็นศูนย์โดยใช้สัญญาณที่กำหนดเองของเซิร์ฟเวอร์และการเปิดตัวแบบสุ่มตามเปอร์เซ็นต์

เปรียบเทียบเทมเพลตฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์

เทมเพลตฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์มีสถาปัตยกรรมที่แตกต่างกัน รวมถึงรองรับ SDK และกฎการกำหนดเป้าหมายที่ต่างกัน ใช้ตารางต่อไปนี้เพื่อทำความเข้าใจว่าเทมเพลตประเภทใดเหมาะกับกรณีการใช้งานของคุณ

ฟีเจอร์ เทมเพลตไคลเอ็นต์ เทมเพลตเซิร์ฟเวอร์
สภาพแวดล้อมเป้าหมาย แอปไคลเอ็นต์ (Apple, Android, เว็บ, Flutter, Unity, C++) สภาพแวดล้อมของเซิร์ฟเวอร์ (Cloud Run, Cloud Functions for Firebase, GKE, บริการแบ็กเอนด์)
SDK ที่รองรับ Firebase Client SDK Firebase Admin SDK (Node.js, Python, Go, Java)
รูปแบบการประเมิน ดึงข้อมูลและแคชในอุปกรณ์ไคลเอ็นต์ เปิดใช้งานโดยโค้ดแอป โหลดลงในหน่วยความจำของเซิร์ฟเวอร์ ประเมินตามคำขอโดยมีเวลาในการตอบสนองเกือบเป็นศูนย์
กฎเงื่อนไข เวอร์ชันแอป, ระบบปฏิบัติการ/แพลตฟอร์ม, ภาษาของอุปกรณ์, ประเทศ/ภูมิภาค, Analytics กลุ่มเป้าหมายและพร็อพเพอร์ตี้ผู้ใช้, ผู้ใช้ในเปอร์เซ็นไทล์แบบสุ่ม, การเปิดแอปครั้งแรก, สัญญาณที่กำหนดเองของไคลเอ็นต์ ผู้ใช้ในเปอร์เซ็นต์แบบสุ่ม สัญญาณที่กำหนดเองของเซิร์ฟเวอร์
Use Case ทั่วไป การเปิดตัวฟีเจอร์ โปรโมชันตามฤดูกาล ธีม UI A/B Testing การปรับเปลี่ยนในแบบของคุณ พรอมต์ AI และการเลือกโมเดล, แฟล็กฟีเจอร์ฝั่งเซิร์ฟเวอร์, การจำกัดอัตราคำขอแบ็กเอนด์, การกำหนดเส้นทางแบบไดนามิก
คำแนะนำโดยละเอียด พารามิเตอร์ในเทมเพลตไคลเอ็นต์ พารามิเตอร์ในเทมเพลตเซิร์ฟเวอร์

แนวคิดหลัก

ไม่ว่าคุณจะทำงานกับเทมเพลตฝั่งไคลเอ็นต์หรือเทมเพลตฝั่งเซิร์ฟเวอร์ Remote Config ก็มีแนวคิดพื้นฐานร่วมกันดังนี้

พารามิเตอร์

พารามิเตอร์คือคู่คีย์-ค่าที่คุณกำหนดในคอนโซล Firebase หรือใช้ API แบ็กเอนด์ของ Remote Config

  • คีย์พารามิเตอร์: ตัวระบุสตริงสำหรับพารามิเตอร์ คีย์มีความยาวได้สูงสุด 256 อักขระ โดยต้องขึ้นต้นด้วยขีดล่างหรือตัวอักษรภาษาอังกฤษ (A-Z, a-z) และมีตัวเลขได้
  • ค่าพารามิเตอร์: ค่าที่กำหนดให้กับพารามิเตอร์ ระบบจะจัดเก็บค่าเป็นสตริง แต่คุณสามารถเลือกประเภทข้อมูลในคอนโซลเพื่อตรวจสอบค่าเทียบกับรูปแบบต่างๆ เช่น String, Boolean, Number หรือ JSON ได้
  • ค่าเริ่มต้น: ค่าพื้นฐานที่กำหนดเมื่อไม่มีการใช้กฎเงื่อนไข คุณสามารถกำหนดค่าเริ่มต้นในแอปในโค้ด รวมถึงค่าเริ่มต้นของเทมเพลตในแบ็กเอนด์ของ Remote Config ได้

เงื่อนไข กฎ และค่าแบบมีเงื่อนไข

เงื่อนไขช่วยให้คุณกำหนดเป้าหมายกลุ่มผู้ใช้แอปหรือคำขอเซิร์ฟเวอร์ที่เฉพาะเจาะจงด้วยค่าพารามิเตอร์ที่กำหนดเองได้ ดังนี้

  • กฎ: เกณฑ์แต่ละรายการที่ประเมินเทียบกับข้อมูลเมตาของไคลเอ็นต์หรือบริบทคำขอ (เช่น หมายเลขเวอร์ชัน ประเทศ หรือสัญญาณที่กำหนดเอง)
  • เงื่อนไข: ชุดกฎอย่างน้อย 1 ข้อที่มีชื่อ กฎทั้งหมดภายในเงื่อนไขต้องประเมินเป็น true เพื่อให้เงื่อนไขประเมินเป็น true
  • ค่าแบบมีเงื่อนไข: ค่าทางเลือกที่กำหนดให้กับพารามิเตอร์เมื่อเงื่อนไขประเมินเป็น true หากเงื่อนไขหลายรายการได้รับการประเมินเป็น true เงื่อนไขที่มีลำดับความสำคัญสูงสุดในคอนโซล Firebase จะมีผลเหนือกว่า

กลุ่มพารามิเตอร์

หากต้องการจัดระเบียบการกำหนดค่าที่มีพารามิเตอร์หลายสิบหรือหลายร้อยรายการ คุณสามารถใช้กลุ่มพารามิเตอร์ได้ กลุ่มช่วยให้จัดระเบียบภาพในคอนโซล Firebase และจัดกลุ่มเชิงตรรกะใน REST API ได้

  • พารามิเตอร์จะอยู่ในกลุ่มได้ทีละ 1 กลุ่มเท่านั้น
  • คีย์พารามิเตอร์จะยังคงไม่ซ้ำกันทั่วทั้งโปรเจ็กต์ ไม่ว่าจะจัดกลุ่มหรือไม่ก็ตาม
  • การจัดกลุ่มจะไม่เปลี่ยนแปลงวิธีอ้างอิงค่าพารามิเตอร์ในโค้ด SDK

ดูวิธีการสร้างและจัดการกลุ่มได้ที่คู่มือพารามิเตอร์ไคลเอ็นต์หรือเซิร์ฟเวอร์โดยละเอียด

การกำหนดเวอร์ชันเทมเพลตและการย้อนกลับ

ทุกครั้งที่คุณอัปเดตและเผยแพร่พารามิเตอร์หรือเงื่อนไขใน Remote Config Firebase จะสร้างและจัดเก็บเทมเพลตเวอร์ชันใหม่ คุณสามารถดูประวัติเวอร์ชัน เปรียบเทียบการเปลี่ยนแปลงระหว่างเวอร์ชัน และย้อนกลับไปใช้เวอร์ชันก่อนหน้าได้ทุกเมื่อที่จำเป็น

ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการเวอร์ชันเทมเพลตได้ที่จัดการเวอร์ชันเทมเพลต Remote Config

โควต้าและขีดจำกัด

ภายในโปรเจ็กต์ Firebase Remote Config จะบังคับใช้ขีดจำกัดต่อไปนี้

  • พารามิเตอร์: สูงสุด 3,000 รายการต่อโปรเจ็กต์
  • เงื่อนไข: สูงสุด 2,000 เงื่อนไขต่อโปรเจ็กต์
  • ความยาวคีย์พารามิเตอร์: สูงสุด 256 อักขระ
  • ความยาวสตริงของค่าทั้งหมด: สูงสุด 1,000,000 อักขระในค่าพารามิเตอร์ทั้งหมดภายในโปรเจ็กต์

ดูขีดจำกัดทั้งหมดได้ที่โควต้าและขีดจำกัด

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