Предварительный просмотр на устройстве с данными 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" }
}