บังคับใช้เวอร์ชันแอปขั้นต่ำด้วยการกำหนดค่าระยะไกล

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

เมื่อใช้ Remote Config คุณจะควบคุมข้อกำหนดเวอร์ชันของแอปแบบไดนามิกได้จากระบบคลาวด์ การกำหนดพารามิเตอร์เวอร์ชันใน Remote Config ช่วยให้คุณแจ้งหรือกำหนดให้ผู้ใช้อัปเดตแอปได้โดยไม่ต้องติดตั้งใช้งานโครงสร้างพื้นฐานของเซิร์ฟเวอร์ที่กำหนดเองหรือเผยแพร่การอัปเดตฉุกเฉิน

เลือกกลยุทธ์การอัปเดต

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

  • การอัปเดตแบบบังคับ (บล็อก): หากแอปเวอร์ชันก่อนหน้าใช้ร่วมกับแบ็กเอนด์ไม่ได้หรือก่อให้เกิดความเสี่ยงด้านความปลอดภัย คุณสามารถบล็อกการเข้าถึงแอปจนกว่าผู้ใช้จะอัปเดต เมื่อเวอร์ชันที่ติดตั้งเก่ากว่าเวอร์ชันขั้นต่ำที่กำหนด คุณสามารถกำหนดค่าแอปให้แสดงกล่องโต้ตอบที่ปิดไม่ได้ซึ่งจะนำผู้ใช้ไปยัง App Store ของแพลตฟอร์มเพื่อติดตั้งเวอร์ชันล่าสุด
  • การอัปเดตแบบยืดหยุ่น (ไม่บังคับ): หากการอัปเดตมีฟีเจอร์ใหม่ การปรับปรุงประสิทธิภาพ หรือการแก้ไขข้อบกพร่องเล็กน้อย คุณสามารถกำหนดค่าแอปให้แสดงแบนเนอร์หรือข้อความแจ้งที่ปิดได้ เพื่อกระตุ้นให้ผู้ใช้อัปเดตตามความสะดวกขณะที่ยังคงใช้แอปต่อไปได้

ขั้นตอนที่ 1: กำหนดค่าพารามิเตอร์ในคอนโซล Firebase

หากต้องการจัดการเวอร์ชันของแอป ให้กำหนดพารามิเตอร์ในเทมเพลต Remote Config ดังนี้

  1. ในคอนโซล Firebase ให้ไปที่หน้า DevOps และการมีส่วนร่วม > การกำหนดค่าระยะไกล > พารามิเตอร์
  2. คลิกเพิ่มพารามิเตอร์ (หรือสร้างการกำหนดค่าหากนี่เป็นพารามิเตอร์แรก)
  3. กำหนดพารามิเตอร์ต่อไปนี้
    • minimum_version: สตริงที่แสดงเวอร์ชันที่รองรับที่เก่าที่สุดของแอป (เช่น "2.4.0") แอปที่ใช้เวอร์ชันเก่ากว่าค่านี้จะถูกบล็อกจนกว่าจะอัปเดต
    • latest_version (ไม่บังคับ): สตริงที่แสดงเวอร์ชันล่าสุดที่พร้อมใช้งานของแอป (เช่น "2.5.1") แอปที่ใช้เวอร์ชันระหว่าง minimum_version ถึง latest_version สามารถแสดงคำแนะนำการอัปเดตที่ไม่บังคับได้
    • update_url (ไม่บังคับ): URL ของ Store ที่ผู้ใช้สามารถดาวน์โหลดการอัปเดต (เช่น ข้อมูลผลิตภัณฑ์ใน Google Play Store หรือ Apple App Store)
  4. ไม่บังคับ: เพิ่มเงื่อนไขเฉพาะแพลตฟอร์ม ดังนี้
    • เนื่องจากแอป Android และ Apple มักใช้เวอร์ชันที่เผยแพร่และ URL ของ Store ที่แตกต่างกัน คุณจึงเพิ่มค่าแบบมีเงื่อนไขสำหรับแต่ละแพลตฟอร์มภายใต้พารามิเตอร์เดียวกันได้
    • คลิกเพิ่มค่าสำหรับเงื่อนไข > สร้างเงื่อนไข ตั้งชื่อเงื่อนไข (เช่น Android App หรือ iOS App) เลือกแอปเป็นกฎการกำหนดเป้าหมาย แล้วเลือกแอปของคุณ
    • ตั้งค่าสตริงเวอร์ชันที่เหมาะสมสำหรับเงื่อนไขของแต่ละแพลตฟอร์ม และเก็บค่าเริ่มต้นไว้เป็นทางเลือกสำรอง
  5. คลิกบันทึก แล้วคลิกเผยแพร่การเปลี่ยนแปลงเพื่อใช้เทมเพลต

ขั้นตอนที่ 2: ใช้การตรวจสอบเวอร์ชันฝั่งไคลเอ็นต์

ในฝั่งไคลเอ็นต์ ให้ตรวจสอบเวอร์ชันของ Installed App ที่ติดตั้งเทียบกับพารามิเตอร์ Remote Config ระหว่างการเริ่มต้นระบบ โดยทำดังนี้

  1. ตั้งค่าเริ่มต้นในแอป: ระบุค่าเริ่มต้นในแอปที่ปลอดภัยใน App Bundle เสมอ (เช่น ตั้งค่า minimum_version เป็นรุ่นแอปเริ่มต้น เช่น "1.0.0") การกำหนดค่าสำรองนี้ช่วยให้แอปทำงานได้ตามปกติหากอุปกรณ์ออฟไลน์หรือคำขอดึงข้อมูลครั้งแรกล้มเหลว ดูคำแนะนำเฉพาะแพลตฟอร์มได้ที่หัวข้อดาวน์โหลดค่าเริ่มต้นของเทมเพลต Remote Config
  2. ดึงข้อมูลและเปิดใช้งาน Remote Config: ดึงข้อมูลและเปิดใช้งานค่าเทมเพลตล่าสุดเมื่อแอปเริ่มทำงาน
  3. เปรียบเทียบเวอร์ชัน: ดึงข้อมูลสตริง minimum_version และ latest_version ที่ใช้งานอยู่ แล้วเปรียบเทียบกับเวอร์ชันแอปที่ติดตั้งอยู่ในปัจจุบัน

  4. ดำเนินการตามการเปรียบเทียบเวอร์ชัน

    • บังคับใช้การอัปเดตที่จำเป็น: หาก 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 สำหรับการผลิต