0

在创作工具中测试一个简单的 Alexa 技能,只有一个文本框从“数据 JSON”选项卡获取数据,在设备上进行预览时会引发异常。但是,当我直接在渲染模板中对数据进行硬编码时,同样可以正常工作。

我有一个只有一种文本类型的简单渲染文档。一个数据 JSON 只有一个与文本类型绑定的属性。它在创作工具模拟器上呈现良好。但是,在设备上进行预览时会引发两个错误 -
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 2nd generation 上预览

4

1 回答 1

0

我一直在玩 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" }
}
于 2019-01-28T03:42:19.960 回答