ทำความเข้าใจการกำหนดค่าระยะไกลแบบเรียลไทม์

เลือกแพลตฟอร์ม: iOS+ Android Web Flutter Unity C++

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

  • ลดความเสี่ยงด้วยการเปิดตัวฟีเจอร์ทีละน้อยให้กับผู้ใช้เป้าหมาย และทำการย้อนกลับฉุกเฉินหากจำเป็น
  • เพิ่มการมีส่วนร่วมของผู้ใช้ด้วยการปรับแต่งประสบการณ์ของผู้ใช้ให้เหมาะสมอย่างรวดเร็วขณะที่ผู้ใช้ใช้ แอป เช่น คุณอาจอัปเดตแบนเนอร์และเสนอสิ่งจูงใจสำหรับ ผู้ใช้ที่มีคุณสมบัติของผู้ใช้ Google Analytics ตรงตามที่กำหนด หรือ ปรับความยากของเกมแบบไดนามิกสำหรับกลุ่มผู้เล่น
  • ลดการพึ่งพาการสร้างและเพิ่มประสิทธิภาพการทำงานของนักพัฒนาแอป: ใช้ Remote Configพารามิเตอร์เป็นแฟล็กฟีเจอร์เพื่อแสดงฟังก์ชันการทำงานสำหรับ ทีมพัฒนาและทดสอบ ขณะเดียวกันก็ซ่อนฟังก์ชันการทำงานดังกล่าวจากผู้ใช้ใน เวอร์ชันที่ใช้งานจริง

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ Remote Config ได้ที่หัวข้อ คุณทำอะไรได้บ้าง ด้วย Remote Config?

ในคู่มือนี้ คุณจะได้เรียนรู้สิ่งต่อไปนี้

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

การเชื่อมต่อระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์แบบเรียลไทม์

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

หากเซิร์ฟเวอร์มีเวอร์ชันใหม่กว่า ระบบจะส่งสัญญาณการทำให้เป็นโมฆะทันที หากไม่มีเวอร์ชันใหม่กว่า ระบบจะเปิดการเชื่อมต่อไว้และรอจนกว่าจะมีการเผยแพร่เวอร์ชันใหม่ในเซิร์ฟเวอร์ เมื่อ SDK ของไคลเอ็นต์ได้รับสัญญาณการทำให้เป็นโมฆะ ระบบจะดึงข้อมูลโดยอัตโนมัติ จากนั้นเรียกใช้ Callback ของ Listener ที่ลงทะเบียนไว้เมื่อคุณเปิดการเชื่อมต่อ Listener การดึงข้อมูลนี้คล้ายกับการเรียกใช้การดึงข้อมูลที่คุณทำได้ด้วย SDK แต่จะข้ามการตั้งค่าการแคชหรือ minimumFetchInterval ระบบจะรักษาการเชื่อมต่อระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์ไว้ขณะที่แอปทำงานอยู่เบื้องหน้า

เวิร์กโฟลว์ไคลเอ็นต์-เซิร์ฟเวอร์ของการกำหนดค่าระยะไกลแบบเรียลไทม์
เวิร์กโฟลว์ระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์ของการกำหนดค่าระยะไกลแบบเรียลไทม์
Remote Config

เนื่องจากการเชื่อมต่อระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์ทำผ่าน HTTP จึงไม่จำเป็นต้องพึ่งพาไลบรารีอื่นๆ

ฟังการอัปเดต

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

หากต้องการฟังการอัปเดต ให้เรียกใช้ AddOnConfigUpdateListener, โดยใช้ Callback ที่เรียกใช้เมื่อมีการอัปเดตRemote Configในแอป เบื้องหลังการเรียกใช้นี้จะเริ่มฟังการอัปเดต จากเซิร์ฟเวอร์Remote Config ดูข้อมูลเพิ่มเติมเกี่ยวกับความสัมพันธ์ระหว่างไคลเอนต์กับเซิร์ฟเวอร์ ได้ในส่วนก่อนหน้า

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

เปิดใช้งานค่าพารามิเตอร์แบบเลือก

เมื่อเรียกใช้ AddOnConfigUpdateListener, คุณสามารถรอการเปลี่ยนแปลงและเปิดใช้งานได้

ระบบจะเรียกใช้ Callback onUpdate เมื่อดึงข้อมูลเทมเพลตเวอร์ชันใหม่โดยอัตโนมัติและเมื่อเวอร์ชันใหม่นั้นมีการเปลี่ยนแปลงค่าพารามิเตอร์ที่ใช้งานอยู่ในแอป

ระบบจะเรียกใช้ Callback เหล่านี้ด้วยพารามิเตอร์ configUpdate configUpdate มี updated_keys ซึ่งเป็นชุดคีย์พารามิเตอร์ที่เปลี่ยนแปลงซึ่งเริ่มการอัปเดตแบบเรียลไทม์ และมีข้อมูลต่อไปนี้

  • คีย์พารามิเตอร์ที่เพิ่มหรือนำออก
  • คีย์พารามิเตอร์ที่มีค่าเปลี่ยนแปลง
  • คีย์พารามิเตอร์ที่มีข้อมูลเมตาเปลี่ยนแปลง (เช่น Remote Config ข้อมูลการปรับเปลี่ยนในแบบของคุณ)
  • คีย์พารามิเตอร์ที่มีแหล่งที่มาของค่าเปลี่ยนแปลง (เช่น ค่าเริ่มต้นในแอปที่อัปเดตเป็นค่าฝั่งเซิร์ฟเวอร์)

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

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

เพิ่มและนำ Listener ออก

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

การเรียกใช้จะแสดงผล "การลงทะเบียน Listener" ซึ่งมีเมธอดที่เรียกว่า Remove หากต้องการหยุดฟัง ให้เก็บข้อมูลอ้างอิงการลงทะเบียน Listener เรียกใช้ remove เพื่อหยุดฟังในการลงทะเบียนนี้ หากเป็น Listener ที่ลงทะเบียนไว้เพียงรายการเดียว การเรียกใช้ remove จะปิดการเชื่อมต่อแบบเรียลไทม์กับเซิร์ฟเวอร์

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

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

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