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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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