构建与应用有关的 Action(已废弃)

借助与应用有关的 Action,应用用户可以通过 Google 助理查询来触发 Android 应用中的现有功能。可通过以下五个主要步骤使用与应用有关的 Action 扩展 Android 应用:

  1. 确定要触发的应用内功能。
  2. 确定与该应用内功能匹配的内置 Intent (BII)
  3. 提供该内置 intent 的执行方式详细信息。
  4. 在测试设备上预览与应用有关的 Action。
  5. 请求审核和部署与应用有关的 Action。

如需尝试使用示例应用创建与应用有关的 Action,请按照借助与应用有关的 Action 将 Android 应用扩展到 Google 助理 Codelab 中的说明进行操作。

要求

在开始开发与应用有关的 Action 之前,请先满足以下要求:

  • 拥有能够访问 Google Play 管理中心的 Google 帐号。
  • 与应用有关的 Action 仅适用于发布到 Google Play 商店的应用。此外,请确保您的应用不打算在工作资料中使用,因为 Google Play 企业版不支持与应用有关的 Action。
  • 拥有一台 Android 实体设备用于测试与应用有关的 Action。虽然 Action 在搭载 Android 5(API 级别 21)的设备上也能运行,但我们推荐使用 Android 8(API 级别 26)或更高版本的操作系统。
  • 安装最新版本的 Android Studio
  • 使用相同的 Google 帐号登录 Android Studio、测试设备上的 Google 应用以及 Google Play 管理中心。
  • 长按主屏幕按钮,设置并测试 Google 助理能否在测试设备上正常运行。

确定应用功能

首先,选择您 Android 应用中的哪些 activity 适合通过与应用有关的 Action 访问。这些 activity 必须设置 Android 深层链接网址,并在 Android 应用清单中具有相应的 intent 过滤器。与应用有关的 Action 会使用 Google 助理生成的深层链接网址将用户直接引导至应用中的特定内容。

如需测试您的 activity 是否可访问以及是否可使用与应用有关的 Action 触发,请运行以下 adb 命令:

adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"

例如:

adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"

如果无法通过 adb 命令正确启动 activity,请检查以下内容:

  • 该 activity 是否在应用清单文件中具有 android:exported=true,以便可以通过 Google 助理使用 intent 进行启动。
  • 如果使用应用链接网址,请按照处理 Android App Links 中的所有步骤操作。

找到与应用功能匹配的内置 intent

查看内置 Intent 参考文档,找到适合您的用例的 BII。内置 Intent 会针对用户想要在应用中执行的任务对用户查询进行建模,因此需要查找与您应用中的关键功能和用户流匹配的 BII。例如,订餐应用比财务管理应用更有可能使用 actions.intent.ORDER_MENU_ITEM 内置 Intent。如果应用实现的 BII 与应用功能无关,可能会造成令人困惑的用户体验,继而可能无法通过与应用有关的 Action 的审核。

提供内置 intent 的执行方式详细信息

构建与应用有关的 Action 的主要工作就是为应用创建 actions.xml 文件,您将在此文件中指定所选的内置 Intent 及其对应的执行方式。BII 会针对任务为用户查询建模,执行方式则会向 Google 助理提供有关如何执行该任务的信息。

actions.xml 文件中,内置 Intent 表示为 <action> 元素,每个执行方式表示为一个 <fulfillment> 元素:

<actions>
    <action intentName="actions.intent.ORDER_MENU_ITEM">
        <fulfillment urlTemplate="exampleapp://browse{?food}">
            <parameter-mapping intentParameter="menuItem.name" urlParameter="food" />
        </fulfillment>
    </action>

    <action intentName="actions.intent.GET_THING">
        <fulfillment urlTemplate="exampleapp://search{?query}">
            <parameter-mapping intentParameter="thing.name" urlParameter="query"/>
        </fulfillment>
    </action>
</actions>

对于大多数内置 Intent,您可以根据 schema.org entity 从用户查询中提取 intent 参数。然后,您的应用会使用这些 intent 参数将用户引导至所需的功能。例如,上面的代码会将“thing.name”intent 参数映射到深层链接网址模板中的“query”网址参数。

如需详细了解有关创建 actions.xml 文件的重要信息,请参阅创建 Actions.xml。此外,架构页面也会介绍如何指定应用所需的参数值(称为目录)以及如何更新 AndroidManifest.xml 文件以引用 actions.xml 资源。

预览与应用有关的 Action

您可以使用应用的草稿版本进行测试。如需了解详情,请参阅准备工作和版本发布。我们强烈建议您在提交应用以供审核之前,先在草稿模式下进行测试。

在开发和测试期间,您可以使用与应用有关的 Action 测试工具测试与应用有关的 Action 是否适用于您的应用。与应用有关的 Action 测试工具是一个 Android Studio 插件,可在 Google 助理中创建与应用有关的 Action 预览(针对您的 Google 帐号)。使用该测试工具,可以通过为 BII 提供您希望从用户接收的输入参数,在测试设备上测试执行方式。

预览与应用有关的 Action 时,您还可以在设备本身上通过语音触发查询。此功能仅适用于与应用有关的 Action 的内置 intent 参考文档中列出的查询。建议您仅将语音触发用于演示目的,而不是常规测试。

请求审核和部署与应用有关的 Action

与应用有关的 Action 只有在经过审核并获得批准之后才能供用户使用。与应用有关的 Action 的审核不会影响 Android 应用在 Google Play 中的审核和部署状态。即使您的应用提交获得批准,您的 actions.xml 也可能仍在 Google 的审核中。

在您随后部署应用时,与应用有关的 Action 会保持激活状态。但是,重新部署的版本需要接受 Google 的审核。如果新版本无法正常工作或存在违反政策的问题,Google 保留为应用停用与应用有关的 Action 的权利。

如需提交与应用有关的 Action 以供审核,请执行以下操作:

  1. 满足与应用有关的 Action 的部署要求。这些要求有助于针对 Google 助理优化您的应用,并确保用户在使用与应用有关的 Action 时获得流畅的体验。
  2. 在 Google Play 管理中心内接受 Actions on Google 的服务条款(定价和分发范围 > 同意):

    Google Play 管理中心内的 Actions on Google 服务条款。

  3. 像往常一样上传应用(包含 actions.xml)到 Google Play 管理中心进行发布。

  4. 在您将应用上传到 Play 管理中心后,我们会通过 Play 管理中心的电子邮件与您联系,为您提供有关与应用有关的 Action 的审核状态的更多信息。