วิธีที่ Chrome จัดการการอัปเดตไฟล์ Manifest ของเว็บแอป

สิ่งที่ต้องใช้เพื่อเปลี่ยนไอคอน ทางลัด สี และข้อมูลเมตาอื่นๆ สำหรับ PWA

เมื่อติดตั้ง PWA แล้ว เบราว์เซอร์จะใช้ข้อมูลจากไฟล์ Manifest ของเว็บแอปสำหรับชื่อแอป ไอคอนที่แอปควรใช้ และ URL ที่ควรเปิดเมื่อเปิดแอป แต่จะเกิดอะไรขึ้นหากคุณต้องการอัปเดตทางลัดของแอปหรือลองใช้สีธีมใหม่ การเปลี่ยนแปลงเหล่านั้นจะแสดงในเบราว์เซอร์เมื่อใดและอย่างไร

ในกรณีส่วนใหญ่ การเปลี่ยนแปลงควรแสดงให้เห็นภายใน 1 หรือ 2 วันหลังจากเปิดตัว PWA หลังจากอัปเดตไฟล์ Manifest แล้ว

การอัปเดตใน Chrome บนเดสก์ท็อป

เมื่อมีการเปิดตัวหรือเปิด PWA ในแท็บเบราว์เซอร์ Chrome จะกำหนดเวลาล่าสุดที่มีการตรวจหาการเปลี่ยนแปลงในไฟล์ Manifest ในเครื่อง หากไม่ได้ตรวจสอบไฟล์ Manifest ตั้งแต่เบราว์เซอร์เริ่มทำงานครั้งล่าสุด หรือไม่ได้ตรวจสอบในช่วง 24 ชั่วโมงที่ผ่านมา Chrome จะส่งคำขอไปยังเครือข่ายสำหรับไฟล์ Manifest แล้วเปรียบเทียบกับสำเนาในเครื่อง

หากพร็อพเพอร์ตี้บางรายการในไฟล์ Manifest มีการเปลี่ยนแปลง (ดูรายการด้านล่าง) Chrome จะจัดคิวไฟล์ Manifest ใหม่ และติดตั้งหลังจากปิดหน้าต่างทั้งหมดแล้ว เมื่อติดตั้งแล้ว ระบบจะอัปเดตช่องทั้งหมดจากไฟล์ Manifest ใหม่ยกเว้น icons

พร็อพเพอร์ตี้ใดจะทริกเกอร์การอัปเดต

  • name
  • short_name
  • display (ดูด้านล่าง)
  • scope
  • shortcuts
  • start_url
  • theme_color
  • file_handlers

จะเกิดอะไรขึ้นเมื่อมีการอัปเดตช่อง display

หากคุณอัปเดตโหมดการแสดงผลของแอปจาก browser เป็น standalone ผู้ใช้ปัจจุบันจะไม่มีแอปเปิดอยู่ในหน้าต่างหลังจากอัปเดต การตั้งค่าการแสดงผลของเว็บแอปมี 2 แบบ ได้แก่ การตั้งค่าจากไฟล์ Manifest (ที่คุณควบคุม) และการตั้งค่าแท็บหน้าต่าง/เบราว์เซอร์ที่ผู้ใช้ควบคุม ค่ากำหนดของผู้ใช้ จะมีผลเสมอ

การทดสอบการอัปเดตไฟล์ Manifest

หน้า chrome://web-app-internals (ใช้ได้ใน Chrome 85 ขึ้นไป) จะมีข้อมูลโดยละเอียดเกี่ยวกับ PWA ทั้งหมดที่ติดตั้งในอุปกรณ์ และจะช่วยให้คุณทราบว่าไฟล์ Manifest อัปเดตล่าสุดเมื่อใด ความถี่ในการอัปเดตไฟล์ และอื่น ๆ

