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