我很确定答案是"没有"但我认为无论如何我都会分享这个问题以防其他人有一个聪明的解决方法:)
我正在建立一个食谱动作,所以用户可以说"让我们做玉米饼汤"然后说"下一步"继续进行配方的下一部分。在每个步骤之间,当用户切割蔬菜等时可能会有一个长时间的停顿。是否可以让Home无限期地等待用户响应或等待几分钟?目前它会等几秒钟,然后说出类似的事情。抱歉,我并不理解这种反应"并最终放弃了行动。
强迫用户通过"好的,谷歌,让我跟厨师"一遍又一遍的行动非常烦人,我认为,需要在每一步之后立即结束对话,否则设备会挂起并说“对不起我不理解"。
更新
我通过滥用SSML找到了一种非常黑客的方法。有两个选项,您可以叠加<break/>
s
assistant.ask(`<speak><break time="120s"/><break time="120s"/></speak>`);
这实际上会导致Home发出非常奇怪的嗡嗡声。开发者可能想看的东西:D
另一个选项(避免使用无人机)是播放2分钟无声音频剪辑。根据文档,2分钟是<audio>
的限制,但您可以将它们叠加起来。我刚刚确认你可以让它坐在那里至少十分钟。
assistant.ask(`<speak><audio src="https://.../pause.mp3">hello</audio><audio src="https://.../pause.mp3"></audio></speak>`)
你可以直接与代理商直接对话,但是你可以说&#34; OK Google,[无论什么命令]&#34;并且该命令实际上将传递给代理。
答案 0 :(得分:1)
目前还没有办法让助理无限期地等待回应。
虽然技术上可行,但使用建议的解决方法延迟响应的应用程序无法通过审核流程 - policies document提及避免播放静音文件并与超过120秒的时间。
另一种方法可能是让您的应用记住食谱中的当前位置,但在每个步骤后结束对话。然后,您可以使用action invocation允许用户说出类似“#34;确定Google,请[您的应用名称]继续处方&#34;”,重新开始对话并听取下一步。< / p>
答案 1 :(得分:0)
没有,但最近公布的功能可能会帮助您做您正在尝试的事情。
回答时,您可以使用Media Control给出回复并播放音频文件。与使用您提供的SSML方法相比,这有几个优点:
音频播放完毕后,您会收到一个活动,因此您可以再次提示指南或提示,或提示您的操作仍然存在...然后播放更多音频你等等。
任何时候,用户都可以说&#34;嘿谷歌,下一步&#34;并且您的服务器将收到消息,您可以发送下一步。或者他们可以说&#34;嘿谷歌,重复那个&#34;并且您将收到 消息并可以重复说明。
他们还可以询问您可以回答的其他行动问题。