这片土地

Peter Conn
Peter Conn

Trusted Web Activity 存在许多生态系统,要 看看各方面之间有何关联,以及应该使用哪种方式。 本文旨在解决此问题。

如果您刚开始接触 Trusted Web Activity,或者只是在寻找我们推荐的一系列工具, 应用,但您需要注意以下事项:

  • Bubblewrap:一种 NodeJS 工具,可让开发者创建和构建符合以下条件的 Android APK: 用于封装现有 PWA。 生成的应用由 Trusted Web Activity 提供支持,但这对组织来说是透明的 开发者。无需 Android 开发经验。 查看 Bubblewrap 文档即可开始使用。
  • android-browser-helper:一个封装 Trusted Web Activity 的 Android 库 协议。 建议熟悉 Android 开发并希望使用 Trusted Web 的开发者 将 activity 作为其 Android 应用中的 activity 之一进行,或者对 activity 进行 (由 Bubblewrap 支持) 要开始使用 android-browser-helper,请查看相关文档和我们的演示

下一部分将简要介绍所有项目。 最后(对于真正好奇的人),我们会从历史版块中向你展示我们是如何来到这里的,以及我们是如何来到这里的 我们计划在不久的将来使用这些功能。

库概览

以下是您最终可能会使用的每个库的一句简短摘要:

  • androidx.browser,一个 Android 库,用于与用户设备上安装的浏览器交互 设备。
  • Android 浏览器助手:一个基于 androidx.browser 构建的库,用于实现 Trusted Web Activity 客户端提供便捷方法和合理的默认设置
  • Bubblewrap:一种可从 PWA 创建 Trusted Web Activity 的工具,而无需接触任何 Java 代码。

此外,这些库/工具会替换旧的库/工具:

历史记录

Android 支持库

Android 支持库通过新的 API 和兼容性扩展了 Android 平台。 功能。 它拆分为多个软件包,其中自定义标签页支持库包含 与用户系统上的浏览器交互的功能。 自定义标签页支持库的开发主要在 custom-tabs-client 中进行。 GitHub 代码库,并将更改向上游传送到 Android 支持库

自定义标签页是一种使用浏览器显示网页的 Android activity。 这对开发者的主要好处是可以设置主题并具有关闭按钮 仍然留在开发者的应用中(而不是离开应用,去进行完整的浏览) )。 作为一项 Android API,任何浏览器都可以支持自定义标签页,并将使用用户的默认 浏览器(但可由开发者覆盖此设置)。

由于 Trusted Web Activity 建立在自定义标签页之上,因此它们是在 此 custom-tabs-client 库。 当用户浏览归 是应用开发者 这样,您就可以将网站无缝集成到原生 Android 应用中, 用于开发所有功能均由网络提供的应用。

AndroidX

Android 支持库后来被更名为 AndroidX,后者本身是 名为 JetPack 的计划,旨在改善开发者体验。 因此,自定义标签页和 Trusted Web Activity 必须从自定义标签页支持库移至 新的 androidx.browser

我们在 custom-tabs-client 中编写的一些代码适用于 Trusted 库 网络活动帮助程序类,但不适用于 Android API。 用于处理过时的 Chrome 版本并提示用户更新或 决定如何存储数据无法迁移到 AndroidX。 因此,我们创建了一个替代库来包含 custom-tabs-client 的这些部分, androidx.browser 中也无法进入,因此 Android 浏览器助手就诞生了。

Android 浏览器帮助程序包含特定于浏览器(而非 我们愿意专门针对其他浏览器编写代码)并可以制定具体的决策 库不应该的做法 我们借此机会通常区分这两个库的角色:

  • androidx.browser 包含用于与设备上的浏览器交互的基本构建块 用户的系统。
  • Android 浏览器助手包含方便使用且合理的默认实现。

正在引导

开发者都是忙碌的人,要做很多工作,要按时完成任务。 为帮助解决这一问题,我们开发了两款工具,以便用户引导他们的 Trusted Web Activity。

第一个(也是最早的)是 svgomg-twa,它是 GitHub 托管的一个 Android 项目,用于启动一个 可信网络活动。 它最初设计为演示项目,后来发展成为更多模板。 用户可以克隆该代码库并修改 build.gradle 文件以指向自己的网站, 无需接触任何 Java 代码即可构建它并生成 Trusted Web Activity。 (使 Digital Asset Links 通过验证需要更多工作,请点击此处了解详情。)

svgomg-twa 最初依赖于 custom-tabs-client,后来迁移到 Android 浏览器助手(以及 androidx.browser)。

Bubblewrap 是最新最棒的工具,它是一种 Node.js 工具,可将您的 Web 应用作为 清单并为您生成 Trusted Web Activity。 这是根据现有 PWA 创建 Trusted Web Activity 最简单的方法,而且不需要 具备任何 Android 开发知识。

近期

我们即将弃用 svgomg-twa,原因有两个:

  • Bubblewrap 实质上为开发者生成已填写的 svgomg-twa。 它以交互方式执行此操作,并且可以从 Web 应用清单(PWA 的 可能已有的)。
  • 如果开发者希望获得关于如何从 Google Cloud 启动自己的 Trusted Web Activity 项目的参考, 也可以查看 Android 浏览器帮助程序的 demos 目录。

新开发者应改用 Bubblewrap 生成项目。 如果您已在使用 svgomg-twa 并进行了大量修改,则可以: 继续这样做,但不会收到更新。

我们计划尽可能改进 Bubblewrap 的功能,因此如果存在明显的功能缺失或 如果您遇到错误,请随时创建问题