首页 > 解决方案 > 在对话出口中保存数据

问题描述

我有一个谷歌操作应用程序,我正在尝试在对话之间保存一个变量。但是,如果调用取消意图(用户说退出、退出、取消等调用 actions_intent_CANCEL 事件),则此数据不会持续到下一次对话。我也有一个自定义的保存意图,它也退出了对话,但它工作正常。

这不起作用(意图与事件 actions_intent_CANCEL)

app.intent('Exit', (conv) => {
  if (conv.user.verification === 'VERIFIED') {
    conv.user.storage.avar = 'somevalue';
  }
  conv.close('Goodbye!');
});

但这有效(没有事件的自定义意图)

app.intent('Save', (conv) => {
  if (conv.user.verification === 'VERIFIED') {
    conv.user.storage.avar = 'somevalue';
  }
  conv.close('Goodbye!');
});

在这两种情况下,对话都会退出,并且在响应中存在变量的正确值。

"userStorage": "{\"data\":{\"avar\":\"somevalue\"}}"

但是,当我再次激活我的应用程序时,如果通过退出意图退出,则数据丢失或错误。有谁知道这是错误还是我做错了什么?

帮助表示赞赏!

标签: dialogflow-esactions-on-google

解决方案


推荐阅读