Trusted Web Activity 快速入门

Peter Conn
Peter Conn

Trusted Web Activity 的设置可能比较复杂,尤其是当您只想显示自己的网站时。本指南将指导您如何创建一个使用 Trusted Web Activity 的小型项目。

学完本指南后,您将:

  • 已使用 Bubblewrap 构建使用 Trusted Web Activity 并通过验证的应用。
  • 了解签名密钥的使用时间。
  • 能够确定 Android 应用的构建所使用的签名。
  • 了解如何创建基本的 Digital Asset Links 文件。

如需按照本指南操作,您需要:

  • Node.js 10 或更高版本。
  • 已连接并已针对开发进行设置的 Android 手机或模拟器。 如果您使用的是实体手机,请启用 USB 调试
  • 支持 Trusted Web Activity 的移动浏览器。
  • 您希望在 Trusted Web Activity 中查看的网站。

您可以为 Android 应用使用 Trusted Web Activity 来启动全屏浏览器标签页,而无需任何浏览器界面。此功能仅适用于您拥有的网站。您可以通过设置 Digital Asset Links 来证明所有权。

当您启动 Trusted Web Activity 时,浏览器会验证数字资产链接。如果验证失败,浏览器会回退到以自定义标签页的形式显示您的网站。

安装和配置 Bubblewrap

Bubblewrap 是一组库和一个 Node.js 命令行工具 (CLI),可帮助开发者使用 Trusted Web Activity 在 Android 应用内生成、构建和运行渐进式 Web 应用。

运行以下命令来安装 CLI:

npm i -g @bubblewrap/cli

设置环境

首次运行 Bubblewrap 时,它会提供自动下载并安装所需外部依赖项的选项。我们建议允许自动下载,因为这有助于确保正确配置依赖项。如需使用现有的 Java 开发工具包 (JDK) 或 Android 命令行工具安装,请参阅 Bubblewrap 文档

初始化并构建项目

初始化封装 PWA 的 Android 项目:

bubblewrap init --manifest=https://my-twa.com/manifest.json

Bubblewrap 会读取 Web 清单,要求开发者确认要在 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 界面,该界面使用 Bubblewrap 库来支持生成 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(相对于根目录)位置,以便浏览器正确验证您的应用。如需详细了解数字资产链接与签名密钥之间的关系,请参阅数字资产链接深度解析

检查浏览器

Trusted Web Activity 会尝试遵循用户的默认浏览器选择。 如果用户的默认浏览器支持 Trusted Web Activity,则会启动该浏览器。 如果上述条件不满足,则选择任何支持可信 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

后续步骤

希望您在遵循本指南后,能够正常使用可信 Web 活动,并且有足够的知识在验证失败时进行调试。如果不熟悉,请查看更多面向 Web 开发者的 Android 概念

接下来,您可以为应用创建图标。完成后,您可以考虑将应用部署到 Play 商店。