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