https://developer.amazon.com/public/solutions/alexa/alexa-skills -kit / docs / provider-home-cards-the-amazon-alexa-app#creatinga-basic-home-card-to-display-text
说我必须添加它对于JSON响应,我不知道JSON响应到底在哪里?
任何帮助都将不胜感激。
#1 楼
来自Amazon教程:使用Java库时:
创建SimpleCard对象。
调用对象的setTitle()和setContent()方法来设置标题和内容。
将card对象传递给
SpeechletResponse.newTellResponse()
or
SpeechletResponse.newAskResponse()
以获取包括卡片的SpeechletResponse 。
因此,基本上,在Java解决方案中,将json到Java函数调用中的数据放入代码中。
关于SpechletResponse的完整示例位于HelloWorldSpeechlet中。 >
您可以将现成的存储库用作Lambda函数的基础解决方案(以上代码是其中的一部分),并根据需要修改源代码。
您将使用在开发人员门户中的意图,例如创建Lambda函数。 Java(至少可以使用Node.js和Python),并使其在AWS中运行,并与Developer Portal中的技能一起映射。
之后是jsoning的位置:测试阶段。您将json数据推送到服务中,并在json中进行验证。
侧面说明:在卡片的情况下,响应中应包含卡片,因此在此上下文中放置json可能会导致误导。
您只能使Alexa服务生成它。
Java版本的Alexa技能,其中包含您需要的所有必需代码:
https://github.com/amzn/alexa-skills-kit-java/blob/master/README.md
#2 楼
部分创建基本的家庭卡以显示文本要创建简单的卡,请在JSON响应中包括
card
属性:将
type
设置为Simple
。将
title
和content
属性设置为要显示的文本。 在
“\r\n”
中使用“\n”
或content
插入换行符。 {
"version": "1.0",
"response": {
"outputSpeech": {"type":"PlainText","text":"Text to speak back to the user."},
"card": {
"type": "Simple",
"title": "Example of the Card Title",
"content": "Example of card content. This card has just plain text content.\nThe content is formatted with line breaks to improve readability."
}
}
}
grey
中的上述代码段是JSON代码段。请注意代码段中的"card":
文本。评论
但是我应该在哪里添加JSON?在lambda函数中?
–卡特曼
17年7月7日在19:28
#3 楼
在代码中,如果您使用的是node.js,它可能看起来像这样。const LaunchRequestHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'LaunchRequest';
},
handle(handlerInput) {
var reprompt = '';
const speakOutput = 'Protokollaufnahme gestartet.';
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt(reprompt)
.withSimpleCard('Protokollaufnahme', speakOutput)
.withShouldEndSession(false)
.getResponse();
},
};
卡片在响应中被初始化,如下所示:
.withSimpleCard('title', 'content')
与此自动将其添加到json输出中
评论
回答“哪里”的问题:Lambda函数的Java / python / Node.js代码中。
–mico
17年7月11日在19:30
这个例子是用Java编写的,其他人也有自己的古怪之处,即如何正确放置值,放置原理。
–mico
17年7月11日在19:31