受信任的 Web 活动的设置可能有点棘手,尤其是在您只想显示您的网站时。本指南将引导您创建一个使用受信任的 Web 活动的基本项目,涵盖所有需要注意的事项。
在本指南结束时,您将
- 已使用 Bubblewrap 构建了一个使用受信任的 Web 活动并通过验证的应用程序。
- 了解何时使用您的签名密钥。
- 能够确定您的 Android 应用程序正在使用哪个签名。
- 了解如何创建一个基本 数字资产链接 文件。
要遵循本指南,您需要
- Node.js 10 或更高版本安装在开发计算机上
- 已连接并设置为开发的 Android 手机或模拟器(如果您使用的是实体手机,请启用 USB 调试)
- 在您的开发手机上支持受信任的 Web 活动的浏览器
- 您想在受信任的 Web 活动中查看的网站
受信任的 Web 活动允许您的 Android 应用启动全屏浏览器选项卡,而无需任何浏览器 UI。此功能仅限于您拥有的网站,您可以通过设置数字资产链接来证明这一点。我们稍后将详细介绍。
当您启动受信任的 Web 活动时,浏览器将检查数字资产链接是否有效,这称为验证。如果验证失败,浏览器将回退到将您的网站显示为自定义选项卡。
安装和配置 Bubblewrap
Bubblewrap 是一套用于 Node.js 的库和命令行工具 (CLI),可帮助开发人员在 Android 应用程序中使用受信任的 Web 活动生成、构建和运行渐进式 Web 应用。
可以使用以下命令安装 CLI
设置环境
首次运行 Bubblewrap 时,它将提供自动下载和安装所需的外部依赖项。我们建议让工具执行此操作,因为它可以确保正确配置依赖项。请查看Bubblewrap 文档以使用现有的 Java 开发工具包 (JDK) 或 Android 命令行工具安装。
初始化和构建项目
通过运行 init 命令来初始化一个包装 PWA 的 Android 项目
Bubblewrap 将读取Web 清单,要求开发人员确认要在 Android 项目中使用的值,并使用这些值生成项目。生成项目后,通过运行以下命令生成 APK
运行
构建步骤将输出一个名为app-release-signed.apk
的文件。此文件可以安装在开发设备上进行测试或上传到 Play 商店以供发布。
Bubblewrap 提供了一个命令来在本地设备上安装和测试应用程序。将开发设备连接到计算机后,运行
或者,可以使用adb工具。
注意:**adb**
命令行工具位于**android_sdk/platform-tools/**
中的 Android 命令行工具中。
该应用程序现在可以在设备启动器上使用。打开应用程序时,您会注意到您的网站是以自定义选项卡而不是受信任的 Web 活动启动的,这是因为我们尚未设置数字资产链接验证,但首先...
Bubblewrap 的图形用户界面 (GUI) 替代方案
PWA Builder 提供了一个 GUI 接口,该接口使用 Bubblewrap 库来为受信任的 Web 活动项目的生成提供支持。在这篇博文中查找有关如何使用 PWA Builder 创建一个在 Android 应用中打开 PWA 的 Android 应用的更多说明。
关于签名密钥的说明
数字资产链接会考虑 APK 已使用哪个密钥签名,验证失败的一个常见原因是使用了错误的签名。(请记住,验证失败意味着您将以自定义选项卡的形式启动您的网站,页面顶部有浏览器 UI。)当 Bubblewrap 构建应用程序时,将使用init
步骤中设置的密钥创建一个 APK。但是,当您在 Google Play 中发布您的应用时,可能会为您创建另一个密钥,具体取决于您选择如何处理签名密钥。在签名密钥及其与 Bubblewrap 和 Google Play 的关系中了解更多信息。
设置您的资产链接文件
数字资产链接本质上是您网站上指向您的应用的文件以及应用中指向您网站的一些元数据。
创建assetlinks.json
文件后,将其上传到您网站上的。well-known/assetlinks.json
(相对于根目录)以便浏览器可以正确验证您的应用。查看有关数字资产链接的深入探讨,以获取有关它与您的签名密钥的关系的更多信息。
检查您的浏览器
受信任的 Web 活动将尝试遵循用户默认选择的浏览器。如果用户默认的浏览器支持受信任的 Web 活动,则将启动该浏览器。否则,如果任何已安装的浏览器支持受信任的 Web 活动,则将选择该浏览器。最后,默认行为是回退到自定义选项卡模式。
这意味着,如果您正在调试与受信任的 Web 活动相关的内容,则应确保您正在使用您认为正在使用的浏览器。您可以使用以下命令检查正在使用哪个浏览器
后续步骤
希望您遵循本指南后,将拥有一个可用的受信任的 Web 活动,并有足够的知识来调试验证失败时发生的情况。如果没有,请查看更多适用于 Web 开发人员的 Android 概念或针对这些文档提交 GitHub 问题。
对于您的后续步骤,我建议您首先为您的应用创建图标。完成此操作后,您可以考虑将您的应用部署到 Play 商店。