如何识别用户是否是第一次在 Alexa 中启动技能?

Veb*_*ito 3 java amazon echo alexa alexa-skills-kit

有什么方法可以识别用户是否是第一次启动技能?不使用后端数据库来存储访问信息?

例如,请求对象指定用户是否已授予权限。有没有办法还可以识别用户是否是第一次启动该技能?

{
   "version":"1.0",
   "session":{
      "new":true,
      "sessionId":"amzn1.echo-api.session.abc",
      "application":{
         "applicationId":"amzn1.ask.sabc3"
      },
      "user":{
         "userId":"amzn1.ask.account.AGQ"
      }
   },
   "context":{
      "System":{
         "application":{
            "applicationId":"amzn1.ask.skill.bb"
         },
         "user":{
            "userId":"amzn1.ask.account.AGQ"
         },
         "device":{
            "deviceId":"amzn1.ask.device.AHH",
            "supportedInterfaces":{

            }
         },
         "apiEndpoint":"https://api.amazonalexa.com",
         "apiAccessToken":"eysed"
      }
   },
   "request":{
      "type":"LaunchRequest",
      "requestId":"amzn1.echo-api.request.09b",
      "timestamp":"2018-10-15T17:03:03Z",
      "locale":"en-US",
      "shouldLinkResultBeReturned":false
   }
}
Run Code Online (Sandbox Code Playgroud)

小智 7

如果没有像Amazon S3这样的存储机制,恐怕是无法知道用户是否第一次启动了该技能。

是的,请求对象会告诉您用户是否提供了权限,但无法从访问令牌中确定该用户第一次使用该技能。