我保存了一个会话属性:

context.setSessionAttribute('RadioName', radioFound);


而且我用它来通过另一种方式搜索变量“结果”:

 context.alexaSkill().audioPlayer().play(result, 'First song').tell("I will play your radio");


我仍然需要在另一个意图中使用相同的属性radioName。但是,由于“告诉”结束了会话。这似乎是不可能的。
由于音频播放器无法正常工作,因此使用Ask而不是Tell不能正常工作。
有什么办法可以解决这个问题?
谢谢。

最佳答案

音频播放器的响应不会使会话保持打开状态,因此无法将数据保存在会话属性中。

我建议将数据持久保存在这样的数据库中:

this.user().data.radioName = radioFound;


为此,您需要建立一个数据库。默认情况下,本地文件用于本地原型制作。对于AWS Lambda,我们建议使用DynamoDB。

在此处了解更多信息:


Jovo用户类别:https://www.jovo.tech/docs/data/user#user-data
Jovo数据库集成:https://www.jovo.tech/docs/databases

10-06 12:00