Alexa Skill Handler State (Alexa.CreateStateHandler) 说明

Alexa Skill Handler State (Alexa.CreateStateHandler) explanation

我很难在网上找到这方面的信息。

有人可以向我解释将状态变量传递给

的目的吗
Alexa.CreateStateHandler(states.STATEVARIABLE, {})

那有什么作用?

如果你的技能有多个状态,你可以传递状态变量。让我用例子来解释它。 有语音技能,可以有3种状态

  1. 开始
  2. 播放
  3. 继续

如果我们从意图的角度来看,可以有多个意图,即启动、帮助等。您希望在不同状态下有不同的行为。例如 Help in:

  1. 开始状态:说'start audio'播放播客
  2. 播放状态:您正在收听音频#1。您可以播放下一个、上一个或停止
  3. 恢复状态:您正在收听音频#1。你想恢复吗?说是继续,不说停止。

所以我们要做的是通过 createStateHandler 创建多个状态,并在所有状态中添加 "Help" 意图。在后端数据库上,我们维护用户会话和状态的记录,其中 he/she 离开(请注意,这种情况下的默认状态将是开始状态)。

Alexa SDK (alexa-sdk) 对其进行管理并触发该特定状态的意图。

状态在不同情况下都有帮助,例如游戏、音频播放等,但如果多个状态不是您技能的要求,您可以忽略它。