8

我希望能够通过 Google Assistant 的语音命令启动我的 Android 应用程序的某些功能(“开始”、“停止”)。

  1. 从 Google 助理启动这些功能的后续步骤是什么?
  2. 此开放应用功能支持哪些自然语言查询?

我已集成actions.intent.OPEN_APP_FEATURE到我的应用程序中,并通过 Android Studio 中的应用程序操作测试工具对其进行了成功测试。

我的actions.xml

<?xml version="1.0" encoding="utf-8"?>
<actions>
    <action intentName="actions.intent.OPEN_APP_FEATURE">
        <fulfillment urlTemplate="http://www.my-app.com/{?featureName}">
            <parameter-mapping
                intentParameter="feature"
                urlParameter="featureName" />
        </fulfillment>

        <parameter name="feature">
            <entity-set-reference entitySetId="FeatureEntitySet" />
        </parameter>
    </action>

    <entity-set entitySetId="FeatureEntitySet">
        <entity
            name="@string/start_capture"
            identifier="START" />
        <entity
            name="@string/stop_capture"
            identifier="STOP" />
    </entity-set>
</actions>

当向 Google Assistant 询问类似“从 MyApp 打开开始”之类的问题时,我期待的行为与通过 App Actions Test Tool(打开应用程序的功能)进行测试时的行为相同,但 Google Assistant 提供了通用的网络结果。

4

2 回答 2

4

事实证明,有一个错误阻止了从 Google 助理触发开放应用程序功能。

于 2019-06-25T07:14:06.677 回答
1

根据OPEN_APP_FEATURE的文档:

支持的实体

您必须为 指定实体feature

因此,您应该尝试使用inline inventory提供您的应用程序支持的feature参数值。这使您可以告诉助手该参数的期望值。这里的示例应用程序中也有一个示例。

文档肯定应该有示例查询来更好地指导如何测试这个(看看我们是否可以得到更新)。

我相信您正在测试的内容应该有效 - “在 MyApp 上打开 [功能]”。如果它不是通过语音工作,而是通过测试工具工作,那么这可能是一个错误。唯一需要检查的是在测试工具中设置的调用名称是否与您正在测试的名称相匹配(上面的“MyApp”)。否则,您可以在此处提交错误。

于 2019-06-20T13:14:43.380 回答