วิธีที่ 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 จะอัปเดตภายในไม่กี่นาที เมื่ออัปเดตเสร็จแล้ว "สถานะการอัปเดต" ควรเปลี่ยนเป็น "สำเร็จ"

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