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