从自有应用创建 Alexa 账号关联(可选)
Alexa 账号关联 (Account Linking) 功能允许用户从自有应用中关联 Alexa 账号。启用该服务后,用户可以享受以下功能:
注意 :如果您想要阅读开发文档,请参考 从移动应用创建 App to App 账号关联 。
已完成 Alexa 与 ESP RainMaker 的集成。详细步骤请参考 语音助手集成 。
如果尚未完成,请按照 语音助手集成 中的步骤完成 Alexa 集成。完成后,请回到此处启用 App to App 账号关联。
已部署 ESP-RainMaker-3P-Integration-AddOns 仓库。
如果尚未部署,请参考 部署 ESP_RainMaker-3P-Integrations-Addons SAR 仓库 。
以下为配置 Alexa App to App 账号关联的具体步骤:
为移动应用创建重定向 URL
用户同意 Alexa 应用或 LWA 中的关联请求后,就能重定向至您的自有应用。为了实现重定向,需要为 iOS 应用创建通用链接 (Universal Link),为安卓应用创建应用链接 (App Link)。
下文介绍了在 AWS S3 中托管通用链接和应用链接文件的步骤( 注意 :在进行以下操作前,请首先确保您的用户有管理权限):
创建 S3 存储桶
前往 AWS 控制台,点击
Services
>
S3
。
点击
Create bucket
。
输入存储桶的名字。
选择需要创建存储桶的区域。
向下滚动界面,找到
Object Ownership
,启用
ACLs enabled
选项。
向下滚动界面,找到
Block Public Access settings for this bucket
。
取消勾选
Block all public access
,并勾选下面所有的选项。此步骤为必须步骤。
滚动至页面底部,点击
Create Bucket
。
在存储桶列表中,点击新创建的存储桶。
点击
Create Folder
并创建 ".well-known" 文件夹。
勾选
.well-known
文件夹前面的复选框,并点击
Copy URL
。
从 URL 中移除在第十步中记下的 .well-known/ 后缀。 请记下移除后的参数值,我们将其定义为 redirectURL ,在后续步骤中需要用到。
创建安卓应用链接或 iOS 通用链接,请参考以下步骤:
创建安卓应用链接 。
上传文件至 S3 并设置公开读取权限
前往 AWS 控制台,点击
Services
>
S3
。
在存储桶列表中,点击新创建的存储桶。
打开
.well-known
文件夹。
将文件上传至 S3 存储桶中的
.well-known
文件夹。
创建安卓应用链接时,上传前面小节中创建的
assetslinks.json
文件。
创建 iOS 通用链接时,上传前面小节中创建的
apple-app-site-association
文件。
注意,如果您希望同时为安卓和 iOS 上传文件,您需要按照第 5-10 步为两个文件分别完成设置。
Permissions
。
Grant public-read access
选项。
Permissions
标签页。这一步骤中需要更改存储桶名称,请添加以下存储桶策略并保存更改。
Upload
。
为 RainMaker 配置回调 URL
用管理员账号登录 RainMaker 管理面板。
打开
Deployment Settings
标签页。
点击
Cognito Configurations
。
找到名为 "esp-rainmaker-alexa-skill" 的 Cognito 应用客户端。
更新
esp-rainmaker-alexa-skill
客户端的回调 URL。将您在
创建 S3 存储桶
小节第 12 步中复制的
redirectURL
值添加到现有回调 URL 中。
请注意,需要用逗号 (,) 将两个 URL 隔开。
启用 Alexa Skill App to App 账号关联
登录 Alexa 开发者控制台 。
在列表中,选择您想要配置应用账号关联的 Skill。
在左侧导航栏,点击
Account Linking
。
Allow users to link their account to your skill from within your application or website
。
滚动至
Your Redirect URLs
设置部分。
点击
+
图标,添加重定向 URL。
输入您在 创建 S3 存储桶 小节第 12 步中复制的 redirectURL 值。
esp-rainmaker-alexa-skill
应用客户端添加客户端 Secret。请参考
为 Alexa Skill 和 Google Actions 获取客户端 ID 和 Secret
。
获取 Alexa 访问令牌 URL
首先请确保您的 AWS 区域为 RainMaker 的部署区域。
登录 AWS 控制台,打开
API Gateway Service
。
找到
AlexaSkillLinking AWS Api Gateway
API 网关。
Stages
标签页。
点击
dev
展开选项。
点击
POST
。
复制 Invoke URL。在为移动应用配置 alexaAccessTokenURL 时需要用到这一 URL。