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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

จากที่ได้กล่าวถึงข้อดีและข้อเสียของการโหลด คุณอาจเข้าใจแล้วว่ามีรูปแบบการใช้งาน 2-3 แบบที่ควรหลีกเลี่ยง

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

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

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

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