Alexa - ответ на AudioPlayer.PlaybackStarted вызывает ошибку

В моем навыке Alexa я транслирую файл MP3 через AudioPlayer Directive.

Когда файл начинает воспроизводиться, я получаю:

{
   "type": "AudioPlayer.PlaybackStarted",
   "requestId": "requestId",
   "timestamp": "2018-02-28T13:17:54Z",
   "locale": "en-US",
   "token": "tokenstring",
   "offsetInMilliseconds": 0
}

Моя служба не отвечает на это событие, но я сразу получаю эту ошибку:

{
   "type": "System.ExceptionEncountered",
   "requestId": "requestId,
   "timestamp": "2018-02-28T13:17:55Z",
   "locale": "en-US",
   "error": {
      "type": "INVALID_RESPONSE",
      "message": "An exception occurred while dispatching the request to the skill."
   },
   "cause": {
      "requestId": "amzn1.echo-api.request.8492b40e-1698-409f-8bed-61dc1f3de663"
   }
}

В документах говорится, что я не должен отвечать на это событие, но есть ли что-то обязательное, что мне нужно отправить обратно в Alexa? Может статус HTTP?


person Asaf Nevo    schedule 28.02.2018    source источник


Ответы (1)


Я нашла ваш вопрос, пока искала для себя такой же ответ.

Я также нашел некоторые заметки на форумах разработчиков Amazon о том, что некоторое время назад были внесены некоторые изменения, требующие ответа, но эта документация не была полностью обновлена ​​...

Я добавил это ниже, и это прояснило для меня проблему.

if(event.request.type == 'AudioPlayer.PlaybackStarted' || event.request.type 
== 'AudioPlayer.PlaybackStopped') {
     response = {
      "version": "1.0",
      "response": {
        "shouldEndSession": true
      }
    };
  }

Надеюсь, это поможет.

person daviemanchester    schedule 04.03.2018
comment
значит, вы добавляете в свой ответ только параметр shoudEndSession? - person Asaf Nevo; 04.03.2018
comment
Да, на данный момент, но я поставил под сомнение свою логику завершения сеанса, если контент воспроизводится. Я по-прежнему получаю какие-либо связанные встроенные намерения, такие как пауза и т. Д. По-прежнему требуется еще немного проб и ошибок. Раньше я отвечал пустым объектом JSON, поэтому теперь, по крайней мере, эти исключения удаляются из моих журналов. - person daviemanchester; 05.03.2018