无需登录 数据私有 本地保存

Web App Manifest 完整性验证 - 字段建议与图标检查

14
0
0
0

Web App Manifest 完整性验证

验证 manifest.json 字段完整性、图标配置,获取优化建议与 PWA 最佳实践评分

清单输入
直接粘贴 JSON 内容,或输入 manifest.json 的完整 URL 自动获取
快速参考:必需字段
name / short_name start_url display icons (≥192px)
推荐字段
description theme_color background_color scope lang

在左侧粘贴 manifest.json 内容,或输入 URL 获取后点击验证

支持自动检测字段完整性、图标规格与 PWA 最佳实践

常见问题与知识点
什么是 Web App Manifest?
Web App Manifest 是一个 JSON 文件(通常命名为 manifest.json),它为 Web 应用提供了关于应用名称、图标、启动方式、主题色等元数据。它是 Progressive Web App (PWA) 的核心组成部分,允许用户将网站"安装"到设备主屏幕,获得类似原生应用的体验。浏览器通过 <link rel="manifest" href="/manifest.json"> 标签来发现它。
manifest.json 中哪些字段是必需的?
根据 W3C 规范和浏览器实践,最低限度必需的字段包括:
nameshort_name — 应用名称(至少提供一个)
start_url — 应用启动地址
display — 显示模式(如 standalone、fullscreen)
icons — 至少包含一个 192×192 和 512×512 的 PNG 图标

缺少这些字段将导致浏览器无法正常触发安装提示,或在安装后体验不佳。
为什么需要 maskable 图标?
Maskable 图标是 Android 设备上自适应图标的关键。普通图标在 Android 启动器中可能被强制裁剪成各种形状(圆形、方圆形等),导致重要内容被切掉。设置 "purpose": "maskable"(或包含 "maskable" 的数组)并确保图标主体内容在安全区域内(通常为中心 80% 区域),可以让图标在不同设备上都能完整展示。Google 强烈推荐至少提供一个 maskable 用途的图标。
图标应该使用什么尺寸和格式?
推荐尺寸:72, 96, 128, 144, 152, 192, 384, 512 像素(正方形)。其中 192×192 用于主屏幕图标,512×512 用于启动画面和大型设备。每个图标可通过 sizes 字段声明一个或多个尺寸(如 "72x72 96x96"),也可以使用 "any" 表示矢量图标。
推荐格式:PNG(最广泛支持)、WebP(更小体积),或 SVG(配合 "any" sizes)。建议同时提供 "type": "image/png" 明确格式。
theme_color 和 background_color 有什么区别?
theme_color — 定义浏览器工具栏、状态栏的颜色(在 Android Chrome 中影响地址栏颜色),是应用的主题色
background_color — 定义启动画面(Splash Screen)的背景颜色,在应用加载前显示

两者通常设置为协调的颜色,但 background_color 应尽量与首页背景色一致,以减少闪烁感。建议都使用 #RRGGBB 格式的十六进制颜色值。
display 字段有哪些可选值?如何选择?
display 有四个标准值:
fullscreen — 完全全屏,无任何浏览器 UI,适合游戏
standalone — 独立窗口,有状态栏但无浏览器导航栏,推荐用于大多数 PWA
minimal-ui — 最小浏览器 UI(有前进/后退等基本按钮)
browser — 普通浏览器标签页体验

另有一个较新的 display_override 字段(数组),用于渐进增强,如 ["standalone", "minimal-ui"]
scope 字段的作用是什么?如何正确设置?
scope 定义了应用的导航范围。当用户导航到 scope 之外的 URL 时,会跳出 PWA 并在浏览器中打开。它限制了哪些页面属于"应用内"。
• 默认 scope 是 start_url 的目录路径
• 建议显式设置,例如 "/app/"(以 / 结尾)
• scope 必须与 start_url 在同一源
• 如果设置为 "/",则整个站点都在应用范围内
start_url 应该设置成什么?有哪些最佳实践?
start_url 是用户启动 PWA 时加载的地址。最佳实践:
• 设置为应用的首页或主入口,如 "/""/app/"
• 可以添加查询参数用于追踪,如 "/?utm_source=pwa"
• 必须是同源的相对路径或绝对 URL
• 建议在 start_url 对应的页面上正确设置 <link rel="manifest">,形成完整闭环