手順3: サンプルアプリをセットアップする
VSKの統合を目指している多くの開発者は、独自のFire TV対応アプリを既に作成済みです。ただし、多くの場合、開発者は作成したアプリにすぐに変更を加えるのではなく、まずVSKのワークフローを把握し、受信するAlexaディレクティブを確認したいと考えています。そこで、こうした開発者向けに、VSKが統合された基本的なFire TV対応アプリが用意されています(ただし、若干の構成が必要です)。このサンプルアプリを使用してVSKの詳細を確認し、VSKのしくみを把握した後で、実際のアプリに戻って同じプロセスを実践することができます。または、このFire TV対応サンプルアプリをベースとして、独自のアプリを作成することもできます。
サンプルアプリを使用する場合は、このトピックのすべての手順を実行してください。
- サンプルアプリについて
- Android Studioのダウンロードとインストール
- ダウンロードしたサンプルアプリをAndroid Studioで開く方法
- サンプルアプリのパッケージ名のカスタマイズ
- 次のステップ
サンプルアプリについて
このサンプルアプリは、基本的なLeanback対応Androidアプリとなっており、アプリのみの統合モデルに従ってVSKが組み込まれています。若干の構成を行うと、タイトルを指定してAlexaにビデオをリクエストすることにより、アプリでサンプルビデオが再生されます。サンプルアプリでは、IMDbカタログが使用されています。そのため、実質どのような映画のタイトルやTV番組をリクエストしても、サンプルアプリでは利用可能なカタログ内のタイトルとしてリクエストが認識されます。ただし、サンプルアプリには、実際にそのタイトルを再生する権利やビデオのURLはありません。そのためサンプルアプリでは、実際のタイトルではなく、いくつかの汎用的なビデオからランダムに選択されたビデオが再生されます。
このサンプルアプリの最も重要なポイントは、Alexaのディレクティブがアプリにプッシュされることを確認できる点です。サンプルアプリには、ディレクティブを処理してアプリで特定のアクションを実行するための十分なロジックは含まれていません。そのロジック部分については、独自のアプリやコンテンツに応じて開発者自身で用意する必要があります(詳しくは手順8: ディレクティブに応答するを参照してください)。ただし、多くの場合、リモコンの入力に対応したコンテンツの検索・再生のアクションが既に用意されています。Alexaから送信されるディレクティブを処理するために必要なことは、リモコン入力の場合と同じように、音声入力に対してアクションをマッピングすることだけです。
サンプルアプリでは、SearchAndPlay
およびSearchAndDisplayResults
ディレクティブのサポートに加え、PlaybackController
インターフェースのPlay、Pause、Stopディレクティブもサポートされています。これらのディレクティブに関連する発話の一覧については、発話リファレンスを参照してください。
Android Studioのダウンロードとインストール
サンプルアプリを使用するには、まずAndroid Studioをダウンロードしてインストールする必要があります。Android Studioには、AndroidプロジェクトをコンパイルしてAPKを作成するためのJDKのバンドル版が含まれています。使用するコンピューターへのAndroid Studio開発環境のセットアップについては、Android Studioの概要とAndroid Studioのインストールを参照してください。
ダウンロードしたサンプルアプリをAndroid Studioで開く方法
Android Studioでサンプルアプリを開くには、次の手順を実行します。
-
github.com/alexa/alexa-sample-fire-tv-app-only-integrationにアクセスし、[Code] ボタンをクリックしてから、リンクをコピーしてGitプロジェクトをクローンします。
git clone git@github.com:alexa/alexa-sample-fire-tv-app-only-integration
(Zipファイルをダウンロードすることもできます。)
リポジトリには、Android Leanbackライブラリに基づいたサンプルのAndroidプロジェクトが格納されています。これには、Fire TVのVSK Agentとやり取りするための特別なクラスが含まれています。
- Android Studioを起動します。ようこそダイアログで、[Open an existing Android Studio project] をクリックします。
-
サンプルアプリのルートディレクトリ(appディレクトリが含まれているディレクトリ)を指定して、[Open] をクリックします。
Gradleによってプロジェクトのビルドが開始されます。ビルドの処理中は、Android Studioのフッターにある [Build] ボタンをクリックしてGradleコンソールを開くと、Gradleのビルドの進行状況を確認できます。これにより、ビルドが成功したかどうかや、Android Studioにほかの関連ツールやライブラリが必要かどうかを知ることができます。Android Studioに必要なファイルが不足している場合は、インストールするよう求めるメッセージが表示されます。Gradleの処理が完了すると、[Build] ペインに緑のチェックマークと共に「Project setup: successful」と表示されます。
-
左側の [Project] タブをクリックして、プロジェクトファイルを表示します。[Android] ビューが表示されていることを確認します。
重要: Androidでプロジェクトを開くと、デフォルトでは [Android] ビューが表示されます。本ドキュメントの手順は、この [Android] ビューで作業していることを前提としています。 任意のビューを選択して作業することができますが、ビューを変更すると、記載されているファイルの場所の表示が変わることに注意してください。
サンプルアプリのパッケージ名のカスタマイズ
パッケージ名はAmazonアプリストアで一意である必要があります。後でAmazon開発者ポータルでセキュリティプロファイルとAPIキーを構成する際に、一意のパッケージ名が必要となります。サンプルアプリのデフォルトのパッケージ名は、com.example.vskfiretv.company
です。次の手順では、パッケージ名が一意になるように、パスの最後を実際の会社名に変更します(例:com.example.vskfiretv.acme
)。パッケージ名の最初のcom.example.vskfiretv
の部分はそのままにします(この部分を変更すると、バックエンドでサンプルアプリのカタログとしてIMDbベースのカタログが使用されるように正しく構成されません)。
サンプルアプリのパッケージ名をカスタマイズするには、次の手順を実行します。
- [Android] ビューが表示されていることを確認します。
-
[Options] メニュー(歯車アイコン)をクリックし、[Compact Middle Packages] のチェックマークを外します。
これにより、com > example > vskfiretv > companyフォルダを展開して、
com.example.vskfiretv.company
パッケージを階層構造で表示できます。 -
[company] を右クリックし、[Refactor] > [Rename] の順に選択します。
-
一意の名前(自分の名前など)を入力し、[Refactor] をクリックします。
-
[Do Refactor] をクリックします。
-
[app] > [manifests] の順にクリックし、AndroidManifest.xmlファイルを開きます。
package
の名前のcom.example.vskfiretv.company
をすべて新しいパッケージ名(com.example.vskfiretv.mystreamz
など)に更新します。 -
[Gradle Scripts] を展開し、
build.gradle (Module: app)
を開きます。applicationId
値を一意のパッケージ名に変更します。以下に例を示します。defaultConfig { applicationId "com.example.vskfiretv.mystreamz" minSdkVersion 23 targetSdkVersion 29 versionCode 1 versionName "1.0"
build.gradle
ファイルを更新する際に、Android Studioでプロジェクトの再同期を求めるメッセージが表示された場合は、そのメッセージで [Sync now] をクリックします。 -
[Build] > [Rebuild Project] の順にクリックします。
ビルドが完了すると、 「Gradle build finished」というメッセージが表示されます。 パッケージ名はメモしておいてください。この名前は、後でセキュリティプロファイルを作成する際に必要になります。
サンプルアプリに関する注意事項
このアプリはまだFire TVで実行することはできません。アプリのパッケージ名と関連付けられたAPIキーを使用して、VSK Agent Client Libraryの認証を行う必要があるためです。その手順については、手順9: アプリに署名してセキュリティプロファイルを構成するを参照してください。
次のステップ
次の手順の 手順4: 統合の種類を決定するに進みます。