Web应用清单 - 应用信息

W3C 小组说明

关于本文档的更多细节
本版本:
https://www.w3.org/TR/2023/NOTE-manifest-app-info-20230821/
最新发布版本:
https://www.w3.org/TR/manifest-app-info/
最新编辑草案:
https://w3c.github.io/manifest-app-info/
历史记录:
https://www.w3.org/standards/history/manifest-app-info/
提交历史
编辑:
Aaron Gustafson (微软公司)
反馈:
GitHub w3c/manifest-app-info (拉取请求, 新建议, 开放建议)

摘要

本文档是 Web 应用清单 规范的补充成员注册表,这些成员为 应用清单 提供了额外的元数据。这些元数据可以用于数字商店或其它发布、分发该 Web 应用的渠道,或者在 安装 Web 应用时,用于增强安装对话框。

本文档状态

本节描述了本文档在出版时的状态。当前所有 W3C 出版物名单和此技术报告的最新修订版本可在 W3C 技术报告索引中找到,网址:https://www.w3.org/TR/。

本文档持续更新,每次有更改都会发布新快照。有兴趣的读者可以在 manifest-app-info GitHub 仓库 订阅变更,甚至可提议新的清单成员。

本文档由 Web 应用工作组Note 路径作为集体注释发布。

本集体注释由 Web 应用工作组 认可,但不是由 W3C 本身或其成员认可。

本文件为草案,可能随时被更新、替换或废止。不建议将本文档作为除“进行中的工作”之外的引用来源。

W3C 专利政策 不对本文档施加任何许可要求或义务。

本文档受 2023年6月12日 W3C 流程文件 规范管理。

1. 可营销的 Web 应用

随着 Web 应用可通过更多服务(如数字商店、搜索结果)获取,并与原生应用一同展示,Web 应用呈现得与原生应用类似就变得非常重要。Web 应用可以在清单中定义自身的 nameicons,但这些字段无法提供足够的信息,帮助用户判断是否想要安装该应用。用户已经习惯于了解这些应用的更多详细信息,本文档定义了一些额外的清单成员以满足这一需求。

2. 补充清单成员

以下成员是对 应用清单成员的补充。这些成员被归类为补充成员,是因为它们不会在运行时应用在 Web 应用上(即它们仅为提示性,不影响用户代理如何展示已安装的 Web 应用)。所有成员均为可选,可以像如下示例一样添加在应用清单的根部。

示例 1:使用补充成员
{
  "name": "Donate App",
  "categories": ["fundraising", "donations"],
  "description": "This app helps you donate to worthy causes.",
  "iarc_rating_id": "e84b072d-71b3-4d3e-86ae-31a8ce4e53b7",
  "screenshots": [{
    "src": "images/screenshot.png",
    "sizes": "800x600",
    "platform": "windows",
    "label": "Lots of organizations to donate to"
  }]
}

由于应用清单为 JSON 格式,本文规范的成员类型为 对象数组字符串,详见 JSON 数据交换格式第 2 版

2.1 categories 成员

categories 成员是数组,包含描述该 Web 应用所属类别的字符串。目的是为展示 Web 应用的目录或商店提供参考,这些平台会尽力选择最合适的类别(或类别)将 Web 应用归类。像搜索引擎和元关键词一样,目录和商店并不要求必须采纳这个提示。

建议清单作者使用小写字母。

已知类别列表:

:新增类别

如需添加更多类别,请在 manifest-app-info GitHub 仓库 提 bug 或提交拉取请求。

2.2 description 成员

description 成员为 字符串,允许开发者描述 Web 应用的用途,并作为可访问性描述被用于已安装的 Web 应用

2.3 iarc_rating_id 成员

iarc_rating_id 成员为 字符串,表示该 Web 应用的 国际年龄分级联盟(IARC) 认证码。可用于判断适合应用的用户年龄段。

IARC 证书可通过参与的应用商店获得,用于发布 Web 应用。iarc_rating_id 成员只接受一个认证码。如果分发的产品未发生实质性变化(如没有基于 UA 检测分发完全不同的代码)且其它商店支持此认证码,则可以在多家支持商店共用此码。

更多 IARC 相关信息可参考:IARC 工作原理开发者如何获得 IARC 评级

2.4 screenshots 成员

screenshots 成员是 screenshots 对象数组,用于展示 Web 应用的常见使用场景。

