Firebase Remote Config มีความยืดหยุ่นสูงในเรื่องวิธีและเวลาที่จะ
ดึงค่าใหม่จากเซิร์ฟเวอร์และเปิดใช้งานในแอป ซึ่งช่วยให้คุณ
มั่นใจได้ว่าผู้ใช้ปลายทางจะได้รับประสบการณ์ที่มีคุณภาพด้วยการควบคุมเวลาของการเปลี่ยนแปลงการกำหนดค่าที่มองเห็นได้ คุณสามารถดึงค่าใหม่เมื่อเปิดแอปพลิเคชันโดยใช้
fetchAndActivate และใช้ real-time
Remote Config เป็นวิธีเสริม
เพื่อดึงค่าพารามิเตอร์ล่าสุดโดยอัตโนมัติหลังจากเผยแพร่Remote Configเวอร์ชันใหม่
คู่มือนี้จะดูที่กลยุทธ์การโหลดบางอย่างและพูดถึงข้อควรพิจารณาที่สำคัญ ในการเลือกตัวเลือกที่ดีที่สุดสำหรับแอป
กลยุทธ์ที่ 1: ดึงข้อมูลและเปิดใช้งานเมื่อโหลด
ในกลยุทธ์นี้ แอปจะเรียกใช้ fetchAndActivate เมื่อแอปเริ่มทำงานเป็นครั้งแรก
เพื่อดึงค่าใหม่จาก Remote Config และเปิดใช้งานค่าเหล่านั้นทันที
ที่โหลดเสร็จ วิธีนี้เหมาะสำหรับการเปลี่ยนแปลงการกำหนดค่า
ที่ไม่ทำให้เกิดการเปลี่ยนแปลงภาพที่เห็นได้ชัดใน UI หลีกเลี่ยงแนวทางนี้ในทุกกรณีที่ UI อาจเปลี่ยนแปลงอย่างเห็นได้ชัดขณะที่ผู้ใช้กำลังใช้งาน
หลังจากที่แอปเรียกใช้ fetchAndActivate แล้ว แอปจะเริ่มฟังการอัปเดตค่าพารามิเตอร์แบบเรียลไทม์ได้โดยการเรียกใช้ addOnConfigUpdateListener วิธีนี้
จะเริ่มรอรับการอัปเดตค่าพารามิเตอร์ฝั่งเซิร์ฟเวอร์ ดึงข้อมูล
โดยอัตโนมัติ แล้วเรียกใช้ Listener กลยุทธ์หนึ่งคือการเปิดใช้งานค่าใหม่ใน Listener อย่างไรก็ตาม ดังที่กล่าวไว้สำหรับ fetchAndActivate
โปรดหลีกเลี่ยงการเปิดใช้งานทันทีสำหรับ UI ที่มีความละเอียดอ่อน
กลยุทธ์ที่ 2: เปิดใช้งานเบื้องหลังหน้าจอการโหลด
คุณสามารถใช้หน้าจอการโหลดเพื่อแก้ไขปัญหา UI ที่อาจเกิดขึ้นในกลยุทธ์ที่ 1 ได้
แทนที่จะเริ่มแอปทันที ให้แสดงหน้าจอโหลด
และเรียกใช้ fetchAndActivate ในตัวแฮนเดิลการดำเนินการเสร็จสมบูรณ์ จากนั้นหลังจากนั้นไม่นาน ให้ปิดหน้าจอการโหลดและอนุญาตให้ผู้ใช้เริ่มโต้ตอบกับแอปของคุณ โดยใช้การเรียกกลับหรือการแจ้งเตือนอีกครั้ง
หากใช้กลยุทธ์นี้ เราขอแนะนำให้เพิ่มการหมดเวลาในหน้าจอการโหลด การหมดเวลา 1 นาทีของการกำหนดค่าระยะไกลอาจนานเกินไปสำหรับประสบการณ์การเริ่มต้นแอปคุณภาพสูงสำหรับผู้ใช้
การฟังRemote Configข้อมูลอัปเดตaddOnConfigUpdateListenerแบบเรียลไทม์โดยการโทรจะใช้ได้ดีกับกลยุทธ์นี้ เพิ่ม Listener เมื่อหน้าจอการโหลดแสดงขึ้น จากนั้นใช้ activate() ในจุดอย่างน้อย 1 จุดในแอปที่ค่า Remote Config จะไม่ทําให้เกิดการเปลี่ยนแปลงภาพอย่างมาก
กลยุทธ์ที่ 3: โหลดค่าใหม่สำหรับสตาร์ทอัพรายถัดไป
กลยุทธ์ที่มีประสิทธิภาพคือการโหลดค่าการกำหนดค่าใหม่เพื่อเปิดใช้งานในครั้งถัดไปที่แอปเริ่มต้น ในกลยุทธ์นี้ แอปจะเปิดใช้งานค่าที่ดึงมาเมื่อเริ่มต้นก่อนที่จะพยายามดึงค่าใหม่ โดยทำงานภายใต้สมมติฐานว่าแอปอาจดึงค่าการกำหนดค่าใหม่มาแล้ว แต่ยังไม่ได้เปิดใช้งาน ลำดับการดำเนินการสำหรับกลยุทธ์นี้มีดังนี้
- เมื่อเริ่มต้น ให้เปิดใช้งานค่าที่ดึงข้อมูลไว้ก่อนหน้านี้ทันที การดำเนินการนี้จะใช้ค่าที่คุณดาวน์โหลดจากเซิร์ฟเวอร์ในเซสชันก่อนหน้า และจะดำเนินการ แทบจะทันที
- ขณะที่ผู้ใช้โต้ตอบกับแอป ให้เริ่มการเรียกแบบไม่พร้อมกันเพื่อ ดึงค่าใหม่ตามช่วงเวลาการดึงข้อมูลขั้นต่ำเริ่มต้น และเพิ่ม เครื่องมือฟังการอัปเดตการกำหนดค่าแบบเรียลไทม์ เครื่องมือฟังแบบเรียลไทม์จะดึงค่าที่เผยแพร่ในเซิร์ฟเวอร์โดยอัตโนมัติ ขณะที่แอปของคุณทำงาน การอัปเดตแบบเรียลไทม์จะข้ามการตั้งค่าช่วงเวลาการดึงข้อมูลขั้นต่ำ
- ในตัวแฮนเดิลการดำเนินการให้เสร็จสมบูรณ์หรือการเรียกกลับสำหรับการเรียกข้อมูล ให้ไม่ต้องดำเนินการใดๆ แอปจะเก็บค่าที่ดาวน์โหลดไว้จนกว่าคุณจะเปิดใช้งานในครั้งถัดไป ที่แอปเริ่มต้น
กลยุทธ์นี้ช่วยลดเวลารอของผู้ใช้ได้อย่างมาก การรวมกลยุทธ์การดึงข้อมูลและกลยุทธ์ Listener แบบเรียลไทม์เข้ากับactivate()ที่เรียกใช้ตามต้องการในวงจร
แอปจะช่วยให้มั่นใจได้ว่าผู้ใช้จะได้รับค่าล่าสุดจาก Remote Config เมื่อโต้ตอบกับแอป
กำลังโหลดกลยุทธ์ต่อต้าน
ตามส่วนก่อนหน้าของกลยุทธ์การโหลด ให้หลีกเลี่ยงรูปแบบการใช้งานต่อไปนี้
- อย่าอัปเดตหรือเปลี่ยนลักษณะของ UI ขณะที่ผู้ใช้กำลังดูหรือ โต้ตอบกับ UI เว้นแต่คุณจะมีเหตุผลที่หนักแน่นเกี่ยวกับแอปหรือธุรกิจ ในการดำเนินการดังกล่าว เช่น การนำตัวเลือกที่เกี่ยวข้องกับโปรโมชันที่เพิ่งสิ้นสุดไป ออก
- อย่าส่งคำขอเรียกข้อมูลพร้อมกันจำนวนมาก ซึ่งอาจส่งผลให้เซิร์ฟเวอร์จำกัดอัตราการส่งคำขอของแอป หากต้องการเรียกข้อมูลอัปเดตบ่อยๆ ให้ใช้เรียลไทม์ Remote Config แม้ว่าความเสี่ยงในการจำกัดอัตราจะต่ำในสถานการณ์การใช้งานจริงส่วนใหญ่ แต่ก็อาจเป็นปัญหาในระหว่างการพัฒนาที่ใช้งานจริง และ Remote Config แบบเรียลไทม์ได้รับการออกแบบมาสำหรับกรณีการใช้งานนี้ ดูคำแนะนำเกี่ยวกับการจำกัดอัตราการใช้งาน
- อย่าอาศัยการเชื่อมต่อเครือข่ายเพื่อรับค่า Remote Config ตั้งค่าค่าพารามิเตอร์เริ่มต้นในแอปเพื่อให้แอปทํางานตามที่คาดไว้เสมอ คุณสามารถซิงค์ค่าเริ่มต้นของแอปและRemote Configแบ็กเอนด์ เป็นระยะๆ ได้โดยใช้ค่าเริ่มต้นของเทมเพลตที่ดาวน์โหลด
ขั้นตอนถัดไป
กลยุทธ์พื้นฐาน 3 อย่างนี้ไม่ได้เป็นรายการวิธีโหลดค่าการกำหนดค่าทั้งหมดแต่อย่างใด คุณสามารถวางแผนกลยุทธ์ที่ซับซ้อนมากขึ้นได้ตามความต้องการ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเรียกที่เฉพาะเจาะจงสำหรับการดึงและเปิดใช้งานค่าการกำหนดค่าได้ที่เอกสารอ้างอิง API สำหรับแพลตฟอร์มของคุณ