กลยุทธ์การโหลดการกำหนดค่าระยะไกลของ Firebase

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

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

กลยุทธ์ที่ 1: ดึงข้อมูลและเปิดใช้งานเมื่อโหลด

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

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

กลยุทธ์ที่ 2: เปิดใช้งานหลังหน้าจอโหลด

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

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

การรับฟังการอัปเดต Remote Config ตามเวลาจริงโดยการเรียก addOnConfigUpdateListener ทำงานได้ดีกับกลยุทธ์นี้ เพิ่ม Listener เมื่อหน้าจอการโหลดปรากฏขึ้น จากนั้นใช้ activate() ที่จุดหนึ่งจุดหรือมากกว่าในแอปของคุณ โดยที่ค่า Remote Config จะไม่ทำให้เกิดการเปลี่ยนแปลงทางภาพอย่างมาก

กลยุทธ์ที่ 3: โหลดค่าใหม่สำหรับการเริ่มต้นครั้งต่อไป

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

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

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

กำลังโหลดกลยุทธ์ต่อต้าน

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

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

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

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

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