本系列将向开发者介绍如何从零开始,开发一款完整的 Alexa 技能,并详细介绍对接亚马逊开放平台语音服务的设计和编码过程。通过本文,您将学习如何在 Alexa Developer Console 中创建一个新的技能,并设计技能的交互模型、配置后端服务和实现前端逻辑。
前往亚马逊开发者门户网站(https://developer.amazon.com/zh/), 创建一个免费的开发者账号。
登录亚马逊开发者账号后,转到alexa控制台(https://developer.amazon.com/alexa/console/ask),控制台没有中文界面,点击 Create Skill(创建技能)按钮开始创建一个新的 Alexa 技能。
该页面主要由以下步骤:
上一步操作保存后,会直接跳转到技能配置页面。当然你也可以稍后再配置,因为亚马逊的语音控制需要配合 Lamdba 使用,而且每一个区域使用不同的端点, 所以首先得先配置Lamdba。
需要注意的是,为了最大限度地减少地区客户延迟问题,Alexa建议选择离目标客户最近的地理区域,并设置特定于地理位置的端点。比如 美国东部 选择 北弗吉尼亚州 托管Lambda函数。至写稿前,Alexa共提供3个地理区域用来单独配置North America、Europe, India、Far East。
这步只介绍概念,等下配置。
浏览器新打开一个窗口(https://us-east-1.console.aws.amazon.com/console),如果没登陆,登陆一下。
进入后台后,在左上角的服务搜索栏里面输入:Lambda,弹出来的菜单列表,选择进入Lambda模块。
点击 创建函数
4.0.0
com.demo
demo-alexa-func2
jar
2.0.1
demo-alexa-func2
1.8
UTF-8
1.8
1.8
cn.hutool
hutool-all
5.8.14
org.projectlombok
lombok
1.18.16
com.amazonaws
aws-lambda-java-core
1.2.1
org.apache.maven.plugins
maven-shade-plugin
3.2.4
false
package
shade
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
1.8
package com.demo.alexa.handler;
import cn.hutool.json.JSONObject;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import cn.hutool.core.util.BooleanUtil;
/**
* @author CaiCai
*/
public class AlexaSmartHomeHandler implements RequestHandler {
@Override
public Object handleRequest(JSONObject input, Context context) {
LambdaLogger logger = context.getLogger();
//获取环境参数
Boolean isTrace = BooleanUtil.toBoolean(System.getenv("trace"));
if(this.isTrace) {
logger.log("需要log");
}
else{
logger.log("不需要log");
}
//业务代码略
}
}
业务逻辑实现不属于本篇幅内容,故只写了个简单的几行代码。
修改处理程序的文本框,改为jar包中 处理函数的全类名 + 方法名,如下:
com.demo.alexa.handler.AlexaSmartHomeHandler::handleRequest
保存。
这个在2.1.2那一步完成后,在技能详情页面可以找到Your Skill ID
将 2.1.4中完成的Lambda的函数ARN 复制到 2.1.3中的alexa技能的默认端点,这里我暂时只配置一个区域。
点击ACCOUNT LINKING,进入该配置界面。
这里注意Your Authentication Scheme这个配置部分,如果想让client_secret通过request body传输,而不是通过header,则选择第二个Credentials in request body选项。
*Permissions
开启它,启用向alexa端点发送消息,这样技能将被授权异步响应Alexa指令并发送状态更改事件。
现在准备部分的配置完成了,后面进行具体的业务开发。
未完待续...
页面更新:2024-03-06
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号