我创建了一个技能,播放小音频使用音频标签,在SSML标签和音频之后,我问了几个问题给用户,无论他或她想听到其他东西,答案应该是是或否,我使用内置的YesIntent和NoIntent来处理用户的答案,并将问题状态存储在会话属性中。我创建了一个c#函数来处理请求,并将其放在azure函数上。我为beta测试启用了这项技能,并与少数测试人员分享。Alexa成功地播放音频和提问,如果只有一个请求或单个测试者对其进行测试,则按照我的工作流程进行。如果两个或更多的测试人员同时测试相同的技能,Alexa会话id将替换为最新的请求会话id。例如,测试仪T1请求Alexa技能,然后Alexa启动我的技能和给ABC123Tester1作为SessionID,并开始播放我设置的音频,2或3秒后测试仪T2开始相同的技能,然后Alexa启动我的技能和给123ABCTester2作为SessionID,在从Tester2的请求后,Tester1的SessionID被替换为Tester2 SessionID意味着Tester1的sessionID设置为123ABCTester2,在此之后,问题流是混乱的,就像1个问题被问到Tester1,然后它直接问第二个问题给Tester2等等。如果Tester2在Tester2之前向Alexa提供了答案,那么Alexa会向Tester2提出第三个问题,并向Tester1提出第四个问题。这是因为SessionID替换了。有没有办法解决这个问题。
任何帮助都将不胜感激。
请注意,起始音频长度约为15秒。
谢谢
Javed
发布于 2019-02-22 21:52:44
所以Alexa会话是没有问题的。Alexa维护每个用户的会话,而我试图在两个不同的系统上使用相同的用户id访问skill,这引发了一个问题。我尝试使用两个不同的用户id,同时访问相同的技能,但问题消失了。没有会话问题,技能按照我的工作流程执行。
https://stackoverflow.com/questions/54826778
复制相似问题