【问题标题】:Tracking userId across multiple Alexa skills跨多个 Alexa 技能跟踪 userId
【发布时间】:2017-05-05 08:08:06
【问题描述】:
如果我创建了多个 Alexa 技能,是否有一个 userId 在所有技能中都保持不变?具体来说,如果用户在技能 1 中执行操作,我希望了解技能 2 和技能 3 的操作......并且基本上允许技能共享同一个 DynamoDB 表。
理想情况下,我不会要求用户进行任何类型的登录,但它会根据与他们的亚马逊帐户绑定的唯一标识符知道它是同一用户。
【问题讨论】:
标签:
amazon-dynamodb
alexa
alexa-skills-kit
alexa-skill
【解决方案1】:
没有。大约一年前,亚马逊进行了特定更改以防止您这样做。您也无法识别卸载您的技能然后重新安装它的用户。您总是会得到一个新的随机用户 ID。
移动开发也发生了同样的事情:Google 和 Apple 正在阻止访问任何可以让您识别物理设备或识别不同应用安装的用户而无需进行某种帐户链接的东西 - 所以我怀疑亚马逊会对此放松。
【解决方案2】:
根据this part of the documentation,应该可以用deviceId代替userId:
设备
提供有关用于发送
要求。设备对象同时包含 deviceId 和
支持的接口属性。 deviceId 属性唯一
识别设备。 [...]
你发现它是:
deviceId = this.event.context.System.device.deviceId
这与您使用新地址 api 请求设备地址所需的值相同。因此,我不明白为什么它也不能满足您的需求。