เทมเพลต 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 แบบเป็นโปรแกรม