google 动作对话退出:不等待用户响应
google action conversation exit: not waiting for user response
我正在尝试使用操作 sdk 在 google 操作会话结束时寻求用户反馈。
根据操作文档 (https://developers.google.com/actions/assistant/conversation-exits),我设置了取消意图
"conversations" : {
...
"inDialogIntents": [
{
"name": "actions.intent.CANCEL"
},
...
在我的函数代码中,我调用了一个 SimpleResponse
,如下所示:
app.intent('actions.intent.CANCEL', (conv, input) => {
conv.close(new SimpleResponse({
speech: 'Kindly rate between 1 and 5,
text: 'Rate between 1 and 5'
}));
});
当用户说 goodbye
时,上面的代码被调用。可以听到语音并显示文本,但对话会立即退出并伴有耳标。
文档中提到系统会在退出前等待 2 秒,但它似乎会立即退出。有没有办法让它工作?谢谢
我不太清楚你想要实现什么。首先,只要你使用 conv.close()
方法,你就结束了对话。如果你想保持麦克风打开,你需要使用conv.ask()
方法。但我不确定您是否可以将 conv.ask()
与 actions.intent.CANCEL 一起使用,因为该事件的目的是让用户退出,而不是让对话继续进行。但我不是 %100 确定,你需要尝试一下。
如果您要实现的目标是这样的:
User: cancel
System: How would you rate our interaction?
User: Good.
earcon
然后,以我的愚见,你可能不应该(而且正如我所说,你可能不能)这样做。文档明确指出自定义退出行为的目的是:
to cleanup your fulfillment logic and respond to the user one last time.
此外,文档中没有说系统会等待用户响应 2 秒。它说请求的执行(执行超时)是 2 秒。加;如果用户在对话中取消,则很可能交互无论如何都不成功。我宁愿创建与后备意图和快乐路径相关的反馈对话回合。
不过,请尝试改用 conv.ask()
,如果可行请告诉我。 (请通过评论让我知道。)不过,无论哪种情况,我都会考虑通过其他方式获得反馈。
我正在尝试使用操作 sdk 在 google 操作会话结束时寻求用户反馈。
根据操作文档 (https://developers.google.com/actions/assistant/conversation-exits),我设置了取消意图
"conversations" : {
...
"inDialogIntents": [
{
"name": "actions.intent.CANCEL"
},
...
在我的函数代码中,我调用了一个 SimpleResponse
,如下所示:
app.intent('actions.intent.CANCEL', (conv, input) => {
conv.close(new SimpleResponse({
speech: 'Kindly rate between 1 and 5,
text: 'Rate between 1 and 5'
}));
});
当用户说 goodbye
时,上面的代码被调用。可以听到语音并显示文本,但对话会立即退出并伴有耳标。
文档中提到系统会在退出前等待 2 秒,但它似乎会立即退出。有没有办法让它工作?谢谢
我不太清楚你想要实现什么。首先,只要你使用 conv.close()
方法,你就结束了对话。如果你想保持麦克风打开,你需要使用conv.ask()
方法。但我不确定您是否可以将 conv.ask()
与 actions.intent.CANCEL 一起使用,因为该事件的目的是让用户退出,而不是让对话继续进行。但我不是 %100 确定,你需要尝试一下。
如果您要实现的目标是这样的:
User: cancel
System: How would you rate our interaction?
User: Good.
earcon
然后,以我的愚见,你可能不应该(而且正如我所说,你可能不能)这样做。文档明确指出自定义退出行为的目的是:
to cleanup your fulfillment logic and respond to the user one last time.
此外,文档中没有说系统会等待用户响应 2 秒。它说请求的执行(执行超时)是 2 秒。加;如果用户在对话中取消,则很可能交互无论如何都不成功。我宁愿创建与后备意图和快乐路径相关的反馈对话回合。
不过,请尝试改用 conv.ask()
,如果可行请告诉我。 (请通过评论让我知道。)不过,无论哪种情况,我都会考虑通过其他方式获得反馈。