分发
发布于
PWA 通过四条渠道之一到达设备:浏览器自带的安装流程、上架 Google Play 的 Trusted Web Activity、Microsoft Store 的打包上架,或接入 Galaxy Store 的一个 URL。四条渠道跑的是同一份代码;不同的是谁来审核、谁绘制安装界面,以及更新如何到达用户。
每条渠道都在同一个源前面多加一个产物。浏览器渠道什么都不加;商店渠道加一个包,这个包唯一的职责是证明发布者拥有该源。
Android、Windows、macOS、ChromeOS 与 Linux 上的 Chromium 浏览器在满足可安装条件后提供安装入口:带图标的 manifest、位于 scope 内的 start_url、安全源,以及已注册的 Service Worker。在 Android 上,Chrome 会生成一个 WebAPK,让应用像原生应用一样出现在启动器与应用设置中。iOS 与 iPadOS 上的 Safari 通过共享菜单里的添加到主屏幕安装,没有提示事件。没有审核,没有目录;每次更新就是一次普通的服务器部署。
Google Play 上的 Trusted Web Activity
Section titled “Google Play 上的 Trusted Web Activity”Trusted Web Activity 是一个 Android 应用,其 Activity 在 Chrome 72 及以后中全屏打开你的源,与浏览器共享 cookie、存储和 Service Worker。信任来自 Digital Asset Links:站点在 https://example.com/.well-known/assetlinks.json 发布一条声明,relation 为 delegate_permission/common.handle_all_urls,target 写明 package_name 与签名证书的 sha256_cert_fingerprints。Google 写明放在「any other location, or with any other name」的声明列表无效。
Bubblewrap 负责生成项目:bubblewrap init --manifest <url> 读取你的 Web manifest,bubblewrap build 产出 app-release-signed.apk 与 app-release-bundle.aab,bubblewrap fingerprint generateAssetLinks 写出待上传的 assetlinks.json。它要求 Node.js 14.15 及以上与 JDK 17;CLI 首次运行时会提议自动下载 JDK 与 Android 命令行工具。PWABuilder 是同一内核上的网页前端。
验证失败时,Chrome 的快速入门写道:「the browser falls back to displaying your website as a Custom Tab」,页面顶部会出现浏览器界面。常见原因是指纹不匹配:Bubblewrap 用 init 时创建的密钥签名,而 Google Play 可能依你的签名设置用另一把密钥重新签名,其指纹也必须写进文件。这条渠道的代价是一次性的 Play 上架、一把必须保管好的签名密钥,以及商店政策中描述的付款政策。
Microsoft Store 打包上架
Section titled “Microsoft Store 打包上架”Microsoft Store 把 PWA 作为 Windows 包接收,没有原生壳。PWABuilder 把 URL 变成 .msixbundle 与 .classic.appxbundle;Partner Center 在提交流程的 Packages 步骤接收这两个文件。代码更新经你的服务器发布,不需要新包;manifest 变更(图标、名称、file_handlers、protocol_handlers、share_target)需要新包,因为 manifest 被复制进了包内。从 Store 安装的 PWA 的 start_url 被固定,跳转到区域域名会被视为超出 scope,Edge 在窗口顶部显示 URL 与页面标题;Microsoft 没有记录任何为 Store 安装关闭该栏的方法。
通过 URL 接入 Galaxy Store
Section titled “通过 URL 接入 Galaxy Store”三星 2019-10-24 的公告请开发者「send us the URL to pwasupport@samsung.com」;随后三星负责接入与图标授权,上架条目在 Samsung Internet 中打开 PWA。发布时条目「only visible in the US Galaxy Store」,到 2026-10 没有自助提交路径的文档。
| 渠道 | 审核 | 谁绘制安装界面 | 更新如何到达用户 |
|---|---|---|---|
| 浏览器安装 | 无 | 浏览器 | 下一次导航;Service Worker 更新周期 |
| Trusted Web Activity | Google Play 政策审核 | Google Play | Web 代码:下次启动;TWA 壳:Play 更新 |
| Microsoft Store 包 | Microsoft Store 认证(写明 24 至 48 小时) | 商店 | Web 代码:下次启动;manifest:新包 |
| Galaxy Store URL | 三星人工接入 | 商店 | 下次启动 |
同一页面写明了 assetlinks.json 变更何时生效:Android 15 及以后会在后台重新验证,「changes can take up to seven days to propagate」;Android 14 及以下只在应用安装或更新时重读文件。因此轮换指纹时,过渡期内文件里要同时保留两枚指纹。
- Trusted Web Activities(developer.chrome.com)
- Verify Android App Links(developer.android.com)
- Publish a PWA to the Microsoft Store(learn.microsoft.com)
- 商店政策
- Trusted Web Activity
- WebAPK
- 安装提示兼容性
← 返回生态总览。