是否可以通过Google Assistant测试集成了App Action的Slice?

时间:2019-06-12 15:39:38

标签: android actions-on-google android-slices app-actions

我已在演示应用程序中实现了“应用程序操作”。一切正常,我可以使用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?如果没有,什么时候可以进行开发和测试?

2 个答案:

答案 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正常工作时,我的助手无法加载回复。