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

เลือกแพลตฟอร์ม iOS+ Android เว็บ Flutter Unity C++

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

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

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

คู่มือนี้ครอบคลุมหัวข้อต่อไปนี้

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

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

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

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

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

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

ฟังข้อมูลอัปเดต

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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