Trusted Web Activity 设置起来可能有点棘手,尤其是当您只想实现 。 本指南将引导您创建使用 Trusted Web Activity、 涵盖所有问题
学完本指南后,您将能够:
- 使用 Bubblewrap 构建应用 (使用 Trusted Web Activity 且通过了验证)。
- 了解签名密钥的使用时机。
- 能够确定构建 Android 应用时使用的签名。
- 了解如何创建基本的 Digital Asset Links 文件。
若要按照本指南操作,您需要:
- 开发计算机上安装 Node.js 10 或更高版本。
- 连接了一部 Android 手机或模拟器并针对开发进行设置 (如果要启用 USB 调试,请启用 USB 调试。) 您使用的是实体手机)。
- 您的开发手机上支持 Trusted Web Activity 的浏览器。 运行 Chrome 72 或更高版本即可。其他浏览器也在陆续支持此功能。
- 您想要在 Trusted Web Activity 中查看的网站。
借助可信网络活动,您的 Android 应用无需 任何浏览器界面 此功能仅适用于您拥有的网站,您可以通过设置 Digital Asset Links。我们稍后会进行详细介绍。
在您启动 Trusted Web Activity 后,浏览器会检查 Digital Asset Links 检查 此过程称为验证。 如果验证失败,浏览器将回退为将您的网站显示为 自定义标签。
安装并配置 Bubblewrap
Bubblewrap 是一组库和一个命令 适用于 Node.js 的线条工具 (CLI),可帮助开发者生成、构建和运行渐进式 Web 应用 使用 Trusted Web Activity。
您可以使用以下命令安装 CLI:
npm i -g @bubblewrap/cli
设置环境
首次运行 Bubblewrap 时,它会提示自动下载并安装 所需的外部依赖项我们建议您允许该工具执行此操作,因为它可以保证 依赖项是否配置正确请参阅 Bubblewrap 文档,了解如何使用 现有的 Java 开发套件 (JDK) 或 Android 命令行工具安装。
初始化并构建项目
运行 init 命令可初始化封装 PWA 的 Android 项目:
bubblewrap init --manifest=https://my-twa.com/manifest.json
Bubblewrap 将读取网络清单, 要求开发者确认要在 Android 项目中使用的值,并使用 这些值生成项目后,运行以下命令生成 APK:
bubblewrap build
运行
构建步骤将输出名为 app-release-signed.apk
的文件。此文件可以安装在
用于测试的开发设备,或上传到 Play 商店进行发布。
Bubblewrap 提供了一个在本地设备上安装和测试应用的命令。使用 连接到计算机的开发设备,运行:
bubblewrap install
或者,您也可以使用 adb 工具 。
adb install app-release-signed.apk
该应用现在应该会出现在设备启动器上。打开应用时,您需要 请注意,您的网站是作为自定义标签启动的,而不是作为 Trusted Web Activity 的,这是 因为我们还没有设置 Digital Asset Links 验证,但首先...
Bubblewrap 的图形界面 (GUI) 替代方案
PWA Builder 提供使用“气泡封装”功能的 GUI 界面 库来为 Trusted Web Activity 项目的生成提供支持。查找有关如何 使用 PWA Builder 创建用于打开 PWA 的 Android 应用 这篇博文。
关于签名密钥的注意事项
Digital Asset Links 会考虑为 APK 签名的密钥,而验证失败的常见原因是使用了错误的签名。(请注意,如果验证失败,您的网站将以自定义标签页的形式启动,并且浏览器界面会显示在页面顶部。)Bubblewrap 构建应用时,将在 init
步骤中使用密钥设置创建一个 APK。不过,当您在 Google Play 上发布应用时,系统可能会为您创建另一个密钥,具体取决于您选择如何处理签名密钥。详细了解如何对密钥签名以及它们与 Bubblewrap 和 Google Play 之间的关系。
设置素材资源链接文件
Digital Asset Links 实质上是由您网站上的一个文件组成,该文件指向您的应用, 指向您网站的元数据。
创建 assetlinks.json
文件后,请将其上传到您的网站的 .well-known/assetlinks.json
(相对于根目录),以便浏览器可以正确验证您的应用。如需详细了解 Digital Asset Links 与签名密钥之间的关系,请参阅 Digital Asset Links 的深入探讨。
正在检查您的浏览器
Trusted Web Activity 将会遵循用户选择的默认浏览器。 如果用户的默认浏览器支持 Trusted Web Activity,则系统会启动该浏览器。 如果失败,则会选择安装支持 Trusted Web Activity 的任何浏览器。 最后,默认行为是回退到“自定义标签页”模式。
这意味着,如果您要调试与 Trusted Web Activity 有关的操作, 确保您使用的是您认为在用的浏览器。 您可以使用以下命令检查使用的浏览器:
> adb logcat -v brief | grep -e TWAProviderPicker
D/TWAProviderPicker(17168): Found TWA provider, finishing search: com.google.android.apps.chrome
后续步骤
希望您已按照本指南中的说明操作,拥有有效的 Trusted Web Activity,并且有足够的 在验证失败时调试相关知识。 如果没有,请查看更多面向 Web 开发者的 Android 概念,或提交 GitHub 问题 这些文档。
接下来,建议您先 为应用创建图标。 完成后,您可以考虑将应用部署到 Play 商店。