Chrome でウェブアプリ マニフェストの更新を処理する方法

PWA のアイコン、ショートカット、色などのメタデータを変更するために必要なもの

PWA がインストールされると、ブラウザはウェブアプリ マニフェストの情報を使用して、アプリ名、アプリで使用するアイコン、アプリの起動時に開く URL を取得します。ただし、アプリのショートカットを更新したり、新しいテーマカラーを試したりする必要がある場合はどうすればよいでしょうか。これらの変更はいつ、どのようにブラウザに反映されますか?

ほとんどの場合、マニフェストが更新された後、PWA のリリースから 1 ~ 2 日以内に変更が反映されます。

パソコン版 Chrome の更新

PWA が起動されたとき、またはブラウザのタブで開かれたときに、Chrome はローカル マニフェストの変更が最後に確認された日時を判断します。ブラウザの最終起動以降にマニフェストがチェックされていない場合、または過去 24 時間以内にチェックされていない場合は、Chrome はマニフェストのネットワーク リクエストを行い、ローカルコピーと比較します。

マニフェストの特定のプロパティが変更された場合(下記のリストをご覧ください)、Chrome は新しいマニフェストをキューに追加し、すべてのウィンドウが閉じられたらインストールします。インストールすると、icons を除く新しいマニフェストのすべてのフィールドが更新されます。

更新がトリガーされるプロパティ

  • name
  • short_name
  • display(下記を参照)
  • scope
  • shortcuts
  • start_url
  • theme_color
  • file_handlers

display フィールドが更新されるとどうなりますか?

アプリの表示モードを browser から standalone に更新すると、既存のユーザーは更新後にアプリをウィンドウで開けなくなります。ウェブアプリには、マニフェスト(管理者側で制御)とウィンドウ/ブラウザのタブ(ユーザー側で制御)の 2 つのディスプレイ設定があります。ユーザーの設定は常に尊重されます。

マニフェストの更新をテストする

chrome://web-app-internals ページ(Chrome 85 以降で利用可能)には、デバイスにインストールされているすべての PWA に関する詳細情報が含まれます。マニフェストの最終更新日や更新頻度などを把握するのに役立ちます。

Chrome で更新されたマニフェストを強制的に確認するには、コマンドライン フラグ --disable-manifest-update-throttle を使用して Chrome を起動するか、Chrome を再起動します(about://restart を使用)。これによりタイマーがリセットされ、次回 PWA が起動されたときに Chrome で更新されたマニフェストが確認されます。次に、PWA を起動します。PWA を閉じると、新しいマニフェスト プロパティで更新されます。

参照

Chrome for Android の更新

PWA が起動すると、Chrome はローカル マニフェストの変更が最後に確認された日時を特定します。マニフェストが過去 24 時間以内にチェックされていない場合、Chrome はマニフェストのネットワーク リクエストをスケジュールし、ローカルコピーと比較します。

マニフェストの特定のプロパティが変更された場合(下記のリストをご覧ください)、Chrome は新しいマニフェストをキューに追加します。PWA のすべてのウィンドウが閉じられ、デバイスが電源に接続され、Wi-Fi に接続されると、Chrome はサーバーに更新された WebAPK をリクエストします。更新すると、新しいマニフェストのすべてのフィールドが使用されます。

更新がトリガーされるプロパティ

  • name
  • short_name
  • icons
  • 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 の [更新] ボタンをクリックします。[更新ステータス] が [保留中] に変わります。
  4. PWA を起動し、正しく読み込まれていることを確認します。
  5. Android タスク マネージャーを使用して PWA をシャットダウンし、Android 設定の [アプリ] パネルを使用して PWA を強制停止します。

通常、PWA は数分以内に更新されます。更新が完了すると、[更新ステータス] が [成功] に変わります。

参照