手順2: Fire TV対応サンプルアプリをセットアップする
VSKの統合を目指している多くの開発者は、安定して機能するFire TV対応アプリを既に作成済みです。ただし、多くの場合、開発者は作成したアプリにすぐに変更を加えるのではなく、まずVSKのワークフローを把握し、受信するAlexaディレクティブを確認したいと考えています。そこで、こうした開発者向けに、ビデオスキルの実際の動作を確認できるよう、構成とセットアップの一部が完了した基本的なFire TV対応アプリを用意しています。このサンプルアプリを使用してVSKの詳細を確認し、VSKのしくみを把握した後で、実際のアプリで同じプロセスを再確認できます。
もちろん、必要に応じて、サンプルアプリを編集するのではなく、実際のFire TV対応アプリを直接更新することもできます。このドキュメントでは、サンプルアプリを更新する場合と独自のアプリを使用する場合の両方のシナリオを考慮して説明を進めます。
- VSKを統合したFire TV対応サンプルアプリについて
- Android Studio
- VSKを統合したFire TV対応サンプルアプリのダウンロード
- Android StudioでFire TV対応サンプルアプリを開く方法
- Fire TV対応サンプルアプリのパッケージ名の置き換え
- ビデオスキルIDのカスタマイズ
- Fire TV対応サンプルアプリの手順について
- 次のステップ
VSKを統合したFire TV対応サンプルアプリについて
Fire TV対応サンプルアプリは、実際に機能するビデオスキルを組み込んだ基本的なAndroidアプリであり、ストリーミングビデオを再生します。この動作を実現するために、アプリにはAlexa Client LibraryとAmazon Device Messaging(ADM)が組み込まれています。構成後は、タイトルを指定してAlexaにビデオをリクエストすると、アプリでそのビデオが再生されます。ただし、独自のパッケージ名とビデオスキルを使用してサンプルアプリを構成する必要があります。
サンプルアプリでは、アプリにプッシュされたディレクティブを確認できます。このプレビューにより、ビデオスキルがアプリとどのようにやり取りするかをより詳しく理解できます。サンプルアプリでは、ディレクティブを処理してアプリで特定のアクションを実行するためのロジックは示されていません。ロジックの大半は、独自のコードを基に自分で構築する必要があります。
また、このサンプルアプリは、アプリを開発するための土台やテンプレートとしてではなく、ドキュメントを補足するガイドとして使用するためのものです。VSKを統合するほぼすべてのビデオパートナーは、既にアプリを独自開発しています。サンプルアプリでは、あくまでも一部の統合手順についてのコンテキストのみを提供します。
サンプルアプリは、後の手順8: スキルをテストしてCloudWatchでログを確認するまでは実行しません。サンプルアプリを実行すると、次のように表示されます。
Android Studio
サンプルアプリを利用するには、Androidプロジェクトの公式IDEであるAndroid Studioをインストールする必要があります。Android Studioには、AndroidプロジェクトをコンパイルしてAPKを作成するためのJDKのバンドル版が含まれています。使用するコンピューターへのAndroid Studio開発環境のセットアップについては、Android Studioの概要とAndroid Studioのインストールを参照してください。
サンプルアプリでは、Android Studioと共に特定のSDKツールとAPIをインストールする必要があります。事前にスタンドアロンのSDK Managerからこれらのツールを選択する必要はありません。サンプルアプリプロジェクトを開くと、Android Studioに不足しているビルドツールやAPIをインストールするよう促されます。
VSKを統合したFire TV対応サンプルアプリのダウンロード
サンプルアプリをダウンロードするには、次の手順を実行します。
- https://github.com/amzn/sample-fire-tv-app-video-skillを開きます。
- [Code] > [Download ZIP] の順にクリックします。
- zipファイルをアクセスしやすい場所に保存し、展開します。
- Android StudioではVCSマッピングの識別が試行されるため、不要であれば、
.git
フォルダを削除します。
このリポジトリには次の2つのフォルダがあります。
フォルダ | 内容 |
---|---|
VSKFireTV-sample-app | Alexa Client LibraryとADM JARファイルを含み、Video Skills Kitが構成されたAndroidサンプルプロジェクト。 |
Lambda | Lambdaデプロイパッケージを作成するためのNodeプロジェクト(index.js とpackage.json )。詳細については、手順6: Lambdaパッケージを作成・デプロイするを参照してください。このフォルダには、ビデオコンテンツのデータソースの例であるvideo_catalog.json も含まれています。 |
Android StudioでFire TV対応サンプルアプリを開く方法
Android Studioでプロジェクトを開き、アプリをビルドします。
- Android Studioを起動します。
- ようこそダイアログで、[Open an existing Android Studio project] をクリックします。
-
「app」ディレクトリの親ディレクトリ(sample-fire-tv-app-video-skillなど)を選択し、[Open] をクリックします。
プロジェクトを初めて開いたときに、Android StudioでAndroid SDKの場所が正しくないことが検出され、コンピューターにマッピングされたパスが提示されることがあります。この場合は、提示された内容に同意します。さらに、「Invalid VCS root mapping」と表示されることもあります。 このプロンプトは、プロジェクトの.gitフォルダ(非表示)を削除すると消えます。
Gradleによってプロジェクトのビルドが開始されます。Gradleの最新リリースによっては、Gradleのアップデートを求められる場合があります。求められた場合は、[Don't remind me again for this project] をクリックします。
ヒント: ビルドの処理中は、Android Studioのフッターにある [Build] ボタンをクリックしてGradleコンソールを開くと、Gradleビルドの進行状況を確認できます。これにより、ビルドが成功したかどうか、あるいはAndroid Studioでほかのダウンロードが必要かどうかを知ることができます。Gradleがビルドを終了するまで待ちます。初めてプロジェクトを開いた際は、Gradleがプロジェクトをビルドするまでに数分程度かかる場合があります。この時間は、Gradleがダウンロードする必要があるアセットと、ネットワークやプロセッサの速度によって変わります。それ以降の所要時間は短くなります。必要なライブラリやファイルがAndroid Studioになく、インストールするよう求められた場合は、必要なツールをインストールします。
Gradleによるプロジェクトのビルドが終了すると、[Build] タブに正常終了を示す緑色のチェックマークが表示されます。
ビルドエラーが発生した場合は、[Build] > [Rebuild Project] の順にクリックして、プロジェクトを再ビルドします。
-
左側の [Project] タブをクリックして、プロジェクトファイルを表示します。Android Studioの [Android] ビューに、次のディレクトリが表示されます。
ディレクトリの1つが
AlexaClientLib
であることに注意してください。ここにAlexa Client Libraryが含まれています。[Project] ビューのappディレクトリには、Amazon Device Messaging JARが格納されたlibsフォルダがあります。重要: Android Studioでプロジェクトを開くと、デフォルトで [Android] ビューが表示されます(前のスクリーンショットの赤丸で囲まれた部分を参照)。本ドキュメントの手順は、この [Android] ビューで作業していることを前提としています。
Fire TV対応サンプルアプリのパッケージ名の置き換え
サンプルアプリでは、パッケージ名を置き換える必要があります。パッケージ名はAmazonアプリストアで一意である必要があります。後でAmazon開発者ポータルでセキュリティプロファイルとAPIキーを構成する際に、一意のパッケージ名が必要となります。以下のコードサンプルでは、カスタマイズが必要なパッケージ名を明るい赤色で示しています。パッケージ名をカスタマイズするには、次の手順を実行します。
- 前のセクションで説明したように、[Android] ビューが表示されていることを確認します。
-
[Options] メニュー(歯車アイコン)をクリックし、[Compact Middle Packages] のチェックマークを外します。
これにより、com > example > vskfiretvが展開され、com.example.vskfiretvパッケージが階層に表示されます。
-
example を右クリックし、[Refactor] > [Rename] をクリックします。
-
一意の名前(自分の名前など)を入力し、[Refactor] をクリックします。
-
[Do Refactor] をクリックします。
-
app > manifestsの順にクリックし、AndroidManifest.xmlファイルを開きます。パッケージ名
com.example.vskfiretv
の各インスタンスを新しいパッケージ名に更新します。AndroidManifest.xmlには、更新が必要なインスタンスがいくつかあります。これらのインスタンスのほとんどは、前の手順でリファクタリングしたときに更新されていますが、以下のように古いパッケージ名が残っている場合は、更新します。
5行目:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:amazon="http://schemas.amazon.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.example.vskfiretv">
9行目と12行目:
<permission android:name="com.example.vskfiretv.permission.RECEIVE_ADM_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.vskfiretv.permission.RECEIVE_ADM_MESSAGE" />
66行目:
<category android:name="com.example.vskfiretv" />
-
[Gradle Scripts] を展開し、
build.gradle (Module: app)
を開きます。applicationId
値を一意のパッケージ名で更新します。15行目:
defaultConfig { applicationId "com.example.vskfiretv" minSdkVersion 23 targetSdkVersion 29 versionCode 1 versionName "1.0"
build.gradleファイルを更新した際、Android Studioでプロジェクトの再同期を求められたら、[Sync now] をクリックします。
-
[Build] > [Rebuild Project] の順にクリックします。
ビルドが完了すると、「Gradle build finished」というメッセージが表示されます。
注: Alexa Client Libraryの実行にセキュリティプロファイルが必要なため、この時点ではFire TVデバイスでアプリを実行することはできません。Fire TVへの接続は、手順8: スキルをテストしてCloudWatchでログを確認するで行います。ここでは、Android Studioでプロジェクトをローカルにビルドできることを確認します。 - ビデオIDを保存したファイルに、パッケージ名をメモしておきます。このパッケージ名は、後でセキュリティプロファイルを作成するときに必要になります。
ビデオスキルIDのカスタマイズ
サンプルアプリでビデオスキルIDを構成する必要があります。
- app > java > com > example > vskfiretv > MainActivityの順に移動します(パスはパッケージ名のカスタマイズ方法によって異なります)。
-
final String alexaSkillId
を探し、この値を手順1のビデオスキルの作成で作成したビデオスキルIDに置き換えます。102行目:
final String alexaSkillId = "amzn1.ask.skill.12345678-abcd-1234-efgh-123456789";
以下のコード(118行目)に注意してください。
// initialize()を呼び出してAlexa Client Libraryを初期化します。 clientManager.initialize(getApplicationContext(), alexaSkillId, AlexaClientManager.SKILL_STAGE_DEVELOPMENT, capabilities);
このコードは、Alexa Client Libraryに、Fire TV対応アプリとビデオスキルをできるだけ早く自動ペアリングするように促します。後の手順12: アプリを公開するで、
SKILL_STAGE_DEVELOPMENT
をSKILL_STAGE_LIVE
に変更します。
Fire TV対応サンプルアプリの手順について
ドキュメントでは、サンプルアプリの操作方法に沿って特定の情報がコールアウト表示されます。多くの場合、サンプルアプリに関連する情報は、次のようなコールアウトで示されます。
サンプルアプリの操作手順は、多くの場合、このような形式で表示されます。このコールアウトが表示されない限り、ドキュメントの通常の手順に従ってください。このコールアウトでは、現在の手順で説明しているコードが既にサンプルアプリに実装されているため、その手順を実施する必要がないことなどが示されます。また、サンプルアプリでの作業に関する特別な指示や情報が提供される場合もあります。
次のステップ
サンプルアプリのセットアップが完了したので、手順3: Alexa Client Libraryを統合するに進みます。
問題が発生して続行できない場合は、クラウド側の統合に関するトラブルシューティングを参照してください。