如何知道哪个echo点正在调用我的alexa服务

时间:2017-09-14 20:06:51

标签: alexa-skills-kit alexa-skill alexa-voice-service

我们正在努力为我们的办公楼建立一个alexa技能,以便在每个楼层的入口处部署一个回音点,帮助人们识别洗手间和会议室以及其他许多方向。我们成功实施了它。

我想知道如何在多个楼层使用相同的服务我怎么能知道alexa技能集中从哪个回音点调用我的技能。

如果用户要求提供洗手间说明,请说明。 Alexa需要确定他在一楼并告诉他要离开。如果他在二楼,则需要告诉他采取正确的行动。

此致 Kalyan

3 个答案:

答案 0 :(得分:0)

到目前为止,Alexa无法确定确切的位置。它可以找到的唯一位置是与帐户关联的地址。我能想到2个解决方案。

解决方案1 ​​: - 如果用户要求指示,那么您的Alexa技能可以向用户询问他们所在的楼层。

解决方案2 : - 您可以为每个楼层的每个回音创建多个技能组。假设一楼的回声可以提供一楼的方向,依此类推。

我更喜欢解决方案1,因为为每个楼层创建单独的技能可能不是一个好主意。但是,如果您不希望用户输入他们所在的楼层,他们会选择解决方案2.

答案 1 :(得分:0)

如果设备无法移动(永远或经常),我会查看设备ID。

亚马逊最近将设备ID(在所有设备上都是唯一的)添加到LaunchRequest JSON有效负载中。

{
  "session": {
    "new": true,
    "sessionId": "string",
    "application": {
      "applicationId": "string"
    },
  },
  "context": {
      "device": {
        "deviceId": "string",     
      },
  "request": {}
}  

我会有一个技能来查看请求设备ID(context.device.deviceId)并根据上下文提供正确的答案。

显然,您需要管理楼层和设备ID之间的映射,并在设备移动时更新该映射。

答案 2 :(得分:0)

大约一年前,我在与亚马逊的办公时间会议期间问过这个问题。我被告知他们的目的是阻止Alexa了解它运行的设备是否有任何意义。

此后亚马逊增加了有限的功能,允许Alexa技能了解特定用户及其设备。有可能在技能中映射特定设备,但这听起来有点棘手和脆弱。

更强大的方法是上面的Vijayanath解决方案2。我相信这也需要每个Echo都在一个单独的帐户上。我不知道有任何方法可以将技能部署到特定设备而不是所有其他设备。

我去年用这种方法制作万圣节服装,让我的肩膀上有2个点对同样的话语作出不同的反应(想想动物屋的场景)。只有2个设备,这个工作正常。根据您打算使用的设备数量,这可能会非常麻烦。