我已在演示应用程序中实现了“应用程序操作”。一切正常,我可以使用Google Assistant启动类似查询的特定屏幕
从鳄梨订购披萨
因此,我开始集成Slice。使用SliceViewer测试切片时,它工作正常。
但是当我尝试从Google Assistant调用Slice时,它不起作用。
这是actions.xml中的代码段
<action intentName="actions.intent.GET_ORDER">
<fulfillment
fulfillmentMode="actions.fulfillment.SLICE"
urlTemplate="content://my.food.service/status" />
<fulfillment
fulfillmentMode="actions.fulfillment.DEEPLINK"
urlTemplate="my://food/orders" />
</action>
我在Google Assistant中使用的查询来自documentation
- 问鳄梨检查我的订单
- 检查我在鳄梨上的订单
但都不行。
此外,在将上述代码段添加到actions.xml之后,我不再能够使用“ App Actions测试工具”插件。它说
预览创建错误状态代码:400消息:前提条件检查失败。 -动作“ actions.intent.GET_ORDER”的多个URL模板的必需参数为零。
我正在使用插件版本v1.1.0
所以我的问题是: 是否可以通过Google Assistant测试Slice?如果没有,什么时候可以进行开发和测试?
答案 0 :(得分:2)
正在通过Google Assistant测试Slice 有空吗如果没有,什么时候可以进行开发和测试?
是的,已经可以使用Studio测试工具通过Google Assistant开发/测试Slice实现。
您可以尝试删除DEEPLINK
履行模块,看看是否可行?因此,您的actions.xml
如下所示:
<action intentName="actions.intent.GET_ORDER">
<fulfillment
fulfillmentMode="actions.fulfillment.SLICE"
urlTemplate="content://my.food.service/status" />
</action>
说明:特定的<action>
必须具有一个,并且只有一个<fulfillment>
块具有零的<parameter>
块具有required=true
。为什么?因为这成为文档here中所述的“后备”实现机制:
您必须提供一个
<fulfillment>
,其中不包含任何必需的参数,例如 后备实现。
actions.intent.GET_ORDER
不接受任何参数,这意味着您只能拥有一个<fulfillment>
块,可以通过Slice或Deep Link来实现,而不能同时实现。
答案 1 :(得分:0)
我在使用Google助手测试切片时遇到了问题。 Deeplink正常工作时,我的助手无法加载回复。