亚马逊Alexa技能接入指南
一、准备工作
资源 | 用途 | 说明 |
---|---|---|
Alexa控制台账号 | 创建Alexa技能 | https://developer.amazon.com/alexa/console/ask |
Amazon云账号 | 创建lambda函数 | https://console.aws.amazon.com/lambda/home |
域名白名单 | Alexa在访问第三方API时有白名单限制 | 在技能的授权、控制、查询请求阶段,访问三方云服务的所有域名。 |
自有App的Key/Secret | Alexa访问RTCX平台的密钥 | 在开发者平台上申请的Android的App Key/App Secret,请参考查看密钥。 |
自有App英文名 | Alexa技能名称 | 自有App英文名。 |
自有App图标链接 | 账号关联时登录页面 | 矢量图,需提供图标URL链接。 |
自有App登录账号 | 测试使用 | 自有App的登录账号及密码。在测试阶段需要关联alexa测试。 |
测试设备 | 测试使用 | 测试设备已绑定到上面的测试帐号。 |
二、在Alexa控制台创建Skill
1. Create Skill
(1) 注册Alexa账号,并登录Alexa开发控制台。
(2) 点击“Create Skill”按钮,开始创建新的SKILL,Skill name建议使用【自有App英文名】 。
(3) 点击“Next",如下图所示,选择“Smart Home”。
(4) 点击“Next"按钮,确认输入信息,如下图所示。
(5) 点击“Create Skill"按钮,创建技能。
2. Skill Build
(1) SMART HOME
参数 | 说明 | 建议值 |
---|---|---|
Payload version | Payload的版本号 | v3 |
Your Skill ID | 记录这个信息备用(在开发者平台填写时需要) | - |
Default endpoint | 默认Lambda ARN | 建议填弗吉尼亚北的Lambda ARN,请参考在AWS创建Lambda函数 |
North America | 北美区域 | 在弗吉尼亚北(北美)部署的Lambda ARN |
Europe, India | 欧洲区域 | 在爱尔兰(欧洲)部署的Lambda ARN |
Far East | 远东区域 | 在俄勒冈(远东)部署的Lambda ARN |
(2) MODELS
(3) ACCOUNT LINKING
参数 | 说明 | 建议值 |
---|---|---|
Your Web Authorization URI | Alexa获取平台authCode | https://gateway.iotrtcx.com/ovc/authorize |
Access Token URI | Alexa获取access_token、refresh_token | https://gateway.iotrtcx.com/ovc/getToken |
Your Client ID | Alexa调用OAuth2接口时使用 | 填写自有App的安卓的App Key |
Your Secret | Alexa调用OAuth2接口时使用 | 填写自有App的安卓的App Secret |
Your Authentication Scheme | 认证信息存放方式 | HTTP Basic |
Your Scope | 授权范围 | alexa_access |
Domain List | 访问的域名白名单 | gateway.iotrtcx.com rtcx-h5.iotrtcx.com |
Default Access Token Expiration Time | 默认access_token过期时间 | 7200 |
Alexa Redirect URLs | 记录这些地址备用(在开发者平台填写时需要) | - |
(4) PERMISSION信息
确保“Send Alexa Events”选项开启。并记录Alexa Client Id 和 Alexa Client Secret。
参数 | 说明 | 建议值 |
---|---|---|
Send Alexa Events | 主动上报事件到Alexa | 开启选项 |
Alexa Client Id | 记录这个信息备用(在开发者平台填写时需要) | - |
Alexa Client Secret | 记录这个信息备用(在开发者平台填写时需要) | - |
三、在AWS创建lambda函数
1. 部署Alexa lambda函数
- AWS 进入 lambda (弗吉尼亚北(北美), 俄勒冈(远东),爱尔兰(欧洲) 三个区域)https://console.aws.amazon.com/lambda/home
- 在三个区域各创建一个Lambda函数,运行时选择Nodejs任意版本,建议创建的lambda函数名以app名+区域命名,如:XXXXXXVirginiaLambda。
- 解压附件中的lambda函数三个区域的各自的部署包,上传部署包脚本。
- 添加Alexa触发器,填写进入skillId(从Alexa url 中或者 SKILL 界面中可以获取到),需要添加两个触发器,Alexa Smart Home 和Alexa Skills Kit。
- 启用触发器: 触发器添加后默认是启动状态,请保持启动状态。
2. 查看lambda函数日志
- 登录到lambda函数日志查看控制台https://console.aws.amazon.com/cloudwatch/home。
- 选择对应区域查看对应区域日志文件,alexa访问就近分配到三个不同的区域,请查看对应区域日志。
- 进入CloudWatch Logs页面搜索详情。
四、在RTCX开发者平台配置技能
在Alexa上创建好技能后,还需要在RTCX开发者平台上配置技能。
添加Alexa技能,需要切换到海外数据中心。
1. 创建技能
请参考创建技能,在平台创建相应技能。
2. 绑定产品
请参考绑定产品,在平台上绑定产品。
在绑定过程中,还需要我们技术一起配置产品技能相关指令,请提供“准备工作”中的内容给我们技术。
3. 技能调试
产品绑定后,可以在平台上进行调试,请参考技能调试。
五、测试验证
1. 准备工作
(1) 下载Amazon Alexa app
- iOS:需要准备一台可以访问海外App Store的苹果手机。
- Android: 需要准备一台可以下载Google应用商店Google Play的手机。
搜索Amazon Alexa App,并下载Alexa应用程序。
(2) 打开Alexa App,使用邮箱注册Alexa App账号。
(3) 将账号添加到Alexa技能测试白名单,并记录技能测试链接。
登录Alexa控制台,进入Distribution-->Availability-->Beta Test 页面
- 点击“Copy Link”按钮,获取测试链接,并记录
- 添加你的Alexa App账号,收到invite URL后用测试账号注册并登录到Alexa控制台完成确认
(4) 通过自有App绑定设备。
2. 测试技能
(1) 在Alexa App上完成账号关联。
- 在装有Alexa App的手机上,用浏览器打开技能测试链接,会自动跳转到Alexa App,并显示该技能的介绍信息。
- 在打开页面中,点击“Enable”按钮,正常情况下会跳转到登录页面。
- 输入自有App的测试账号和密码,即可完成关联。
(2) 在Alexa App上发现设备列表,观察是否能发现账号下的设备列表。
(3) 通过Alexa App控制设备,观察是否能完成对应的指令。
(4) 通过Alexa App或者Alexa音响语音控制设备,观察是否能完成对应的指令。
六、技能审核
1. 填写技能信息
点击“Distribution->English(US)”菜单,进入技能信息编辑页面。
字段 | 必填 | 说明 |
---|---|---|
Public Name | 必填 | 技能名称,用于展示给用户,建议与App名称保持一致 |
One Sentence Description | 必填 | 技能的简单描述,用于展示给用户 |
Detailed Description | 必填 | 技能详细描述,用于展示给用户 |
Example Phrases | 必填 | 语音指令示例 |
Category | 必填 | 选择SMART HOME |
Keywords | 可选 | 技能关键字,用于搜索 |
Privacy Policy URL | 必填 | 隐私政策的链接地址 |
Terms of Use URL | 可选 | 服务条款的链接地址 |
Small Skill Icon | 必填 | 技能小图(PNG/JPG,108x108,边距16px) |
Large Sill Icon | 必填 | 技能大图标(PNG/JPG,512x512,边距75px) |
Detail Page Video | 可选 | 技能详情页视频(MP4,1280x720) |
Video thumbnail | 可选 | 技能详情页视频(PNG/JPG,1280x720) |
Detail Page Images | 可选 | 5张图片(PNG/JPG,1280x800,小于20MB) |
2. 填写隐私信息
点击“Distribution->Privacy & Compliance”菜单,进入“Privacy & Compliance”页面。
填写所有隐私信息,勾选的内容可根据各厂商实际情况勾选。
3. 填写发行区域
点击“Distribution->Availability”菜单,进入“Availability”页面。
填写发行区域,一般选择默认全部区域。
4. 提交审核
- 点击“Certification->Validation”页面的“Run”按钮,可以检查所有必填项是否有遗漏。
- 点击“Cerfification->Submission”页面的“Submit for review”按钮,提交审核。