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: โหลดค่าใหม่สำหรับการเริ่มต้นครั้งถัดไป
กลยุทธ์ที่มีประสิทธิภาพคือการโหลดค่าการกำหนดค่าใหม่เพื่อเปิดใช้งานเมื่อแอปเริ่มต้นทำงานครั้ง ถัดไป ในกลยุทธ์นี้ แอปจะเปิดใช้งานค่าที่ดึงข้อมูลมาเมื่อเริ่มต้นทำงานก่อนที่จะพยายามดึงข้อมูลค่าใหม่ โดยถือว่าแอปอาจดึงข้อมูลค่าการกำหนดค่าใหม่มาแล้วแต่ยังไม่ได้เปิดใช้งาน ลำดับการดำเนินการสำหรับกลยุทธ์นี้มีดังนี้
- เมื่อเริ่มต้นทำงาน ให้เปิดใช้งานค่าที่ดึงข้อมูลมาก่อนหน้านี้ทันที ซึ่งจะใช้ค่าที่คุณดาวน์โหลดจากเซิร์ฟเวอร์ในเซสชันก่อนหน้า และดำเนินการเกือบจะทันที
- ขณะที่ผู้ใช้โต้ตอบกับแอป ให้เริ่มการเรียกแบบไม่พร้อมกันเพื่อดึงข้อมูลค่าใหม่ตามช่วงเวลาการดึงข้อมูลขั้นต่ำเริ่มต้นและเพิ่ม Listener ข้อมูลอัปเดตการกำหนดค่าแบบเรียลไทม์ Listener แบบเรียลไทม์จะดึงข้อมูลค่าที่เผยแพร่ในเซิร์ฟเวอร์โดยอัตโนมัติขณะที่แอปกำลังทำงาน ข้อมูลอัปเดตแบบเรียลไทม์จะข้ามการตั้งค่าช่วงเวลาการดึงข้อมูลขั้นต่ำ
- ในตัวจัดการการดำเนินการให้เสร็จสมบูรณ์หรือ Callback สำหรับการเรียกดึงข้อมูล ให้ไม่ต้องดำเนินการใดๆ แอปจะเก็บค่าที่ดาวน์โหลดไว้จนกว่าคุณจะเปิดใช้งานในครั้งถัดไปที่แอปเริ่มต้นทำงาน
กลยุทธ์นี้ช่วยลดเวลาที่ผู้ใช้ต้องรอลงอย่างมาก การรวมกลยุทธ์การดึงข้อมูล
และ Listener แบบเรียลไทม์เข้ากับการเรียก activate() ตามความจำเป็นในวงจรการทำงานของแอปจะช่วยให้ผู้ใช้
ได้รับค่าล่าสุดจาก Remote Config ขณะที่โต้ตอบกับแอป
กลยุทธ์การโหลดที่ควรหลีกเลี่ยง
จากที่ได้กล่าวถึงข้อดีและข้อเสียของการโหลด คุณอาจเข้าใจแล้วว่ามีรูปแบบการใช้งาน 2-3 แบบที่ควรหลีกเลี่ยง
- อย่า อัปเดตหรือเปลี่ยนลักษณะของ UI ขณะที่ผู้ใช้กำลังดูหรือ โต้ตอบกับ UI — เว้นแต่ คุณจะมีเหตุผลที่สมควรในการทำเช่นนั้น เช่น การนำตัวเลือกที่เกี่ยวข้องกับโปรโมชันที่เพิ่ง สิ้นสุดออก
- อย่า ส่งคำขอการดึงข้อมูลจำนวนมากพร้อมกัน ซึ่งอาจทำให้เซิร์ฟเวอร์จำกัดอัตราการส่งคำขอของแอป หากต้องการดึงข้อมูลอัปเดตบ่อยๆ ให้ใช้ Remote Config แบบเรียลไทม์Remote Config แม้ว่า ความเสี่ยงในการจำกัดอัตราการส่งคำขอจะต่ำในสถานการณ์การใช้งานจริงส่วนใหญ่ แต่ก็อาจเป็นปัญหา ในระหว่างการพัฒนาที่ใช้งานอยู่ และ Remote Config แบบเรียลไทม์ได้รับการออกแบบ มาเพื่อกรณีการใช้งานนี้ ดูคำแนะนำเกี่ยวกับการจำกัดอัตราการส่งคำขอ
- อย่า อาศัยการเชื่อมต่อเครือข่ายเพื่อรับค่า Remote Config ให้ ตั้งค่าพารามิเตอร์เริ่มต้นในแอปเพื่อให้แอปทำงานตามที่คาดไว้เสมอ คุณสามารถ ซิงค์ค่าเริ่มต้นของแอปและค่าเริ่มต้นของแบ็กเอนด์ Remote Config เป็นระยะๆ ได้ โดยใช้ค่าเริ่มต้นของเทมเพลตที่ดาวน์โหลด
ขั้นตอนถัดไป
กลยุทธ์พื้นฐาน 3 ข้อนี้ไม่ได้หมายความว่าเป็นรายการวิธีทั้งหมดในการโหลดค่าการกำหนดค่า คุณสามารถคิดกลยุทธ์ที่ซับซ้อนกว่านี้ได้มากตามความต้องการ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเรียกเฉพาะสำหรับการดึงข้อมูลและการเปิดใช้งานค่าการกำหนดค่าได้ในเอกสารอ้างอิง API สำหรับแพลตฟอร์มของคุณ