Предварительный просмотр на устройстве с данными JSON вызывает исключение

Тестирование простого навыка Alexa в инструменте Authoring с одним текстовым полем, получающим данные из вкладки "Data JSON", вызывает исключение при предварительном просмотре на устройстве. Однако то же самое прекрасно работает, когда я жестко кодирую данные непосредственно в шаблоне рендеринга.

У меня есть простой документ рендеринга только с одним типом текста. И JSON данных, имеющий только одно свойство, которое связывается с типом текста. Это хорошо отрисовывается на симуляторе Authoring tool. Тем не менее, он делает две ошибки при предварительном просмотре на устройстве -
1. Произошла ошибка при отправке шаблона на устройство.
2. Обнаружены ошибки JSON для компоновки и интеграции данных. Исправьте ошибки и снова посмотрите на устройство.

Если я удаляю привязку и добавляю текст прямо в документ рендеринга, предварительный просмотр работает.

Кроме того, образцы по умолчанию, доступные в инструменте авторинга, работают как симулятор на симуляторе и предварительном просмотре на устройстве.

Визуализировать документ
{ "type": "APL", "version": "1.0", "theme": "dark", "mainTemplate": { "parameters": [ "payload" ], "item": [ { "type": "Text", "color": "#FFFFFF", "text": "${payload.textTitle}" } ] } }

Данные JSON
{ "textTitle": "Hello how are you" }

Я думаю, что мне не хватает чего-то очень простого. Этот простой пример должен был сработать.

Я смотрю его на Echo Show 2-го поколения

1 ответ

Я играл в APL и столкнулся с этой же проблемой. Кажется, что datasource должен содержать объекты, а не примитивы. Так ${payload.titleText} не проходит какую-либо проверку схемы перед отправкой на устройство. И когда вы положите его в объект под datasourceнапример, ${payload.title.text}, без ошибок!

Следующее, кажется, работает для меня:

 {
  "type": "APL",
  "version": "1.0",
  "theme": "dark",
  "mainTemplate": {
    "parameters": [
      "payload"
    ],
    "item": [
      {
        "type": "Text",
        "color": "#FFFFFF",
        "text": "${payload.title.text}"
      }
    ]
  }
}

и эти данные:

{
  "title": { "text": "Hello how are you" }
}
Другие вопросы по тегам