เมื่อแอปของคุณพัฒนาขึ้น เวอร์ชันใหม่อาจทำให้เกิดการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบต่อ API แบ็กเอนด์ แก้ไขช่องโหว่ด้านความปลอดภัยที่ร้ายแรง หรือแทนที่บริการและโมเดล AI ที่เลิกใช้งานแล้ว ในสถานการณ์เหล่านี้ แอปเวอร์ชันก่อนหน้าอาจหยุดทำงานอย่างน่าเชื่อถือหรือปลอดภัย
เมื่อใช้ Remote Config คุณจะควบคุมข้อกำหนดเวอร์ชันของแอปแบบไดนามิกได้จากระบบคลาวด์ การกำหนดพารามิเตอร์เวอร์ชันใน Remote Config ช่วยให้คุณแจ้งหรือกำหนดให้ผู้ใช้อัปเดตแอปได้โดยไม่ต้องติดตั้งใช้งานโครงสร้างพื้นฐานของเซิร์ฟเวอร์ที่กำหนดเองหรือเผยแพร่การอัปเดตฉุกเฉิน
เลือกกลยุทธ์การอัปเดต
Remote Config จะระบุพารามิเตอร์เวอร์ชันเพื่อประเมินในฝั่งไคลเอ็นต์ ซึ่งช่วยให้คุณกำหนดค่า UI การอัปเดตของแอปสำหรับกลยุทธ์ใดกลยุทธ์หนึ่งจาก 2 กลยุทธ์ได้ โดยขึ้นอยู่กับความรุนแรงของการเปลี่ยนแปลง ดังนี้
- การอัปเดตแบบบังคับ (บล็อก): หากแอปเวอร์ชันก่อนหน้าใช้ร่วมกับแบ็กเอนด์ไม่ได้หรือก่อให้เกิดความเสี่ยงด้านความปลอดภัย คุณสามารถบล็อกการเข้าถึงแอปจนกว่าผู้ใช้จะอัปเดต เมื่อเวอร์ชันที่ติดตั้งเก่ากว่าเวอร์ชันขั้นต่ำที่กำหนด คุณสามารถกำหนดค่าแอปให้แสดงกล่องโต้ตอบที่ปิดไม่ได้ซึ่งจะนำผู้ใช้ไปยัง App Store ของแพลตฟอร์มเพื่อติดตั้งเวอร์ชันล่าสุด
- การอัปเดตแบบยืดหยุ่น (ไม่บังคับ): หากการอัปเดตมีฟีเจอร์ใหม่ การปรับปรุงประสิทธิภาพ หรือการแก้ไขข้อบกพร่องเล็กน้อย คุณสามารถกำหนดค่าแอปให้แสดงแบนเนอร์หรือข้อความแจ้งที่ปิดได้ เพื่อกระตุ้นให้ผู้ใช้อัปเดตตามความสะดวกขณะที่ยังคงใช้แอปต่อไปได้
ขั้นตอนที่ 1: กำหนดค่าพารามิเตอร์ในคอนโซล Firebase
หากต้องการจัดการเวอร์ชันของแอป ให้กำหนดพารามิเตอร์ในเทมเพลต Remote Config ดังนี้
- ในคอนโซล Firebase ให้ไปที่หน้า DevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > พารามิเตอร์
- คลิกเพิ่มพารามิเตอร์ (หรือสร้างการกำหนดค่าหากนี่เป็นพารามิเตอร์แรก)
- กำหนดพารามิเตอร์ต่อไปนี้
minimum_version: สตริงที่แสดงเวอร์ชันที่รองรับที่เก่าที่สุดของแอป (เช่น"2.4.0") แอปที่ใช้เวอร์ชันเก่ากว่าค่านี้จะถูกบล็อกจนกว่าจะอัปเดตlatest_version(ไม่บังคับ): สตริงที่แสดงเวอร์ชันล่าสุดที่พร้อมใช้งานของแอป (เช่น"2.5.1") แอปที่ใช้เวอร์ชันระหว่างminimum_versionถึงlatest_versionสามารถแสดงคำแนะนำการอัปเดตที่ไม่บังคับได้update_url(ไม่บังคับ): URL ของ Store ที่ผู้ใช้สามารถดาวน์โหลดการอัปเดต (เช่น ข้อมูลผลิตภัณฑ์ใน Google Play Store หรือ Apple App Store)
- ไม่บังคับ: เพิ่มเงื่อนไขเฉพาะแพลตฟอร์ม ดังนี้
- เนื่องจากแอป Android และ Apple มักใช้เวอร์ชันที่เผยแพร่และ URL ของ Store ที่แตกต่างกัน คุณจึงเพิ่มค่าแบบมีเงื่อนไขสำหรับแต่ละแพลตฟอร์มภายใต้พารามิเตอร์เดียวกันได้
- คลิกเพิ่มค่าสำหรับเงื่อนไข > สร้างเงื่อนไข ตั้งชื่อเงื่อนไข (เช่น
Android AppหรือiOS App) เลือกแอปเป็นกฎการกำหนดเป้าหมาย แล้วเลือกแอปของคุณ - ตั้งค่าสตริงเวอร์ชันที่เหมาะสมสำหรับเงื่อนไขของแต่ละแพลตฟอร์ม และเก็บค่าเริ่มต้นไว้เป็นทางเลือกสำรอง
- คลิกบันทึก แล้วคลิกเผยแพร่การเปลี่ยนแปลงเพื่อใช้เทมเพลต
ขั้นตอนที่ 2: ใช้การตรวจสอบเวอร์ชันฝั่งไคลเอ็นต์
ในฝั่งไคลเอ็นต์ ให้ตรวจสอบเวอร์ชันของ Installed App ที่ติดตั้งเทียบกับพารามิเตอร์ Remote Config ระหว่างการเริ่มต้นระบบ โดยทำดังนี้
- ตั้งค่าเริ่มต้นในแอป: ระบุค่าเริ่มต้นในแอปที่ปลอดภัยใน App Bundle เสมอ (เช่น ตั้งค่า
minimum_versionเป็นรุ่นแอปเริ่มต้น เช่น"1.0.0") การกำหนดค่าสำรองนี้ช่วยให้แอปทำงานได้ตามปกติหากอุปกรณ์ออฟไลน์หรือคำขอดึงข้อมูลครั้งแรกล้มเหลว ดูคำแนะนำเฉพาะแพลตฟอร์มได้ที่หัวข้อดาวน์โหลดค่าเริ่มต้นของเทมเพลต Remote Config - ดึงข้อมูลและเปิดใช้งาน Remote Config: ดึงข้อมูลและเปิดใช้งานค่าเทมเพลตล่าสุดเมื่อแอปเริ่มทำงาน
เปรียบเทียบเวอร์ชัน: ดึงข้อมูลสตริง
minimum_versionและlatest_versionที่ใช้งานอยู่ แล้วเปรียบเทียบกับเวอร์ชันแอปที่ติดตั้งอยู่ในปัจจุบันดำเนินการตามการเปรียบเทียบเวอร์ชัน
- บังคับใช้การอัปเดตที่จำเป็น: หาก
current_versionเก่ากว่าminimum_versionให้แสดงการแจ้งเตือนโมดัลแบบเต็มหน้าจอที่ปิดไม่ได้ ปิดใช้การไปยังส่วนอื่นๆ ของแอป และระบุปุ่มที่เปิดupdate_urlใน App Store ของแพลตฟอร์ม - แจ้งเตือนการอัปเดตที่ไม่บังคับ: หาก
current_versionเก่ากว่าlatest_versionให้แสดงกล่องโต้ตอบหรือการแจ้งเตือนที่ปิดได้เพื่อแจ้งให้ผู้ใช้ทราบว่ามีการอัปเดต พร้อมตัวเลือกอัปเดตเลยหรืออัปเดตภายหลัง - อนุญาตให้เข้าถึง: อนุญาตให้ผู้ใช้เข้าถึงแอปได้
- บังคับใช้การอัปเดตที่จำเป็น: หาก
แนวทางปฏิบัติแนะนำ
- เพิ่ม Listener แบบเรียลไทม์: เมื่อจำเป็นต้องอัปเดตเวอร์ชันเนื่องจากปัญหาด้านความปลอดภัยหรือ UX มีประสิทธิภาพลดลงอย่างมาก การเพิ่ม Listener แบบเรียลไทม์Remote Config ลงในแอปจะช่วยให้มั่นใจได้ว่าการเปลี่ยนแปลงข้อกำหนดเวอร์ชันจะมีผลทันทีในอุปกรณ์ที่ใช้งานอยู่โดยไม่ต้องรอการเรียกข้อมูลตามกำหนดการครั้งถัดไปหรือการรีสตาร์ทแอป
- ทดสอบกับกลุ่มทดสอบที่จำกัด: ก่อนเพิ่ม
minimum_versionสำหรับผู้ใช้เวอร์ชันที่ใช้งานจริงทั้งหมด ให้ทดสอบเงื่อนไขกับกลุ่มทดสอบที่จำกัดหรือกำหนดเป้าหมายผู้ทดสอบภายในโดยใช้พร็อพเพอร์ตี้ผู้ใช้ที่กำหนดเอง การทดสอบนี้จะยืนยันว่าโมดัลการบล็อกแสดงอย่างถูกต้องและลิงก์ Store ทำงานได้อย่างถูกต้อง - ใช้ API การอัปเดตในแอปของแพลตฟอร์ม: ใน Android ให้พิจารณาผสานรวมการอัปเดตในแอปของ Google Play ควบคู่ไปกับการตรวจสอบ Remote Config เพื่อให้ผู้ใช้ดาวน์โหลดและติดตั้งอัปเดตได้โดยไม่ต้องออกจากแอป
- อ่านรายการตรวจสอบการผลิต: อ่านรายการตรวจสอบการเปิดตัว Firebase และรายการตรวจสอบการผลิต AI Logic เพื่อดูคำแนะนำเพิ่มเติมเกี่ยวกับการเตรียมแอปและฟีเจอร์ AI สำหรับการผลิต