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

C++


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

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

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

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

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

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

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

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

<span class= เรียลไทม์เวิร์กโฟลว์แบบไคลเอ็นต์-เซิร์ฟเวอร์การกำหนดค่าระยะไกล" src="/docs/remote-config/images/real-time-client-server.png" ความกว้าง="85%"/>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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