# 更丰富的安装 UI：用 description 与 screenshots 丰富安装提示

> 为清单 description 与 screenshots 字段提供取值后，这些取值仅会在 Android 上被加入安装提示，而浏览器默认的安装提示仅显示应用的名称和图标。

**一句话：** 默认情况下安装提示只包含应用的名称和图标；为 `description` 与 `screenshots` 清单字段提供取值会将这些内容加入提示，但仅限于 Android。

## 默认的提示

如果浏览器判断某个站点可以作为 PWA 安装，就会显示一些内置 UI——例如地址栏中的一个图标——用于安装该站点。如果用户点击它，浏览器会显示一个安装提示，其中至少包含应用的名称和图标。

## 用 `description` 与 `screenshots` 丰富它

如果清单为 `description` 和 `screenshots` 字段提供了取值，那么仅在 Android 上，这些取值会显示在安装提示中，为用户提供额外的背景信息和安装动机。

### `screenshots`

`screenshots` 是一个对象数组，每个对象都有必需的 `src` 属性，以及可选的 `sizes`、`type`、`label`、`form_factor`、`platform` 属性：

```json
{
  "screenshots": [
    {
      "src": "screenshots/mobile-home.webp",
      "sizes": "750x1334",
      "form_factor": "narrow",
      "label": "Mobile view showing weekly meal calendar"
    }
  ]
}
```

`form_factor` 用于标记某张截图适用于 `narrow`（如移动设备等窄屏）还是 `wide`（如桌面电脑等宽屏）。如果未指定 `form_factor`，该截图会被视为适用于所有屏幕类型。分发平台可以自行选择展示多少张截图。

## 并非运行时 API

`description` 和 `screenshots` 都不是功能性的清单字段：二者都是声明式元数据，供展示安装提示的平台读取，应用自身的运行时代码不会消费它们。

## 实用清单

- [ ] 提供 `description` 清单字段，以便 Android 的安装提示可以显示它。
- [ ] 仅当截图针对特定屏幕布局时才设置 `form_factor`（`narrow` 或 `wide`）；适用于所有屏幕类型的截图可以省略该属性。
- [ ] 不要期望 `description`/`screenshots` 会在 Android 以外的平台上丰富安装提示。

## 相关参考

- [Manifest categories](/zh/reference/manifest/categories/) — 另一个供应用列表类展示界面使用、而非在运行时使用的清单字段