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

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

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

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

ข้อมูลอัปเดตใน Chrome บนเดสก์ท็อป

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

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

ที่พักใดจึงจะทริกเกอร์การอัปเดต

  • 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 ใหม่

ที่พักใดจึงจะทริกเกอร์การอัปเดต

  • background_color
  • display
  • orientation
  • scope
  • shortcuts
  • start_url
  • theme_color
  • web_share_target

หาก Chrome รับไฟล์ Manifest ที่อัปเดตมาจากเซิร์ฟเวอร์ไม่ได้ Chrome อาจเพิ่มเวลาระหว่างการตรวจสอบเป็น 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 จะอัปเดตภายในไม่กี่นาที เมื่อการอัปเดตเสร็จสมบูรณ์ "สถานะการอัปเดต" ควรเปลี่ยนเป็น "สำเร็จ"

รายการอ้างอิง