หากต้องการบังคับให้ Chrome ตรวจหาไฟล์ Manifest ที่อัปเดตด้วยตนเอง คุณสามารถเปิด Chrome ด้วยค่าสถานะบรรทัดคำสั่ง --disable-manifest-update-throttle หรือรีสตาร์ท Chrome (ใช้ about://restart) ซึ่งจะเป็นการรีเซ็ตตัวจับเวลาเพื่อให้ Chrome ตรวจหาไฟล์ Manifest ที่อัปเดตเมื่อมีการเปิดใช้ PWA ครั้งถัดไป จากนั้นเปิด PWA หลังจากปิด PWA แล้ว ระบบควรอัปเดต PWA ด้วยพร็อพเพอร์ตี้ไฟล์ Manifest ใหม่

ข้อมูลอ้างอิง

การอัปเดตใน Chrome สำหรับ Android

เมื่อเปิด PWA ขึ้นมา Chrome จะระบุเวลาที่ตรวจสอบไฟล์ Manifest ในพื้นที่เพื่อหาการเปลี่ยนแปลงครั้งล่าสุด หากไม่มีการตรวจสอบไฟล์ Manifest ในช่วง 24 ชั่วโมงที่ผ่านมา Chrome จะกำหนดเวลาคำขอของเครือข่ายสำหรับไฟล์ Manifest จากนั้นเปรียบเทียบกับสำเนาในเครื่อง

หากพร็อพเพอร์ตี้บางรายการในไฟล์ Manifest มีการเปลี่ยนแปลง (ดูรายการด้านล่าง) Chrome จะจัดคิวไฟล์ Manifest ใหม่ และหลังจากที่ปิดหน้าต่างทั้งหมดของ PWA แล้ว อุปกรณ์เสียบปลั๊กและเชื่อมต่อกับ Wi-Fi แล้ว Chrome จะขอ WebAPK ที่อัปเดตจากเซิร์ฟเวอร์ เมื่ออัปเดตแล้ว ระบบจะใช้ช่องทั้งหมดจากไฟล์ Manifest ใหม่

พร็อพเพอร์ตี้ใดจะทริกเกอร์การอัปเดต

  • name
  • short_name
  • icons
  • background_color
  • display
  • orientation
  • scope
  • shortcuts
  • start_url
  • theme_color
  • web_share_target

หาก Chrome รับไฟล์ Manifest ที่อัปเดตจากเซิร์ฟเวอร์ไม่ได้ อาจเพิ่มเวลาระหว่างการตรวจสอบเป็น 30 วัน

การทดสอบการอัปเดตไฟล์ Manifest

หน้า about://webapks จะมีข้อมูลโดยละเอียดเกี่ยวกับ PWA ทั้งหมดที่ติดตั้งในอุปกรณ์ และบอกให้คุณทราบว่าไฟล์ Manifest มีการอัปเดตครั้งล่าสุดเมื่อใด ความถี่ในการอัปเดตไฟล์ และอื่น ๆ

หากต้องการกำหนดเวลาอัปเดตไฟล์ Manifest ด้วยตนเอง โดยลบล้างตัวจับเวลาและไฟล์ Manifest ในพื้นที่ ให้ทำดังนี้

  1. เสียบปลั๊กอุปกรณ์และเชื่อมต่อ Wi-Fi
  2. ใช้ตัวจัดการงานของ Android เพื่อปิด PWA แล้วใช้แผงแอปในการตั้งค่า Android เพื่อบังคับให้หยุด PWA
  3. ใน Chrome ให้เปิด about://webapks แล้วคลิกปุ่ม "อัปเดต" สำหรับ PWA "สถานะการอัปเดต" ควรเปลี่ยนเป็น "รอดำเนินการ"
  4. เปิด PWA และตรวจสอบว่าโหลดอย่างถูกต้อง
  5. ใช้ตัวจัดการงานของ Android เพื่อปิด PWA แล้วใช้แผงแอปในการตั้งค่า Android เพื่อบังคับให้หยุด PWA

โดยปกติแล้ว PWA จะอัปเดตภายในไม่กี่นาที เมื่อการอัปเดตเสร็จสมบูรณ์ "สถานะการอัปเดต" จะเปลี่ยนเป็น "สำเร็จ"

ข้อมูลอ้างอิง