alexa在技能调用上发送SessionEndedRequest

时间:2018-04-20 11:36:02

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

我正在开发一个alexa技能,并在亚马逊提供的alexa模拟器上进行测试,这将根据用户提供的关键字提供一些新闻。

我设置了一个关键词“< bbc news '作为调用。

一切都在过去2天正常运行,现在突然间,alexa模拟器自行发送了两个请求

在致电调用' bbc news '模拟器将 LaunchRequest 发送到我的服务器,然后在1秒内发送' SessionEndedRequest '到我的服务器自动。 我不知道发生了什么,我调试了我的PHP代码,但工作正常。

2 个答案:

答案 0 :(得分:0)

我只是遇到了类似的问题,经过几小时的更改,一切仍然无法正常进行。在AWS Lambda上,所有测试都已成功运行。这听起来很愚蠢,但是在测试页面(alexa模拟器)上显示的是,在以下位置启用了技能测试:,您有两个选择:发展 / 关闭

尝试切换关闭状态,然后再次选择开发。我100%确信它会以某种方式重置Alexa的模拟器当前状态,并使其对我再次正常工作。

答案 1 :(得分:0)

嗨,我在ALexa Echo节目中面临同样的问题。一旦我从echo show调用我的技能,它就会首先发送SessionEndedRequest,其原因是:USER_INITIATED,然后几秒钟后,它会自动发送另一个带有调用词和正确的IntentRequest的请求。

第一个答复:

{
  type: 'SessionEndedRequest',
  requestId: 'amzn1.echo-api.request.056129ac-6696-4928-98a7-b193cdf3301b',
  timestamp: '2020-10-20T04:21:12Z',
  locale: 'en-US',
  reason: 'USER_INITIATED'
}

此之后,IntentRequest请求会自动出现

{
  type: 'IntentRequest',
  requestId: 'amzn1.echo-api.request.4a731091-72c8-430d-91e9-e7db1a5c4d16',
  locale: 'en-US',
  timestamp: '2020-10-20T04:21:12Z',
  intent: {
    name: 'EveryThingIntent',
    confirmationStatus: 'NONE',
    slots: { EveryThingSlot: [Object] }
  }

这仅在alexa echo show中发生。从开发人员的测试仪表板和手机上的Alexa应用程序中,我仅收到IntentRequest