Vis*_*hnu 9 amazon alexa-skill alexa-skills-kit
我创造了一项技能,以便人们可以跟踪某些状态.但不是每次都要求alexa打开应用程序并进行交互.
alexa ask grocerylist to add 2 eggs
alexa ask grocerylist to add bread
Run Code Online (Sandbox Code Playgroud)
我希望保持杂货店技能开放,以便用户可以与之互动,直到他们要求它关闭
alexa open grocerylist
.... 2 mins later
add 2 eggs
.... 1 min later
add bread
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,而不必alexa ask grocerylist
每次都使用.
Jos*_*nta 13
这是不可能的.这是一个安全功能,因此第三方无法创建一种技能来"倾听"某人所说的一切.您可以响应,如果您没有设置"endSession"标志,它将保持会话打开.但它只会保持打开约8秒钟.如果你设置了一个reprompt,它将在那时读取它们的reprompt并保持打开另外8秒.所以你可以保持线路打开的最大值是16秒左右.
这当然是可能的!(但@Bill 的评论最多可能会被限制在 8 秒左右)
在您的回复中,在调用 时buildSpeechletResponse
,设置shouldEndSession
为false
以便保持会话打开并继续侦听更多话语,而无需使用“alexa Ask MyApp...”再次启动该技能。
各种演示将展示如何做到这一点。例如,请参阅此处的示例代码:https://github.com/amzn/alexa-skills-kit-js/blob/master/samples/savvyConsumer/src/AlexaSkill.js