3. 截图对象及其成员

screenshots 对象是一个 ImageResource 对象,并包含下文所定义的额外成员。

3.1 label 成员

label 成员是 字符串,作为该可访问名称,用于 screenshots 对象 的可访问性。强烈建议为每个截图设置 label,该成员可作为截图的替代文本。

示例 2:使用补充成员
{
  "screenshots": [{
    "src": "images/screenshot.png",
    "sizes": "800x600",
    "form_factor": "wide",
    "label": "With Software, you can select a part of your screen and take a screenshot in seconds."
  }]
}

3.2 platform 成员

platform 成员是 字符串,用于表示该截图所适用的分发平台。只有当截图仅适用于特定场景时,建议作者才设置此成员。

:平台值使用建议

作者应当仅在截图并非代表通用体验时才设置 platform,例如截图包含仅特定操作系统可用的功能时,才使用针对指定平台的值。

用户代理可以展示任意数量的截图,但不应显示与自身平台无关的截图(如 Google Play 不应显示 iOS 专用截图)。

如果未设置 platform,用户代理应假定该截图适用于所有平台。

用户代理可通过截图的长宽比(sizes)判断截图是否适合展示。

操作系统专用 platform 取值列表:

android
用于 Google Android
chromeos
用于 Google ChromeOS
ipados
用于 Apple iPadOS
ios
用于 Apple iOS
kaios
用于 KaiOS
macos
用于 Apple macOS
windows
用于 Microsoft Windows
xbox
用于 Microsoft Xbox

与应用分发平台相关的 platform 取值列表:

chrome_web_store
Google Chrome Web Store
play
Google Play Store
itunes
iTunes App Store
microsoft-inbox
随 Microsoft Windows 预装
microsoft-store
Microsoft Store
:新增平台

如需添加更多 platform,请在 manifest-app-info GitHub 仓库 提 bug 或提交拉取请求。

3.3 form_factor 成员

form_factor 成员是 字符串,表示适用截图的设备屏幕形态。仅在截图适用于特定场景时建议使用此成员。

:form_factor 使用建议

仅在截图不能代表通用体验时才建议用 form_factor,如布局/设计会因为屏幕方向不同而不同,可分别用 "narrow" 或 "wide"。

用户代理可以展示任意数量的截图,但不应显示与自身 form factor 不符的截图(如手机不应展示 "wide" form_factor 的截图)。

若未设置 form_factor,用户代理应假定截图适用于所有形态。

form_factor 可用值列表:

narrow
仅适用于窄屏的截图(如手机等移动设备)。
wide
仅适用于宽屏的截图(如信息展示屏等)。

A. 国际化

本节为非规范性内容。

预期作者将根据Manifest 规范中概述的方法对本文档中所有文本字符串内容进行本地化处理。

B. 致谢

感谢 Rob Dolin 率先推动了大量相关工作,特别是 iarc_rating_id 成员,并感谢 Kenneth Rohde Christiansen 对这些想法的审核和支持。

我们还要感谢以下贡献者:Christian Liebel、Julien Cayzac、Marcos Cáceres、Thomas Steiner、吴晓倩、唐娅婧

C. 索引

C.1 本规范定义的术语

C.2 引用中定义的术语

D. 参考文献

D.1 参考性文献

[accname-1.2]
可访问名称与描述计算 1.2 (Accessible Name and Description Computation 1.2)。Bryan Garaventa;Joanmarie Diggs;Michael Cooper。W3C。2019年7月11日。W3C 工作草案。URL: https://www.w3.org/TR/accname-1.2/
[appmanifest]
Web 应用清单 (Web Application Manifest)。Marcos Caceres;Kenneth Christiansen;Matt Giuca;Aaron Gustafson;Daniel Murphy;Anssi Kostiainen。W3C。2023年5月2日。W3C 工作草案。URL: https://www.w3.org/TR/appmanifest/
[ECMA-404]
JSON 数据交换格式,第2版 (The JSON Data Interchange Format, 2nd edition)。Ecma International。2017年12月1日。标准。URL: https://www.ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf
[image-resource]
图片资源 (Image Resource)。Aaron Gustafson;Rayan Kanso;Marcos Caceres。W3C。2021年6月4日。W3C 工作草案。URL: https://www.w3.org/TR/image-resource/