У меня были разные намерения в этом навыке, я использую 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, который я написал, но он не выполняется.

0
b PRASANTH 19 Ноя 2018 в 23:19

1 ответ

Лучший ответ

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

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

AMAZON.FallbackIntent

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

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

1
Cicil Thomas 20 Ноя 2018 в 07:55