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 didesain untuk mengupdate ekstensi yang diinstal secara otomatis ke versi terbarunya, sehingga 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 update hanya diinstal saat ekstensi dianggap tidak aktif. Agar ekstensi dalam status tidak aktif, komponennya tidak boleh digunakan secara aktif. Dalam konteks Manifes V3, hal ini terutama berarti bahwa pekerja layanan ekstensi tidak berjalan. Service worker dirancang untuk didorong oleh peristiwa dan berhenti 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 aktif ini dapat menyebabkan penundaan dalam pembaruan untuk ekstensi yang sering aktif. Jika pekerja layanan ekstensi terus dipicu oleh peristiwa, ekstensi mungkin tidak akan pernah mencapai status tidak ada aktivitas, dan pembaruan akan ditunda 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 panel 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.
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:
- Buka chrome://extensions.
- Aktifkan Mode developer menggunakan tombol di pojok kanan atas.
- Klik tombol Perbarui yang muncul.
Tindakan ini akan meminta Chrome untuk segera mengambil versi terbaru dari semua ekstensi yang diinstal dari Chrome Web Store.
Memeriksa update dari Ekstensi
chrome.runtime API menyediakan alat bagi ekstensi untuk berinteraksi dengan mekanisme update.
Memeriksa update sesuai permintaan
Fungsi chrome.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 chrome.runtime.onUpdateAvailable diaktifkan saat update telah didownload dan siap diinstal. Peristiwa ini memberikan nomor versi baru dalam detailnya. Dengan memantau peristiwa ini, ekstensi dapat menentukan apakah update tersedia dan mempertimbangkan untuk menjadi tidak aktif atau menyebabkan pemuatan ulang dengan menggunakan chrome.runtime.reload() jika sesuai.
Kode berikut menunjukkan pola implementasi dasar:
Dalam kasus tertentu, Anda dapat memaksa browser untuk memeriksa update ekstensi menggunakan chrome.runtime.requestUpdateCheck():
Perlu 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. Uotuk melakukannya, gunakan kebijakan ExtensionSettings dengan properti override_update_url yang disetel ke benar. Kebijakan ini memaksa Chrome 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.