วงจรการอัปเดตส่วนขยาย Chrome

คู่มือนี้จะอธิบายขั้นตอนการอัปเดตส่วนขยายทั้งหมด โดยครอบคลุมกระบวนการอัปเดตมาตรฐาน การลบล้างด้วยตนเอง, API ของนักพัฒนาซอฟต์แวร์ และผลกระทบที่สำคัญของนโยบายขององค์กร

รอบการอัปเดตมาตรฐาน

Chrome ออกแบบมาเพื่ออัปเดตส่วนขยายที่ติดตั้งเป็นเวอร์ชันล่าสุดโดยอัตโนมัติ เพื่อให้ผู้ใช้เข้าถึงฟีเจอร์ใหม่และการแก้ไขข้อบกพร่องด้านความปลอดภัยได้ โดยค่าเริ่มต้น Chrome จะตรวจหาการอัปเดตส่วนขยายเมื่อเริ่มต้นและทุกๆ 2-3 ชั่วโมง

สิ่งสำคัญในกระบวนการอัปเดตคือระบบจะติดตั้งการอัปเดตเมื่อถือว่าส่วนขยายไม่ได้ใช้งานเท่านั้น หากต้องการให้ส่วนขยายอยู่ในสถานะไม่ได้ใช้งาน คอมโพเนนต์ของส่วนขยายต้องไม่ได้ใช้งานอยู่ ในบริบทของ Manifest V3 ข้อความนี้หมายความว่า Service Worker ของส่วนขยายไม่ได้ทำงาน Service Worker ออกแบบมาให้ทำงานตามเหตุการณ์และสิ้นสุดหลังจากไม่มีการใช้งานระยะหนึ่ง นอกจากนี้ หน้าส่วนขยายที่เปิดอยู่ เช่น แผงด้านข้าง ป๊อปอัป หรือหน้าตัวเลือก จะทำให้ระบบไม่ถือว่าส่วนขยายไม่ได้ใช้งาน สคริปต์เนื้อหาที่ใช้งานอยู่จะไม่ส่งผลต่อการพิจารณาว่าส่วนขยายไม่ได้ใช้งานหรือไม่

ข้อกำหนดนี้อาจทำให้การอัปเดตส่วนขยายที่ใช้งานบ่อยล่าช้า หากเหตุการณ์กระตุ้น Service Worker ของส่วนขยายอยู่ตลอดเวลา Service Worker อาจไม่เข้าสู่สถานะว่าง และระบบจะเลื่อนการอัปเดตจนกว่าจะรีสตาร์ทเบราว์เซอร์

ตรวจสอบการเผยแพร่การอัปเดตส่วนขยาย

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

ภาพหน้าจอแสดงจำนวนผู้ใช้รายวันต่อเวอร์ชันสำหรับส่วนขยายตัวอย่าง

อัปเดตส่วนขยายด้วยตนเอง

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

ผู้ใช้แต่ละรายสามารถบังคับให้อัปเดตส่วนขยายที่ติดตั้งทั้งหมดได้โดยทำตามขั้นตอนต่อไปนี้

  1. ไปที่ chrome://extensions
  2. เปิดใช้โหมดนักพัฒนาซอฟต์แวร์โดยใช้ปุ่มเปิด/ปิดที่มุมขวาบน
  3. คลิกปุ่มอัปเดตที่ปรากฏขึ้น

การดำเนินการนี้จะแจ้งให้ Chrome ดึงข้อมูลส่วนขยายที่ติดตั้งทั้งหมดเวอร์ชันล่าสุดจาก Chrome เว็บสโตร์ทันที

ตรวจหาการอัปเดตจากส่วนขยาย

chrome.runtime API มีเครื่องมือให้ส่วนขยายโต้ตอบกับกลไกการอัปเดต

ตรวจหาการอัปเดตตามต้องการ

ฟังก์ชัน chrome.runtime.requestUpdateCheck() ช่วยให้ส่วนขยายเริ่มโปรแกรมตรวจหาการอัปเดตได้โดยอัตโนมัติ ซึ่งมีประโยชน์อย่างยิ่งสำหรับส่วนขยายที่ต้องพึ่งพาบริการแบ็กเอนด์อย่างมากและต้องตรวจสอบว่าส่วนขยายนั้นใช้เวอร์ชันล่าสุดที่เข้ากันได้

เมื่อเรียกใช้ฟังก์ชันนี้ Chrome จะค้นหาเวอร์ชันใหม่ใน Chrome เว็บสโตร์และดาวน์โหลดเวอร์ชันใหม่หากมี Callback ของฟังก์ชันจะได้รับสถานะที่ระบุผลลัพธ์ของการตรวจสอบ

ฟังการอัปเดตที่พร้อมใช้งาน

เหตุการณ์ chrome.runtime.onUpdateAvailable จะทริกเกอร์เมื่อดาวน์โหลดอัปเดตแล้วและพร้อมติดตั้ง เหตุการณ์นี้จะระบุหมายเลขเวอร์ชันใหม่ในรายละเอียด การรอฟังเหตุการณ์นี้จะช่วยให้ส่วนขยายทราบว่ามีการอัปเดตพร้อมใช้งาน และพิจารณาว่าจะเข้าสู่โหมดว่างหรือทำให้เกิดการโหลดซ้ำโดยใช้ chrome.runtime.reload() เมื่อเหมาะสม

โค้ดต่อไปนี้แสดงรูปแบบการใช้งานพื้นฐาน

ในกรณีพิเศษ คุณสามารถบังคับให้เบราว์เซอร์ตรวจสอบการอัปเดตส่วนขยายได้โดยใช้ chrome.runtime.requestUpdateCheck()

โปรดทราบว่าเบราว์เซอร์จะจำกัดอัตราการเรียกใช้ requestUpdateCheck() บ่อยๆ ใช้ฟังก์ชันนี้เฉพาะเมื่อทราบว่ามีการอัปเดตพร้อมใช้งาน เช่น เมื่อแบ็กเอนด์ที่อัปเดตแล้วต้องใช้ส่วนขยายเวอร์ชันใหม่กว่า

ควบคุมการอัปเดตผ่านนโยบายขององค์กร

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

การบังคับติดตั้ง

นโยบาย ExtensionInstallForcelist ช่วยให้ผู้ดูแลระบบติดตั้งส่วนขยายที่เฉพาะเจาะจงให้กับผู้ใช้ได้แบบเงียบ ผู้ใช้จะปิดใช้หรือถอนการติดตั้งส่วนขยายที่ติดตั้งด้วยนโยบายนี้ไม่ได้

ปักหมุดเวอร์ชันส่วนขยาย

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

ลบล้างแหล่งที่มาของการอัปเดต

องค์กรสามารถโฮสต์ส่วนขยายเวอร์ชันที่แยกออกมาเองได้ด้วยเหตุผลด้านความปลอดภัยหรือการปรับแต่ง oทำเช่นนั้น ให้ใช้นโยบาย ExtensionSettings โดยตั้งค่าพร็อพเพอร์ตี้ override_update_url เป็นจริง ซึ่งจะบังคับให้ Chrome ดึงข้อมูลส่วนขยายและการอัปเดตจาก URL ที่ระบุแทนที่จะดึงจาก Chrome เว็บสโตร์

ตั้งค่าเวอร์ชัน Chrome ขั้นต่ำ

คุณระบุ minimum_chrome_version ในไฟล์ Manifest ของส่วนขยายได้ ซึ่งจะช่วยให้มั่นใจได้ว่าจะมีการติดตั้งส่วนขยายใน Chrome เวอร์ชันที่รองรับ API ที่ส่วนขยายใช้เท่านั้น

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