วิธีที่ 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 ข้อควรระวัง: การเปลี่ยนแปลง start_url ต้องตั้งค่าไฟล์ Manifest id ดูข้อมูลเพิ่มเติม
  • 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 แล้ว ควรมีการอัปเดตด้วยพร็อพเพอร์ตี้ไฟล์ 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. เปิด about://webapks ใน Chrome แล้วคลิกปุ่ม "อัปเดต" สำหรับ PWA "อัปเดตสถานะ" ควรเปลี่ยนเป็น "รอดำเนินการ"
  4. เปิด PWA แล้วตรวจสอบว่าโหลดอย่างถูกต้อง
  5. ใช้ตัวจัดการงานของ Android เพื่อปิด PWA แล้วใช้แผงแอป ในการตั้งค่า Android เพื่อบังคับหยุด PWA

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

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