问题标签 [alexa-presentation-language]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
468 浏览

alexa - 在 Alexa 演示语言中禁用触摸包装器

在用户触摸屏幕的那一刻,我在 APL 中使用触摸包装器时遇到问题 - 它会完全暂停该技能。

我正在使用这个参考:apl touch wrapper doc

我在我的 json 文件中尝试了以下语法,但没有成功:

“禁用”属性似乎不起作用,我已经成功实现了 onpress 发送事件命令,所以我可以找到一种解决方法,但如果禁用属性刚刚工作会更好!

干杯!

0 投票
1 回答
61 浏览

alexa - 使用数据 JSON 在设备上预览会引发异常

在创作工具中测试一个简单的 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 上预览

0 投票
1 回答
949 浏览

node.js - 动态使用 Alexa 演示语言

我正在尝试使用Alexa Presentation Language。我想知道如何在 node.js中合并动态字符串(如Output SpeechTitle )(具体来说是Binding)。

如果我使用一些静态字符串outputSpeech并将其放入apl_template_export.json,则技能正常运行,我可以在设备显示中看到输出。但是当我尝试使用binding时,该技能失败了。虽然没有错误,但我在设备显示中也看不到任何输出(见图)。 在此处输入图像描述

这是我到目前为止一直在尝试的:

apl_template_export.json

如果我替换${dataSources.bodyTemplate1Data.textContent.primaryText.text}为实际文本(如"Hello World"),该技能将按预期工作。

我从这里这里参考了原始存储库:https ://github.com/alexa-labs/skill-sample-nodejs-level-up-riddles

谁能告诉我这里出了什么问题?

更新

我将text变量更改为:

我得到这个作为输出:

所以问题不在于渲染输出,而是模板无法加载dataSources,这是实际问题。

它甚至无法加载type其值已在模板中定义的变量。

0 投票
1 回答
242 浏览

alexa - Jovo Alexa 视频 onEnd 活动?

我正在尝试使用 Jovo 和 Alexa 的新 APL 播放视频。我遇到的问题是 Alexa 文档说他们可以收听 onEnd 事件,但它似乎没有触发?

https://developer.amazon.com/docs/alexa-presentation-language/apl-video.html#on-end

这是我的 APL 文档的样子

视频最后也挂了,好像直到技能超时?我不确定这是否是 Alexa 的 APL 处理视频的方式,或者可能是问题的征兆。

任何帮助是极大的赞赏!

编辑:这就是它在 Jovo 中的实现方式,这就是为什么我认为 APL 文档可能是问题所在。https://github.com/jovotech/jovo-framework/blob/5544dc587c8c344a133e1a4b2cb659b4319954b4/jovo-integrations/jovo-platform-alexa/src/modules/Display.ts#L154

0 投票
1 回答
865 浏览

visualization - 如何在 Alexa Echo Show 上显示图表或可视化?

有几种 Alexa 技能包括图表——CNBC 的 Alexa 技能甚至强调了这样一个事实,即它们与 Alexa 演示语言 (APL) 的集成允许用户查看图表:

现在通过 APL 集成,CNBC 技能可以在您最喜欢的 Alexa 设备上执行更多操作。使用图表可视化市场走势、查看市场快照、观看 CNBC 的最新视频等等!

然而,我在 Github 上找不到关于如何使用 APL 创建此类可视化的文档或代码。CNBC 是否使用了目前尚未公开的 APL 测试版功能?

0 投票
1 回答
244 浏览

command - 说话时呈现 Alexa 演示语言文档

我正在尝试在 Alexa 讲话时呈现 Alexa 演示语言文档。我尝试使用带有多个页面的寻呼机和 AutoPager 命令。我要解决的问题是,当 Alexa 开始讲话时会呈现文档,但在讲话结束时会启动命令,并且我希望看到三个页面在讲话时移动。我正在使用 RenderDocumet、executeCommand 和 responseBuilder 的 speak 指令。

文档模板:PagerDoc —>

和指令:

有人可以告诉我该怎么做吗?如果 Alexa 可以做到这一点?非常感谢和最好的问候,费尔南多

0 投票
0 回答
175 浏览

python - 如何在图像前向列表显示中使用 TouchWrapper 组件?

在文档中,内容不足以准确实现 TouchWrapper 组件。有谁能帮忙吗?

我已经提到 - https://developer.amazon.com/docs/alexa-presentation-language/apl-touchwrapper.html

https://medium.com/@punkpocko/alexa-apl-touch-wrappers-75d62784b3e8

这是 JSON- { "type":"TouchWrapper", "item":{ "type":"Text", "text":"", "color":"", "fontSize":"" }, "OnPress ":{ "type":"SendEvent", "arguments":[ "Desi Flavors", "Global Flavors" ] }

}

我希望输出结果是,如果选择 Desi Flavors,它应该存储在变量(盘)中。

0 投票
1 回答
93 浏览

alexa - Alexa Skill Flow Builder - 如何动态更新玩家数量

如何在 Alexa 技能流生成器中播放玩家计数?

  1. 选择一些玩家。接着
  2. Flow Builder 会根据玩家数量进行更新
  3. 在游戏中向每位玩家提问。

我应该从哪里开始?有没有办法让我根据一个插槽来扩展多个玩家的体验?我可以根据从老虎机获得的玩家数量动态更改体验流程吗?

0 投票
1 回答
92 浏览

alexa - 当 Alexa APL 出现“缺席”条件时

我有一个数据结构,如果我想显示它,它可以选择保存一个值。在我的示例中,它是“数量”字段。但是,如果设置了它,将显示两个块而不是一个块。错误在哪里?

我还尝试了条件:

  • data.quantity == 'undefined'
  • !data.quantity
  • (typeOf data.quantity) === 'undefined'

它们都不起作用。

0 投票
0 回答
331 浏览

alexa - Alexa APL Pager OnPageChanged 事件仅通过触摸触发

我创建了一个小示例项目来结合 OnPageChanged 事件测试 AutoPage 命令。但是,似乎只有当我自己触摸屏幕并更改页面时才会触发该事件。该事件不是由自动分页触发的。我在官方文档中找不到任何相关信息:https ://developer.amazon.com/de/docs/alexa-presentation-language/apl-pager.html#pager_on_page_changed_property 这是我的文档:

这就是我在代码中启动它的方式

这是我的事件处理程序:

正如我所说,只有当我自己触摸屏幕时,语音输出测试才有效。自动分页本身可以工作。它打算以这种方式工作吗?还是我做错了什么?