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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

เพิ่มและนำผู้ฟังออก

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

การเรียกจะแสดง "การลงทะเบียน Listener" ซึ่งมีเมธอดชื่อ remove

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

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

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

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