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


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 จะดึงข้อมูลโดยอัตโนมัติ จากนั้นจะเรียก Callback ของผู้ฟังที่ลงทะเบียนไว้เมื่อคุณเปิดการเชื่อมต่อ Listener การดึงข้อมูลนี้คล้ายกับการเรียกการดึงข้อมูลที่คุณทำได้ด้วย 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 ข้อมูลการปรับตามโปรไฟล์ของผู้ใช้)
  • คีย์พารามิเตอร์ที่มีแหล่งที่มาของค่าเปลี่ยนแปลง (เช่น การอัปเดตค่าเริ่มต้นในแอปเป็นค่าฝั่งเซิร์ฟเวอร์)

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

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

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

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

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

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

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

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

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