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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การเรียกจะแสดงผล "การลงทะเบียนผู้ฟัง" ซึ่งมีเมธอดที่เรียก remove

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

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

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

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