Chrome 如何處理網頁應用程式資訊清單的更新

變更 PWA 的圖示、捷徑、顏色和其他中繼資料需要採取的行動

使用者安裝 PWA 時,瀏覽器會使用網頁應用程式資訊清單的資訊,包括應用程式名稱、應用程式應使用的圖示,以及啟動應用程式時應開啟的網址。但如果需要更新應用程式捷徑或嘗試使用新的主題顏色,該怎麼辦?這些變更會在瀏覽器中的生效時間與方式為何?

在大多數情況下,更新資訊清單後,應會在 PWA 啟動後的一到兩天內反映變更。

Chrome 電腦版最新消息

當 PWA 啟動或在瀏覽器分頁中開啟時,Chrome 會判斷上次檢查本機資訊清單是否有變更的時間。如果資訊清單自瀏覽器上次啟動後未經過檢查,或過去 24 小時內未檢查,Chrome 就會針對該資訊清單發出網路要求,然後與本機副本進行比較。

如果資訊清單中選取的屬性已變更 (請見下方清單),Chrome 會將新的資訊清單排入佇列,之後所有視窗關閉後,即會進行安裝。安裝完成後,系統會更新新資訊清單中的所有欄位 (nameshort_nameicons 除外)。

哪些資源會觸發更新?

  • display (詳情請參閱下方)
  • scope
  • shortcuts
  • start_url
  • theme_color
  • file_handlers

更新 display 欄位會有什麼影響?

如果您將應用程式的顯示模式從 browser 更新為 standalone,現有使用者在更新後就無法在視窗中開啟應用程式。網頁應用程式提供兩種顯示設定,一種來自資訊清單 (由您控制),以及使用者控制的視窗/瀏覽器分頁設定。系統一律會遵循使用者偏好。

測試資訊清單更新

chrome://web-app-internals 頁面 (適用於 Chrome 85 以上版本) 提供了裝置上所有已安裝 PWA 的詳細資訊,並協助您瞭解資訊清單的上次更新時間、更新頻率等等。

如要手動強制 Chrome 檢查更新的資訊清單,您可以使用指令列旗標 --disable-manifest-update-throttle 啟動 Chrome,或重新啟動 Chrome (使用 about://restart),這會重設計時器,讓 Chrome 會在下次啟動 PWA 時檢查更新後的資訊清單。然後啟動 PWA。關閉 PWA 後,應使用新的資訊清單屬性進行更新。

參考資料

Android 版 Google Chrome 最新消息

PWA 啟動時,Chrome 會判斷上次檢查本機資訊清單是否有變更的時間。如果資訊清單在過去 24 小時內未檢查,Chrome 會為資訊清單安排網路要求,然後與本機副本進行比較。

如果資訊清單中指定的屬性已變更 (請見下方清單),Chrome 會將新的資訊清單排入佇列,而且 PWA 的所有視窗都關閉後,裝置已接上電源並連上 Wi-Fi,Chrome 會透過伺服器要求更新過的 WebAPK。更新後,系統就會使用新資訊清單中的所有欄位。

哪些資源會觸發更新?

  • background_color
  • display
  • orientation
  • scope
  • shortcuts
  • start_url
  • theme_color
  • web_share_target

如果 Chrome 無法從伺服器取得更新後的資訊清單,可能會將檢查之間的時間延長為 30 天。

測試資訊清單更新

about://webapks 頁面提供裝置上安裝的所有 PWA 相關詳細資訊,並能告訴您資訊清單的上次更新時間、更新頻率等等。

如要手動安排資訊清單的更新時間,覆寫計時器和本機資訊清單,請執行下列步驟:

  1. 將裝置接上電源,並確認裝置已連上 Wi-Fi。
  2. 使用 Android 工作管理員關閉 PWA,然後使用 Android 設定中的「應用程式」面板強制停止 PWA。
  3. 在 Chrome 中開啟 about://webapks,然後按一下 PWA 的「Update」按鈕。「更新狀態」應變更為「待處理」。
  4. 啟動 PWA,並確認已正確載入。
  5. 使用 Android 工作管理員關閉 PWA,然後使用 Android 設定中的「應用程式」面板強制停止 PWA。

PWA 通常會在幾分鐘內更新,完成後,「更新狀態」應變更為「成功」

參考資料