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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ฟังการอัปเดตที่พร้อมให้บริการ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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