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

เลือกแพลตฟอร์ม: iOS+ Android เว็บ Flutter Unity C++

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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