0

If I have created multiple Alexa skills, is there a userId that would remain the same across all the skills? Specifically, if user does an action in Skill 1, I'd like to be aware of it for Skills 2 and Skills 3... and essentially allow the skills to share the same DynamoDB table.

Ideally I wouldn't require the user to do any sort of login, but it would know it's the same user based on a unique identifier tied to their Amazon account.

Simeon Leyzerzon
  • 18,658
  • 9
  • 54
  • 82

2 Answers2

3

No. About a year ago Amazon made specific changes to prevent you from doing that. You also can't identify a user who uninstalls your skill and then reinstalls it. You always get a new random user id.

The same thing has been happening for mobile development: Google and Apple are blocking access to anything that would allow you to ID a physical device, or to ID a user of different app installs without doing some sort of account linking - so I doubt Amazon is going to relax about this.

Tom
  • 17,103
  • 8
  • 67
  • 75
0

According to this part of the documentation, it should be possible by using the deviceId instead of userId:

device An object providing information about the device used to send the request. The device object contains both deviceId and supportedInterfaces properties. The deviceId property uniquely identifies the device. [...]

You find it as:

deviceId = this.event.context.System.device.deviceId

It is the same value you need to use for requesting the device address with the new address api. Hence, I don't see why it shouldn't work for your needs also.

mc51
  • 1,883
  • 14
  • 28