2017-12-26 17 views
0

은 다음 startGameHandlers 코드가있다 : 나는 "예"와 함께 게임 및 응답을 시작하면알렉사-SDK의 response.listen (다시 메시지 음성)을 <a href="https://github.com/alexa/skill-sample-nodejs-highlowgame" rel="nofollow noreferrer">Alexa High Low Game Skill</a>에서

'AMAZON.YesIntent': function() { 
    this.attributes["guessNumber"] = Math.floor(Math.random() * 100); 
    this.handler.state = states.GUESSMODE; 
    this.response.speak('Great! ' + 'Try saying a number to start the game.').listen('Try saying a number.'); 
    this.emit(':responseReady'); 
}, 

, 나는에서 음성 출력을 듣고 Alexa "좋아! 게임을 시작하려면 숫자를 말해보십시오.". 응답이 없으면 "숫자를 말하십시오."라는 재확인 연설을 기대해야합니까? 알렉사가 연주 했어? 나가 관찰 한 무엇을 재발견 연설은 결코 실행되지 않는다이다.

Alexa는 세션이 닫히기 전에 얼마 동안 기다려야합니까? 그것은 내가 계속 빨리 응답해야하는 것 같습니다. 그렇지 않으면 세션이 닫힙니다.

답변

0

예, Alexa는 재확인 연설을해야합니다. 재송신은 8 초 후에 시작됩니다. 재시도 후에도 응답 할 시간은 8 초입니다. 이 시간 프레임이 지나면 세션이 닫힙니다.

재가동을 유발하지 않는 Alexa의 문제를 해결하려면 다음과 같이 응답을 보내십시오.

'AMAZON.YesIntent': function() { 
    this.attributes["guessNumber"] = Math.floor(Math.random() * 100); 
    this.handler.state = states.GUESSMODE; 
    var speechOutput = 'Great! Try saying a number to start the game.'; 
    var repromptSpeech = 'Try saying a number.'; 
    this.emit(':ask', speechOutput, repromptSpeech); 
}; 
+0

재발신 스피치에서 어떻게 응답합니까? – jdmdevdotnet

+0

에 따라 다릅니다. 응답은 새로운 의도입니다. 이는 다시 시작에 대한 응답이 의도를 유발한다는 것을 의미합니다. 이 특정 시나리오에서 나는 당신이 speechOutput/repromptSpeech에서 요구하는 값을 저장하는 슬롯을 추천 할 것이다. –