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

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

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

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

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

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

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

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

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

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

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

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

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

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

กลยุทธ์การโหลดที่ควรหลีกเลี่ยง

จากส่วนก่อนหน้าของกลยุทธ์การโหลด ให้หลีกเลี่ยงรูปแบบการใช้งานต่อไปนี้

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

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

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

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