Dipublikasikan: 21 Januari 2026
Mulai Chrome 144, proses update untuk aplikasi web yang dapat diinstal dan memiliki manifes aplikasi web telah disederhanakan, sehingga menjadi lebih deterministik, dapat diprediksi, dan efisien. Postingan ini menjelaskan pendekatan saat ini dan perubahan yang telah kami lakukan untuk meningkatkannya.
Pendekatan sebelumnya (sebelum Chrome 144)
Sebelum Chrome 144, aplikasi web tidak memiliki peristiwa tertentu untuk memicu update secara proaktif. Sebagai gantinya, update dapat terjadi saat developer mengubah manifes aplikasi atau ikon terkaitnya. Proses update dimulai saat agen pengguna mengambil manifest menggunakan link manifest, yang biasanya terjadi saat pengguna mengunjungi situs atau meluncurkan aplikasi (dengan manifest yang ditautkan). Untuk menentukan apakah update diperlukan, sistem membandingkan manifest dan ikon saat ini dengan status yang direkam sebelumnya. Prosedur ini membutuhkan banyak resource karena selalu memerlukan download ikon dari jaringan untuk melakukan perbandingan bitmap.
Untuk mengurangi beban server dari download ikon, Chrome menerapkan throttling untuk membatasi pemeriksaan ini menjadi sekali sehari per aplikasi, tetapi total penggunaan bandwidth tetap tinggi. Selain itu, membatasi pemeriksaan menjadi sekali sehari menyebabkan inkonsistensi selama pengembangan dan pengujian, sekaligus menghalangi developer dalam memberikan solusi yang andal kepada pengguna yang belum menerima update.
Dengan pendekatan ini, developer harus mengatasi kerumitan saat menerapkan perubahan yang sensitif terhadap keamanan, seperti update pada nama atau ikon aplikasi, yang sering disebut perubahan Identitas Aplikasi. Karena Aplikasi Web tidak memiliki otoritas pusat seperti Google Play untuk meninjau update, modifikasi ini harus ditampilkan dengan jelas kepada pengguna untuk dikonfirmasi. Namun, menentukan waktu yang paling tepat untuk meminta pengguna menyetujui perubahan ini tetap menjadi tantangan.
Iterasi sebelumnya dari dialog update juga sering menyebabkan kebingungan karena mengklaim bahwa ikon telah berubah padahal secara visual tampak identik bagi pengguna. Masalah ini berasal dari mengandalkan perbandingan piksel langsung, yang sering kali menandai perbedaan yang tidak signifikan. Meskipun beberapa variasi dihasilkan dari penyesuaian developer yang disengaja, banyak yang disebabkan oleh CDN yang secara dinamis mengenkode ulang gambar. Pemicuan dialog konfirmasi yang terlalu sering ini akhirnya menyebabkan penonaktifan update ikon di Chrome 91.
Untuk mengatasi hal ini di Chrome untuk Android, batas perbedaan visual diperkenalkan beberapa tahun yang lalu. Hal ini memastikan bahwa konfirmasi pengguna hanya diminta jika perubahan ikon signifikan. Penyempurnaan ini memungkinkan pembaruan ikon diaktifkan kembali di Android, meskipun fitur tersebut tetap dinonaktifkan untuk Chrome di Desktop.
Batasan dan sasaran untuk perubahan pada update aplikasi web
Tujuan berikut memandu pengembangan proses update baru:
- Mempertahankan ekspektasi pengguna: Karena identitas aplikasi secara intrinsik terkait dengan asalnya, nama dan ikonnya tidak boleh diubah tanpa persetujuan eksplisit pengguna.
- Pastikan konsistensi fungsional: Aplikasi harus tetap terbaru sebisa mungkin untuk semua pengguna guna memastikan fungsi yang konsisten.
- Menyediakan UX dan dialog yang dapat diprediksi: Developer harus dapat dengan mudah mengantisipasi kapan pengguna akan menemukan perintah antarmuka terkait pembaruan nama atau ikon aplikasi.
- Mengoptimalkan penggunaan jaringan: Mekanisme update harus meminimalkan traffic data yang tidak perlu.
Apa yang berubah di Chrome 144?
Pembaruan nama dan ikon kini bersifat opsional
Sebelumnya, pengguna menghadapi dialog yang mengganggu yang mengharuskan mereka meng-uninstal aplikasi atau segera menyetujui perubahan ikon dan nama. Fitur ini telah diganti dengan saran yang lebih mudah digunakan yang dapat diakses dari menu 3 titik yang diperluas. Setelah dipilih, pengguna kini memiliki pilihan untuk mengabaikan sepenuhnya perubahan identitas ini jika mereka mau.
Meskipun sebagian besar update manifes diterapkan dengan segera, ikon dan nama aplikasi—yang dianggap sebagai anggota yang sensitif terhadap keamanan—disimpan secara terpisah. Dengan begitu, pengguna dapat meninjau dan menerapkan perubahan spesifik ini sesuai keinginan mereka.

Mengklik Tinjau update aplikasi akan menampilkan dialog yang direvisi. Judul berubah berdasarkan elemen yang diperbarui.

Ikon tidak didownload jika kolom ikon tidak mengalami perubahan
Ikon kini dianggap tidak berubah jika kolom
icons
di manifes tetap sama dengan versi terakhir yang diterapkan. Dengan logika baru ini, Chrome menghindari mendownload ikon untuk perbandingan visual, sehingga memperlakukan URL ikon sebagai Cache-Control:immutable.
Untuk memicu pembaruan ikon, developer kini harus mengubah metadata atau URL ikon.
Penghapusan pembatasan update
Karena Chrome tidak lagi mendownload ikon setiap kali menemukan manifes untuk aplikasi yang diinstal, batasan sebelumnya—yang membatasi pemeriksaan update menjadi sekali per hari—telah dihilangkan. Developer kini dapat mengandalkan pembaruan yang terjadi segera untuk semua anggota yang tidak sensitif terhadap keamanan.
Menangani variasi ikon kecil di seluruh platform
Untuk meningkatkan pengalaman pengguna, Chrome kini otomatis menerapkan update ikon yang menunjukkan perbedaan kurang dari 10% dalam perbandingan piksel demi piksel. Hal ini memastikan bahwa variasi kecil, seperti yang disebabkan oleh encoding ulang CDN, tidak memicu dialog update yang membingungkan bagi pengguna.
Izin ini dibatasi menjadi sekali per hari untuk mencegah potensi penyalahgunaan. Jika perubahan lebih lanjut terjadi dalam jangka waktu tersebut, ikon akan diperlakukan sebagai update standar dan pengguna akan diminta untuk mengonfirmasi perubahan.
Contoh pembaruan ikon dan nama
{
"name": "Example App",
"short_name": "App",
"id": "https://www.example-app.com/",
"start_url": "https://www.example-app.com/index.html",
"scope": "https://www.example-app.com/",
"icons": [
{
"src": "https://www.example-app.com/img/app.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
}
],
... other attributes omitted ...
}
Mengubah URL ikon menjamin bahwa pengguna akan melihat dialog update untuk mengubah ikon.
{
"name": "Example App",
"short_name": "App",
"id": "https://www.example-app.com/",
"start_url": "https://www.example-app.com/index.html",
"scope": "https://www.example-app.com/",
"icons": [
{
"src": "https://www.example-app.com/img/app-NEW-URL.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
}
],
... other attributes omitted ...
}