我正在使用Dialogflow和Firebase cloud函数开发一个聊天机器人应用程序。为了测试,我使用的是谷歌助理。当我在Google智能助理中运行该应用程序时,默认情况下,它会显示带有"取消"文本的建议输入。我为cancel
创建了一个意图,并为其添加了一个事件。执行应用程序时,如果我提供cancel
作为输入,那么它直接触发取消意图中提供的事件并退出应用程序。在我的应用程序中,如果我想取消付款或取消转账资金,那么我使用取消词作为训练短语,它只是取消付款而不是关闭应用程序。 有关参考,请找到随附的模拟器图像链接。
我已经检查了这些"取消"建议的实际来源。它是应用程序中的预定义建议文本。所以我无法找出它实际上是从哪里来的。
app.intent('askCancel', (conv) => {
conv.user.storage = {};
isBalanceCheck = isTransactionCheck = false;
deleteContext(conv);
conv.contexts.delete('ask-service-context');
conv.close("Thank you for using this application. Have a nice day.");
});
此取消意图结束对话。因此,在取消付款时,不应调用上述意图。
它应该执行取消付款并继续执行。谷歌助理
此处提供了有关对话退出的文档。
总之,当用户告诉 Google 助理"退出"、"取消"、"停止"、"没关系"或"再见"时,Google 助理将立即结束对话。
作为Actions on Google
开发人员,您唯一的选择是发送单个简单响应,其文本到语音转换和显示文本值限制为 60 个字符。
您正在尝试执行的操作 - 自己处理取消意图,然后继续对话 - 目前是不可能的。