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


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

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

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่คุณสามารถใช้การกำหนดค่าระยะไกล โปรดดูที่ คุณสามารถทำอะไรกับการกำหนดค่าระยะไกลได้บ้าง

ในคู่มือนี้ คุณจะ:

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

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

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

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

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

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

ฟังการปรับปรุง

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

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

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

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

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

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

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

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

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

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

เพิ่มและลบผู้ฟัง

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

การโทรส่งคืน "การลงทะเบียนผู้ฟัง" ซึ่งมีวิธีการที่เรียกว่าremove

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

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

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

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