首页 文章

当Google智能助理通过网络响应进行响应时,您如何允许用户取消?

提问于
浏览
2

我有一个与Silly Name Maker webhook example非常相似的Google Action(使用API.AI) .

但是,由于以下原因,我的应用被拒绝:

您的一项或多项操作不允许用户轻松退出对话 . 如果用户要求取消或退出,请确保您不会继续与用户交谈 . 当您说麦克风打开时停止,取消或退出时,它会响应“当然,取消”,关闭麦克风并退出 . 但是,当您在座席发言时尝试使用这些命令时,它会关闭麦克风并退出,但它并没有按照预期说“当然,取消” .

我的动作设置如下:

  • Welcome intent: 要求用户提供两个参数

  • Webhook response: 一旦提供了所有参数,webhook(结构化exactly like this Silly Name Maker webhook)将发送一个句子,然后立即结束对话 .

在欢迎意图期间,如果用户在座席发言时说“Okay Google,取消”,则会响应“Sure,cancelled”并退出 .

但是,当代理正在发出webhook响应时(来自 assistant.tell() ),如果你说"Okay Google, cancel"它将立即退出而不说"Sure, canceled."

How do I get the Google Assistant to say "Sure, canceled"? 我是否必须在API.AI中设置"cancel"意图,并在我的webhook上使用actionMap来处理用户的请求?

3 回答

  • 0

    使用assistant.ask(),不说,然后取消应该工作 . 你可以看看https://github.com/actions-on-google/actions-on-google-nodejs/blob/master/assistant.js

  • 0

    我知道这是一个老问题,但我仍然有一个答案 .

    如果需要,您可以捕获用户的“取消”类型请求,以播放您自己的“再见”消息,因为您的黄色突出显示的请求似乎需要 . (这是评论反馈吗?很奇怪......)

    如下所述:https://developers.google.com/actions/assistant/app-exits

    基本技巧是在Dialogflow中设置为“actions_intent_CANCEL”的“事件”配置的Intent .

    将其设置为“结束对话”(或者我认为它不起作用) .

    不要设置任何示例短语 .

    设置所需的“响应”,或将其设置为点击您的webhook .

    通过该设置,您可以获得“取消”请求,在应用程序退出时说出您想要的任何内容,最多可达60个字符(允许用户快速退出) .

  • 0

    目前,当您从自定义应用程序内部执行app.tell()时,无法打开麦克风 . 所以,没有办法打断响应 .

    只有短语“ok google”才能打开麦克风 . 所以你可以添加用户说“ok Google”来实现你的目标 . 这样您就可以处理自己应用中的中断 .

相关问题