alexa 在技能调用时发送 SessionEndedRequest

Posted

技术标签:

【中文标题】alexa 在技能调用时发送 SessionEndedRequest【英文标题】:alexa sending SessionEndedRequest on skill invocation 【发布时间】:2018-10-01 02:51:39 【问题描述】:

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

我将关键字“bbc news”设置为调用。

过去 2 天一切正常,今天突然 alexa 模拟器发送两个请求

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

【问题讨论】:

你能同时发布这个请求和响应吗? 我现在也有同样的问题。你找到解决办法了吗? 每个遇到过这个问题并发布过这个问题的人都在没有解决方案的情况下死了,再也没有人听到过。有什么词吗? 同样的问题,你解决了吗? 我遇到了很多问题,包括 Alexa 语音在句子中间停止,有时还有这个发布的问题。这似乎是由有故障的 Echo 装置引起的。 【参考方案1】:

我刚刚遇到了类似的问题,经过几个小时的更改,它仍然无法正常工作。在 AWS Lambda 上,所有测试都成功运行。这听起来很愚蠢,但在测试页面(alexa 模拟器)上,它在顶部显示技能测试已启用:,您有两个选项:开发 / 关闭

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

【讨论】:

【参考方案2】:

您好,我在使用 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

【讨论】:

以上是关于alexa 在技能调用时发送 SessionEndedRequest的主要内容,如果未能解决你的问题,请参考以下文章

Alexa 技能未发送正确的意图

Alexa 技能未在 Amazon Alexa 应用程序中调用,但可在开发控制台中使用

从 Amazon Alexa 技能包发送 HTTP 发布请求

使用自定义 alexa 技能或谷歌助手拨打电话

在 Alexa 技能中播放由 AWS api 网关创建的 mp3

如何为 Alexa 技能调用配置 MQTT (AWS IoT) 测试控制台?