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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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