🎉 我們上線了 Product Hunt!支持我們並給我們反饋
返回

PWA Manifest 產生器

填好欄位、上載一個正方形圖示,即可下載一份 manifest.webmanifest,內含 Chrome、Android 及 iOS 會用到的所有圖示尺寸。

識別資料

顯示在啟動圖示下方。Android 超過約 12 個字元就會截短。

行為

範圍以外的導覽會在瀏覽器開啟,而不是在應用程式內開啟。

外觀

在應用程式渲染出來之前,用作啟動畫面的底色。

圖示

Android 會按啟動器的形狀裁剪圖示,請把圖案保持在中央 80% 範圍內。

檢查結果

  • 必須填寫 name — 安裝提示顯示的就是這個名稱。
  • 必須填寫 short_name — 主畫面圖示的標籤就是它。

manifest.webmanifest

{
  "name": "",
  "short_name": "",
  "start_url": "/",
  "scope": "/",
  "display": "standalone",
  "theme_color": "#000000",
  "background_color": "#ffffff",
  "lang": "en",
  "icons": [
    {
      "src": "/icons/icon-72x72.png",
      "sizes": "72x72",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-96x96.png",
      "sizes": "96x96",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-128x128.png",
      "sizes": "128x128",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-144x144.png",
      "sizes": "144x144",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-152x152.png",
      "sizes": "152x152",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-180x180.png",
      "sizes": "180x180",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-384x384.png",
      "sizes": "384x384",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icons/icon-maskable-512x512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ]
}

加到你的 head 區段

<link rel="manifest" href="/manifest.webmanifest" />
<meta name="theme-color" content="#000000" />
<link rel="apple-touch-icon" href="/icons/icon-180x180.png" />

圖示預覽

上載圖示以產生整套圖示

網頁應用程式資訊清單的作用

資訊清單是把一個網站變成可安裝應用程式的 JSON 檔案。Chrome 讀取它來決定是否顯示安裝提示;Android 讀取它來取得啟動圖示與啟動畫面;iOS 則會讀取當中部分內容,用於主畫面。

Chrome 願意顯示安裝提示的條件

  • 已連結、並以 JSON 格式提供的資訊清單
  • 同時具備 name 與 short_name
  • 192×192 及 512×512 的圖示
  • display 設為 standalone、fullscreen 或 minimal-ui
  • 離線時仍能載入的 start_url
  • 網站以 HTTPS 提供

圖示尺寸及其用途

尺寸用於備註
192×192Chrome, Android — requiredInstall prompt
512×512Chrome, Android — requiredSplash screen
180×180iOSapple-touch-icon
384×384Android xxhdpi
152×152iPad
144×144Android xhdpi
128×128Chrome Web Store
96×96Android mdpi
72×72Android ldpiLegacy

Maskable 圖示

Android 會按裝置把啟動圖示重新塑形成圓形、方圓形或圓角正方形。普通圖示後面會被畫上一個白色方塊。Maskable 圖示則會填滿整張畫布,並把重要圖案保留在一個覆蓋寬度 80% 的置中圓形之內 — 外圍那 20% 是系統有機會裁走的留白。

常見問題

沒有出現安裝提示

檢查資訊清單有沒有在 head 區段連結、是否回傳 200、有沒有 192 及 512 的圖示,以及網站是否使用 HTTPS。Chrome DevTools → Application → Manifest 會列出欠缺了甚麼。

Android 圖示外圍有一個白色方塊

你欠缺 maskable 圖示。加入一個,並把 purpose 設為 maskable。

已安裝的應用程式在瀏覽器分頁開啟

start_url 落在 scope 之外,或者 display 被設成了 browser。

啟動畫面的顏色不對

background_color 在應用程式渲染前為啟動畫面上色;theme_color 則為狀態列上色。

Rocks Dev Dock 發布了 🥳

在工具內按 '+' 將您喜歡的工具添加到您的 dock。

使用我們的工具時不會收集數據,只是工具。