ひとことで言うと
Web App Manifest(`manifest.json`または`manifest.webmanifest`)とは、WebサイトがPWA(Progressive Web App)として動作するための設定ファイルだ。アプリ名、アイコン、テーマカラー、表示モード(fullscreen/standaloneなど)をJSONで定義し、HTMLから`<link rel='manifest'>`で参照する。
このファイルがページに存在し、HTTPSで配信されている場合、ブラウザは自動でインストール可能なPWAと判断しホーム画面への追加バナーを表示する。AI生成ツールがPWAテンプレートを使って出力した場合に、意図せずこの挙動が発生することがある。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
HTML共有で関係する場面
社内レビュー用にHTTPSのURLを共有したとき、スマホで開いた担当者に「インストールしますか?」バナーが表示されると、レビューに集中できず混乱を招く。manifest.jsonを含めないか、`display`を`browser`に変更してスタンドアロン起動を無効化するだけでこのバナーを抑制できる。
manifest.jsonにはアプリアイコン画像のパスが記述されており、アイコンPNGファイルもフォルダに含める必要がある。共有zipにアイコンファイルが含まれていないと404エラーがコンソールに出るが、ページの表示自体には影響しない。レビュー用途なら気にせずプロジェクトの完成度確認に集中して問題ない。
よくある誤解
「Web App Manifestがあればオフラインで動く」という誤解がある。オフライン動作にはService Workerが別途必要で、Manifest単体ではオフライン機能は実現しない。Manifestはあくまでホーム画面追加時の見た目と起動方法を定義するだけだ。
「manifestを使うとApp StoreやGoogle Playに申請できる」というのも誤解だ。PWAとしてのWebインストールとストアへの申請は別の話で、ストアに出すにはTWA(Trusted Web Activity)やPWABuilderなど追加の対応が必要だ。AI生成の共有サイトにmanifestが入っていてもストアには自動で掲載されない。
安全に使うための注意点
manifest.jsonにはアプリの`start_url`が記述されており、これがホーム画面から起動するURLになる。共有先のドメインと`start_url`が一致しない場合、ホーム画面から起動すると想定外のURLに飛ぶことがある。ギガサイト便など一時URLで配信する場合は、manifest.jsonを含めないかstart_urlを`./`に変更しておくと安全だ。
manifest.jsonの`scope`が設定されているとPWAとして開いた際にスコープ外URLへのナビゲーションがブラウザで開き直される。例えばスコープが`/app/`に限定されているのに外部リンクを踏むとデフォルトブラウザが別途起動する。レビュー相手が混乱しないよう、共有版ではスタンドアロンモードを無効化してからURLを渡そう。
よくある質問
manifest.jsonをHTMLから削除せずにPWAインストールバナーだけ非表示にする方法はありますか?
manifest.jsonの`display`を`browser`に変更するだけでバナーが抑制されます。PWAとしてのインストール条件を満たさなくなるため、レビュー共有時に相手に余計なプロンプトが出なくなります。
AI生成コードにmanifest.jsonが含まれているかどうか、どうやって確認しますか?
HTMLの`<head>`内に`<link rel='manifest' href='...'>`が記述されているか確認してください。あるいはフォルダ内に`manifest.json`や`manifest.webmanifest`という名前のファイルが存在するかを確認します。
manifest.jsonのアイコン画像はどんな形式・サイズを用意すればいいですか?
最低限192×192pxと512×512pxのPNG画像を用意するのが標準的です。インストールバナーの表示にはこのサイズが必要ですが、レビュー共有のみが目的ならアイコン画像の有無はPWAインストール機能に関係するだけで表示には影響しません。