Как обрабатывать высказывания вне домена в Amazon Alexa - PullRequest
0 голосов
/ 19 ноября 2018

У меня были разные намерения в навыке, я использую php в качестве сервиса.Все работает нормально, но если пользователь спрашивает высказывания, которые не настроены ни в одном из намерений, он должен перейти к другой части.

Например, код выглядит следующим образом: -

if($EchoReqObj->request->type=="LaunchRequest"){
  $text = "Testing launch";
  $array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false));
  echo json_encode($array);
 }
else if(getting the intent name){//Do something.}
else{

  $text = "In else part";
  $array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false),"sessionAttributes"=>array("lastSpeech"=>$text));
  echo json_encode($array);
}

Это else, которое я написал, но оно не выполняется.

1 Ответ

0 голосов
/ 20 ноября 2018

Alexa всегда пытается сопоставить с ближайшим намерением, независимо от того, что пользовательский ввод. Вы не получите IntentRequest без намерения. Поэтому, если у вас есть пять намерений, Alexa попытается сопоставить все высказывания пользователя с одним из этих пяти намерений навыка.

Ваша другая часть выполняется, когда Алекса вызывает намерение, которое не было обработано. Из вашего примера кода SessionEndedRequest может перейти в другую часть. Но если вы пытаетесь обрабатывать высказывания вне домена, вы должны использовать намерение AMAZON.Fallback и обрабатывать его в своем бэкэнде.

AMAZON.FallbackIntent

Если вы хотите обрабатывать запросы вне домена, или бред, или неожиданные высказывания, или когда пользователь говорит что-то, что не соответствует каким-либо намерениям в вашем умении, вы должны использовать предопределенный AMAZON.FallbackIntent. Это намерение использует модель вне домена, созданную на основе вашей модели взаимодействия, и предоставляет запасной вариант для высказываний пользователей, которые не соответствуют ни одному из намерений вашего навыка.

Подробнее о AMAZON.FallbackIntent здесь

...