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