เทมเพลตและการควบคุมเวอร์ชันของการกำหนดค่าระยะไกล

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

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

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

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

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

เทมเพลตไคลเอ็นต์และเซิร์ฟเวอร์จะได้รับการดูแลแยกกันภายในโปรเจ็กต์ Firebase ใช้ตารางต่อไปนี้เพื่อทําความเข้าใจความแตกต่างระหว่างเทมเพลตฝั่งไคลเอ็นต์และเทมเพลตฝั่งเซิร์ฟเวอร์

ฟีเจอร์ เทมเพลตไคลเอ็นต์ เทมเพลตเซิร์ฟเวอร์
สภาพแวดล้อมเป้าหมาย แอปไคลเอ็นต์ (Apple, Android, เว็บ, Flutter, Unity, C++) สภาพแวดล้อมของเซิร์ฟเวอร์ (Cloud Run, Cloud Functions for Firebase, GKE, บริการแบ็กเอนด์)
SDK ที่รองรับ Firebase Client SDK Firebase Admin SDK (Node.js, Python, Go, Java)
เครื่องมือการจัดการ Firebase คอนโซล, Firebase CLI, REST API, Firebase Admin SDK คอนโซล Firebase
ตำแหน่งของคอนโซล พารามิเตอร์ และ เงื่อนไข พารามิเตอร์ และ เงื่อนไข
ดาวน์โหลดค่าเริ่มต้นของเทมเพลต รองรับ (XML สำหรับ Android, PLIST สำหรับ iOS, JSON สำหรับเว็บ) ไม่เกี่ยวข้อง (ค่าเริ่มต้นที่กำหนดไว้ในโค้ดฝั่งเซิร์ฟเวอร์หรือแบ็กเอนด์)
คำแนะนำโดยละเอียด จัดการเทมเพลตลูกค้า จัดการเทมเพลตเซิร์ฟเวอร์

วงจรการใช้งานและการกำหนดเวอร์ชันของเทมเพลต

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

การสร้างและติดตามเวอร์ชัน

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

เทมเพลตทั้งหมดมีฟิลด์ version ที่มีข้อมูลเมตาเกี่ยวกับ เวอร์ชันนั้นๆ เช่น

  • versionNumber: หมายเลขเวอร์ชันตามลำดับของเทมเพลต
  • updateTime: การประทับเวลาเมื่อเผยแพร่เทมเพลต
  • updateUser: อีเมลหรือตัวตนของผู้ใช้ที่ทำการอัปเดต
  • updateOrigin: วิธีการเปลี่ยนแปลง (เช่น CONSOLE, REST_API หรือ ADMIN_SDK_NODE)
  • updateType: ลักษณะของการเปลี่ยนแปลง (เช่น INCREMENTAL_UPDATE หรือ FORCED_UPDATE)

ขีดจำกัดของเวอร์ชันและการเก็บรักษา

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

ย้อนกลับ

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

นำเข้าและส่งออก

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

  • จัดเก็บคำจำกัดความของเทมเพลตในการควบคุมแหล่งข้อมูล (เช่น Git)
  • ผสานรวมการติดตั้งใช้งานการกำหนดค่าเข้ากับไปป์ไลน์ CI/CD
  • เลื่อนขั้นการกำหนดค่าในทุกขั้นตอน (เช่น จากโปรเจ็กต์การพัฒนาหรือโปรเจ็กต์การจัดเตรียมไปยังเวอร์ชันที่ใช้งานจริง)
  • ย้ายข้อมูลการกำหนดค่าระหว่างโปรเจ็กต์

พารามิเตอร์และค่าพารามิเตอร์ที่สร้างขึ้นเพื่อเป็นตัวแปรในการA/B Testingทดสอบโดยเฉพาะจะไม่รวมอยู่ในเทมเพลตที่ส่งออก

ค่าเริ่มต้นของเทมเพลต

สำหรับแอปพลิเคชันไคลเอ็นต์ คุณสามารถดาวน์โหลดไฟล์ที่มีค่าเริ่มต้นของพารามิเตอร์ ในรูปแบบ XML, PLIST หรือ JSON เพื่อรวมไว้กับแอปได้ ดูวิธีการได้ที่ ดาวน์โหลดค่าเริ่มต้นของเทมเพลต Remote Config

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