AlexaでFireTV上のアプリを起動するまで
はじめに
Echo DotなどのAlexa搭載端末からFireTV Stickなどの端末上にあるアプリを起動させるまでの手順についてまとめる.
現状, USリージョンでのみ対応している.
AlexaのSkillの概要
スキルの種類
AlexaのSkillは4種類.
- カスタム
- フラッシュブリーフィング
- スマートホーム
- ビデオ
カスタムスキル
ユニークなスキルを作成しましょう。カスタムモデルでスキルの対話をすべて作成できます。
フラッシュブリーフィングスキル
ユーザーが自分のニュースフィードを管理できます。このプリビルドモデルを使用すると、聞きたいコンテンツを自分で管理できるほか、ジャンル別にトピックを検索できます。
スマートホームスキル
ユーザーが自分のスマートホームデバイスを管理できます。このプリビルドモデルを使用すると、照明やその他のデバイスの電源を座ったままオフにできます。
ビデオスキル
接続しているビデオデバイスで指定したコンテンツを再生させたり, 音量などの操作を行える。
- コンテンツの検索, 再生
- 再生/一時停止などの制御
- 音量の変更
- ビデオデバイスのOn/Off
- アプリ, GUIの起動
- 録画 など
スキルの処理概要

動画を再生するスキルの作成
動画のコンテンツを再生するスキルはビデオスキル
を作成してユーザーからの応答を受け取る.
その後, ビデオスキルを介してユーザーからのリクエストをLambdaで適切な処理を行いAlexaSkillに応答する.
- 適切な処理: コンテンツの検索を行うことや, コンテンツの再生/停止などを行う応答を作ること
ビデオスキルの実装
AlexaのスキルはAWSとは別に管理されており, 以下のコンソールで作成する.
https://developer.amazon.com/alexa/console/ask
コンソールでやること
- default languageでUSを選択する. (日本語ではビデオスキルの作成がまだ行えない)
- Create Skill
- Input Skill Name
- Select Video Skill
- copy
skill ID
Lambdaの実装
とりあえず指定のアプリを起動するところまでを実装する.
LambdaはAWSのサービスなので, 以下のAWSのコンソールから作成する.
https://console.aws.amazon.com/console/home
- Lambdaの管理画面を開く
- create function
- Name, Runtime(得意な言語), Roleを選択する
- Triggerとして,
Alexa Smart Home
を追加する- Application IDは, ビデオスキルの実装で作成したスキルのスキルIDを入力する
Enable Trigger
のチェックボックスは, チェックするとスキルから呼ばれるようになり料金が発生するようになるので十分なテストを行ってから入れること
- Skillとしての振る舞いを実装する
起動以外については, https://developer.amazon.com/ja/docs/device-apis/alexa-launcher.html のVideo Skill API Reference
を参照すること.- 起動は
Alexa.Launcher
APIを用いる. 起動できるアプリケーションは事前にAmazonがリスト化して一意にIDを割り振っている. リストに無いものは起動できない.
- 起動は
Alexa SkillへLambdaのARNを登録
- 再度作っていたビデオスキルの画面に戻り, Default Endpointに上記で作成したLambdaのARNを入力する.
- skillを使っているユーザーの地域に合わせてlambdaのEndpointも変えることができるので, 北米ユーザー向けはUSリージョンで作成したLambda, ヨーロッパユーザー向けにはEUリージョンで作成したLambdaと使い分けることができる
Alexa Skillのテスト
- 手順: https://developer.amazon.com/ja/docs/devconsole/test-your-skill.html
- 今回はビデオスキルなのでアカウントリンクとアクセス権限の設定が必須なので行う.
- (抜粋) 一部のスキルでは、エンドユーザーのIDを別のシステムのユーザーに接続できるようにする必要があります。これを実現するための仕組みを、アカウントリンクと呼び、Alexaに設定されているユーザーと、スキルのシステム(開発者のシステム)のユーザーアカウントを結び付けることを実現します
- https://developer.amazon.com/ja/docs/custom-skills/link-an-alexa-user-with-a-user-in-your-system.html
- アカウントリンクはOAuthに則った認証方式を用いる必要がある
ここまでのまとめ
OAuthの認証が必要になったので, Alexaからアプリを起動するところまでをやってみたかったが一旦ここで終わりにする.
ここまでの設定を行えば起動するはず.