Favicon Tools検証作成
PWA
セットアップ

PWAアイコン: アプリをインストール可能にする

· 6 min read

インストールプロンプトはデザインの選択ではなく、チェックリストです。192や512のアイコンを1つでも忘れると、ブラウザは何も言わずにインストールの提案を拒否します。ここに正確なセットを示します。

インストールプロンプトはアイコンに左右される

ブラウザは、manifestが一連の要件を満たしたときにのみPWAのインストールを提案し、アイコンはその1つです。具体的には、icons配列に少なくとも192x192と512x512のPNGを含める必要があります。どちらかを忘れるとプロンプトは決して発火せず、ユーザーが気づくようなエラーも出ません。

192はランチャーアイコンです。512はスプラッシュ画面と高密度ディスプレイに使われます。どちらもその正確な寸法の実際のPNGである必要があり、CSSで引き伸ばした1枚の画像ではいけません。

インストール可能にする

  1. 1

    必須の2つのPNGを書き出す

    192x192のicon-192.pngと512x512のicon-512.pngを作成します。この2つがインストールプロンプトのチェック対象です。

  2. 2

    maskableバージョンを追加する

    マークをセーフゾーン内に中央配置し、周囲にパディングを付けた512x512を書き出し、purpose: maskableとして指定します。これでAndroidが円、squircle、角丸の四角に切り抜けます。

  3. 3

    すべてmanifestに記載する

    各アイコンをmanifestのicons配列にsrc、sizes、type、purposeとともに入れます。正確な形は下のコードを参照してください。

  4. 4

    manifestとapple-touch-iconをリンクする

    headに<link rel="manifest" href="/manifest.json">と、別途<link rel="apple-touch-icon">を追加します。iOSはmanifestではなく後者を読みます。

  5. 5

    プロンプトを検証する

    サイトをChromeで開き、インストールのコントロールが表示されるか確認し、ブラウザの開発者ツールのapplicationパネルでmanifestにエラーがないことを確かめます。

manifestのicons配列

{
  "name": "Your App",
  "short_name": "App",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#1a1a1a",
  "icons": [
    {
      "src": "/icon-192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icon-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icon-maskable-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ]
}

purpose anyの192と512がインストール要件を満たします。maskableのエントリは、Androidがマークを切り取らずにアイコンの形を整えられるようにします。

maskableが別になっている理由

Androidのランチャーは、デバイスのテーマが使う形に合わせてアイコンを切り抜きます。四角全体を埋める通常のアイコンは、角が切り落とされます。maskableアイコンはマークをパディング付きのセーフゾーンに中央配置しているので、ランチャーは重要な部分に触れずに端を切り抜けます。

maskableと並べて、purpose anyのアイコンも残しておきます。マスクしない表示面(タブ、タスク切り替え画面)はanyバージョンを使うので、余分なパディングが残らずに済みます。

よくある質問

PWAのインストールプロンプトが表示されないのはなぜですか?

アイコンに関する最も一般的な原因は、manifestのicons配列に192x192または512x512のPNGが欠けていることです。どちらも必須です。あわせて、manifestがリンクされ配信されているか、アプリがservice worker付きのHTTPS上にあるかも確認しましょう。

PWAにはどのアイコンサイズが必要ですか?

インストールプロンプトにはmanifest内の192x192と512x512のPNGが必須です。Android用に512x512のmaskableバージョンと、iOS用に180x180のapple-touch-iconを追加しましょう。

maskableアイコンは必要ですか?

Androidには必要です。ないと、ランチャーはフルブリードのアイコンを切り抜いて角を切り落とします。maskableアイコンはマークをセーフゾーン内に保つので、どんな形でも生き残ります。

manifestはiOSのホーム画面アイコンを設定しますか?

いいえ。iOSはホーム画面に追加についてmanifestのiconsを無視します。apple-touch-iconのlinkタグを使うので、manifestが完備していてもheadに1つ必要です。

Generate your icon set

Keep reading