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