กลยุทธ์การโหลดการกำหนดค่าระยะไกลของ Firebase

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: โหลดค่าใหม่สำหรับการเริ่มต้นครั้งถัดไป

กลยุทธ์ที่มีประสิทธิภาพคือการโหลดค่าของการกำหนดค่าใหม่เพื่อเปิดใช้งานในสตาร์ทอัพถัดไปของแอป ในกลยุทธ์นี้ แอปจะเปิดใช้งานค่าที่ดึงมาเมื่อเริ่มต้นใช้งานก่อนที่จะพยายามดึงข้อมูลค่าใหม่ โดยให้ยึดตามสมมติฐานที่ว่าค่าดังกล่าวอาจดึงข้อมูลแล้วแต่ยังไม่ได้เปิดใช้งาน ลำดับการดำเนินการของกลยุทธ์นี้คือ

  1. เปิดใช้งานค่าที่ดึงข้อมูลไว้ก่อนหน้านี้ทันทีเมื่อเริ่มต้น ซึ่งจะนำค่าใดๆ ก็ตามที่คุณดาวน์โหลดจากเซิร์ฟเวอร์ในเซสชันก่อนหน้าไปใช้ และเกือบจะเกิดขึ้นทันที
  2. ขณะที่ผู้ใช้โต้ตอบกับแอป ให้เริ่มต้นการเรียกใช้แบบไม่พร้อมกันเพื่อดึงข้อมูลค่าใหม่ตามช่วงเวลาการดึงข้อมูลขั้นต่ำเริ่มต้น และเพิ่ม Listener การอัปเดตการกำหนดค่าแบบเรียลไทม์ โปรแกรมรับฟังแบบเรียลไทม์จะดึงค่าที่เผยแพร่บนเซิร์ฟเวอร์โดยอัตโนมัติขณะที่แอปของคุณทํางานอยู่ การอัปเดตแบบเรียลไทม์จะข้ามการตั้งค่าช่วงเวลาการดึงข้อมูลขั้นต่ำ
  3. ในตัวแฮนเดิลการดําเนินการเสร็จสมบูรณ์หรือคอลแบ็กสําหรับการเรียกใช้การดึงข้อมูล ให้ทําการใดๆ ไม่ได้ แอปจะเก็บค่าที่ดาวน์โหลดไว้จนกว่าคุณจะเปิดใช้งานเมื่อแอปเริ่มทำงานครั้งถัดไป

กลยุทธ์นี้ช่วยลดเวลารอของผู้ใช้ได้อย่างมาก การรวมกลยุทธ์การดึงข้อมูลและการฟังแบบเรียลไทม์เข้ากับการเรียกใช้ activate() ตามที่จำเป็นในวงจรของแอปจะช่วยให้ผู้ใช้มีค่าล่าสุดจาก Remote Config ขณะโต้ตอบกับแอป

กำลังโหลดกลยุทธ์ต่อต้าน

คุณอาจเข้าใจจากข้อดีและข้อเสียของการโหลดข้างต้นแล้วว่ารูปแบบการใช้งานบางอย่างควรหลีกเลี่ยง

  • อย่าอัปเดตหรือเปลี่ยนแง่มุมต่างๆ ของ UI ขณะที่ผู้ใช้กำลังดูหรือโต้ตอบกับ UI เว้นแต่คุณจะมีเหตุผลที่ชัดเจนเกี่ยวกับแอปหรือธุรกิจในการดำเนินการดังกล่าว เช่น การนำตัวเลือกที่เกี่ยวข้องกับโปรโมชันที่เพิ่งสิ้นสุดไปออก
  • อย่าส่งคําขอดึงข้อมูลพร้อมกันจํานวนมาก ซึ่งอาจส่งผลให้เซิร์ฟเวอร์จํากัดแอปของคุณ หากต้องการดึงข้อมูลอัปเดตบ่อยครั้ง ให้ใช้แบบเรียลไทม์ Remote Config แม้ว่าความเสี่ยงในการจำกัดจะต่ำในสถานการณ์การใช้งานจริงส่วนใหญ่ แต่ก็อาจเกิดปัญหาได้ในระหว่างการพัฒนาอย่างต่อเนื่อง และ Remote Config แบบเรียลไทม์ได้รับการออกแบบมาเพื่อกรณีการใช้งานนี้ โปรดดูคำแนะนำเกี่ยวกับการควบคุม
  • อย่าพึ่งพาการเชื่อมต่อเครือข่ายในการรับค่า Remote Config โปรดตั้งค่าพารามิเตอร์เริ่มต้นในแอปเพื่อให้แอปทำงานตามที่คาดไว้เสมอ คุณสามารถทำให้ค่าเริ่มต้นของแอปและRemote Configแบ็กเอนด์ซิงค์กันอยู่เป็นระยะๆ ได้โดยใช้ค่าเริ่มต้นของเทมเพลตที่ดาวน์โหลด

ขั้นตอนถัดไป

กลยุทธ์พื้นฐาน 3 ประการเหล่านี้ไม่ได้เป็นรายการวิธีทั้งหมดในการโหลดค่าการกําหนดค่า คุณอาจคิดกลยุทธ์ที่ซับซ้อนขึ้นได้ ทั้งนี้ขึ้นอยู่กับความต้องการ

ดูข้อมูลอ้างอิง API สําหรับแพลตฟอร์มของคุณเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการเรียกใช้ที่เฉพาะเจาะจงสําหรับการดึงข้อมูลและการเปิดใช้งานค่าการกําหนดค่า