Siklus proses update Ekstensi Chrome

Panduan ini menjelaskan alur update ekstensi lengkap, yang mencakup proses update standar, penggantian manual, API developer, dan dampak signifikan kebijakan perusahaan.

Siklus update standar

Chrome dirancang untuk mengupdate ekstensi yang diinstal secara otomatis ke versi terbarunya, sehingga memastikan pengguna memiliki akses ke fitur baru dan perbaikan keamanan. Secara default, Chrome memeriksa update ekstensi saat dimulai dan setiap beberapa jam.

Aspek penting dari proses update adalah bahwa update hanya diinstal saat ekstensi dianggap tidak aktif. Agar ekstensi dalam status tidak aktif, komponennya tidak boleh digunakan secara aktif. Dalam konteks Manifest V3, hal ini terutama berarti bahwa service worker ekstensi tidak berjalan. Service worker dirancang untuk didorong oleh peristiwa dan berakhir setelah tidak aktif selama jangka waktu tertentu. Selain itu, halaman ekstensi yang terbuka, seperti panel samping, pop-up, atau halaman opsi, mencegah ekstensi dianggap tidak aktif. Skrip konten aktif tidak memengaruhi apakah ekstensi dianggap tidak aktif atau tidak.

Persyaratan tidak ada aktivitas ini dapat menyebabkan penundaan dalam pembaruan untuk ekstensi yang sering aktif. Jika service worker ekstensi terus dipicu oleh peristiwa, ekstensi mungkin tidak pernah mencapai status tidak ada aktivitas, dan update akan ditangguhkan hingga browser dimulai ulang.

Memantau distribusi update ekstensi

Untuk mengetahui jumlah pengguna yang menggunakan ekstensi versi terbaru, gunakan dasbor analisis Chrome Web Store. Buka dasbor developer Chrome Web Store, lalu pilih salah satu ekstensi yang Anda publikasikan. Di menu navigasi samping, buka: Analytics -> Pengguna, lalu scroll ke bawah ke diagram Pengguna harian menurut item. Di sini, Anda dapat melihat jumlah pengguna yang sudah menggunakan versi terbaru.

Screenshot yang menunjukkan jumlah pengguna harian per versi untuk contoh ekstensi.

Mengupdate ekstensi secara manual

Jika pengguna ingin segera menerima update terbaru, Chrome menyediakan mekanisme update manual. Hal ini juga merupakan alat yang berguna saat menguji update.

Setiap pengguna dapat memaksa update untuk semua ekstensi yang diinstal dengan mengikuti langkah-langkah berikut:

  1. Buka chrome://extensions.
  2. Aktifkan Mode developer menggunakan tombol di pojok kanan atas.
  3. Klik tombol Perbarui yang muncul.

Tindakan ini akan meminta Chrome untuk segera mengambil versi terbaru semua ekstensi yang diinstal dari Chrome Web Store.

Memeriksa update dari Ekstensi

API browser.runtime menyediakan alat bagi ekstensi untuk berinteraksi dengan mekanisme update.

Memeriksa update sesuai permintaan

Fungsi browser.runtime.requestUpdateCheck() memungkinkan ekstensi memulai pemeriksaan update secara terprogram. Hal ini sangat berguna untuk ekstensi yang memiliki dependensi penting pada layanan backend dan perlu memastikan bahwa ekstensi tersebut menjalankan versi kompatibel terbaru.

Saat fungsi ini dipanggil, Chrome akan mengkueri Chrome Web Store untuk mencari versi baru dan mendownload versi baru jika tersedia. Callback fungsi menerima status yang menunjukkan hasil pemeriksaan.

Memproses update yang tersedia

Peristiwa browser.runtime.onUpdateAvailable diaktifkan saat update telah didownload dan siap diinstal. Peristiwa ini memberikan nomor versi baru dalam detailnya. Dengan mendengarkan peristiwa ini, ekstensi dapat menentukan apakah update tersedia dan mempertimbangkan untuk menjadi tidak ada aktivitas atau menyebabkan muat ulang dengan menggunakan browser.runtime.reload() jika sesuai.

Kode berikut menunjukkan pola implementasi dasar:

Dalam kasus luar biasa, Anda dapat memaksa browser untuk memeriksa update ekstensi menggunakan browser.runtime.requestUpdateCheck():

Penting untuk diperhatikan bahwa panggilan yang sering ke requestUpdateCheck() akan dibatasi oleh browser. Gunakan fungsi ini hanya jika Anda tahu ada update yang tersedia. Misalnya, saat backend yang diupdate memerlukan versi ekstensi yang lebih baru.

Mengontrol update melalui kebijakan perusahaan

Di lingkungan perusahaan terkelola, alur update ekstensi standar tunduk pada kebijakan yang ditetapkan oleh administrator sistem. Kebijakan ini dapat menggantikan perilaku default untuk menerapkan keamanan dan stabilitas.

Instal otomatis

Kebijakan ExtensionInstallForcelist memungkinkan administrator menginstal ekstensi tertentu secara diam-diam untuk pengguna mereka. Pengguna tidak dapat menonaktifkan atau meng-uninstal ekstensi yang diinstal dengan kebijakan ini.

Menyematkan versi ekstensi

Namun, perusahaan sering kali perlu mengontrol versi ekstensi yang digunakan untuk memastikan kompatibilitas dengan software lain. Untuk melakukannya, administrator dapat "menyematkan" ekstensi ke versi tertentu. Hal ini dilakukan melalui konsol Google Admin, tempat administrator dapat memilih versi yang diperlukan untuk unit organisasi. Jika ekstensi disematkan, Chrome tidak akan mengupdatenya ke versi yang lebih tinggi dari versi yang ditentukan.

Mengganti sumber update

Perusahaan dapat menghosting versi ekstensi yang di-fork sendiri untuk alasan keamanan atau penyesuaian. Untuk melakukannya, gunakan kebijakan ExtensionSettings dengan properti override_update_url yang disetel ke benar. Kebijakan ini memaksa Chrome untuk mengambil ekstensi dan update-nya dari URL tertentu, bukan dari Chrome Web Store.

Menetapkan versi Chrome minimum

Anda dapat menentukan minimum_chrome_version dalam file manifes ekstensi Anda. Hal ini memastikan bahwa ekstensi hanya diinstal pada versi Chrome yang mendukung API yang digunakannya.

Untuk penginstalan baru, Chrome Web Store akan mencegah pengguna di Chrome versi lama menginstal ekstensi, dengan menampilkan pesan "Tidak kompatibel". Untuk pengguna lama, jika update ekstensi meningkatkan minimum_chrome_version ke versi yang lebih tinggi daripada versi Chrome yang diinstal pengguna, mereka akan berhenti menerima update untuk ekstensi tersebut tanpa pemberitahuan. Developer harus menyadari hal ini dan memberi tahu pengguna jika sebagian besar basis pengguna mereka mungkin terpengaruh.