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

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 คอนโซลหรือ ใช้ Remote Config Backend API

  • คีย์พารามิเตอร์: ตัวระบุสตริงสำหรับพารามิเตอร์ คีย์มีความยาวได้สูงสุด 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 ตัวในค่าพารามิเตอร์ทั้งหมด ภายในโปรเจ็กต์

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

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