ビデオスキル搭載のFire TV対応サンプルアプリをセットアップする方法


ビデオスキル搭載のFire TV対応サンプルアプリをセットアップする方法

ビデオスキルを組み込んだFire TV対応サンプルアプリを利用すれば、同スキルを試すことができます。このサンプルアプリを使用すると、アプリにプッシュされたディレクティブが確認可能になります。アプリ自体はシンプルですが、統合手順の一部を省いてプロセス全体の流れをつかめるので便利です。

概要

Fire TV対応サンプルアプリには、有効なビデオスキルが組み込まれています。アプリにはADMとAlexa Client Libraryが統合されており、構成後はAlexaにタイトルでビデオ再生を依頼することができます。このサンプルアプリは、Fire TV対応アプリを構築するためのJavaベースのAndroidツールキットであるFire App Builderからフォークしたものです。

このサンプルアプリを使用すると、手順3: Alexa Client Libraryを統合する手順4: Amazon Device Messaging(ADM)を統合するのほとんどの手順が不要になります。これは、必要なコードが既にサンプルアプリに組み込まれているためです。ただし、このドキュメントの残りの部分を参照して、サンプルアプリをセットアップする必要があります。

サンプルアプリでは主に、アプリにプッシュされたディレクティブを確認できます。このプレビューにより、ビデオスキルがアプリとどのようにやり取りするかをより詳しく理解できます。サンプルアプリでは、アプリで特定のアクションを実行するためのディレクティブの処理方法に関するロジックは提供されません。ロジックの大半は、独自のコードを基に自分で構築する必要があります。

また、このサンプルアプリは、アプリを開発するための土台やテンプレートとしてではなく、ドキュメントを補足するガイドとして使用するためのものです。ビデオスキルを統合するほぼすべてのビデオパートナーは、既にアプリを独自開発しています。サンプルアプリでは、あくまでも一部の統合手順についてのコンテキストのみを提供します。

前提条件

サンプルアプリを利用するには、Java Developer Kit(JDK)とAndroid Studioが必要です。Android開発の経験が豊富な方は、これは既にセットアップ済みである可能性があります。その場合は、手順A: Fire TV対応サンプルアプリをダウンロードするに進んでください。

Java Development Kit

Oracleから提供されているバージョン1.8以降のJava Development Kit(JDK)が必要です。JDKは、ご使用のコンピューターでJavaアプリをコンパイルするために使用します。まず、JDKが既にインストールされているかどうかを確認します。

  1. ターミナルまたはコマンドプロンプトを開きます。
  2. java -versionと入力します。JDKがインストールされている場合、次のようなレスポンスが返されます。

    java version "1.8.0_121"
    Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode
    

    Windowsでは、C:\Program Files\Java\jdk1.8.0\などのディレクトリを手動で調べて、JDKがインストールされているかどうかを確認することもできます。

  3. JDKがインストールされていない場合は、ご使用のコンピューターに合った適切なバージョンのJDKインストーラーをJava SE Development Kit Downloads(英語のみ)からダウンロードして実行してください。詳細については、以下を参照してください。

Android Studio

サンプルアプリを利用するには、Androidプロジェクトの公式IDEであるAndroid Studioをインストールする必要があります。ご使用のコンピューターへのAndroid Studio開発環境のセットアップについては、Android Studioの概要Android Studioのインストールを参照してください。

サンプルアプリでは、Android Studioと共に特定のSDKツールとAPIをインストールする必要があります。事前にスタンドアロンのSDK Managerからこれらのツールを選択する必要はありません。サンプルアプリプロジェクトを開く(次のセクションAndroid StudioでFire TV対応サンプルアプリを開くを参照)と、Android Studioで不足しているビルドツールやAPIをインストールするよう求められます。

手順A: Fire TV対応サンプルアプリをダウンロードする

サンプルアプリをダウンロードするには、次の手順を実行します。

  1. https://github.com/amzn/sample-fire-tv-app-video-skillに移動します。
  2. [Clone or download] をクリックします。次に、[Download ZIP] をクリックします。
  3. zipファイルをアクセスしやすい場所に保存し、解凍します。

手順B: Android StudioでFire TV対応サンプルアプリを開く

Android Studioでプロジェクトを開き、アプリをビルドします。

  1. Android Studioを起動します。
  2. ようこそ画面で、[Open an existing Android Studio project] をクリックします。
  3. sample-alexa-firetv-appプロジェクトをダウンロードしたディレクトリを参照します。プロジェクトフォルダで、Applicationフォルダを選択し、[OK] をクリックします。

    Gradleによってプロジェクトのビルドが開始されます。

    Gradleの最新リリースによっては、Gradleをアップデートするよう求められる場合があります。求められた場合は、[Don't remind me again for this project] をクリックします。

    初めてプロジェクトを開いた際は、Gradleがプロジェクトをビルドするまでに20~40分程度かかる場合があります。この時間は、Gradleがダウンロードする必要があるアセットと、ネットワークやプロセッサの速度によって変わります。それ以降の処理にかかる時間は約1分です。Android Studioに必要なライブラリやファイルが見つからない場合は、次のようなメッセージが表示されることがあります。

    このようなメッセージが表示された場合は、リンクをクリックして、不足しているツールをインストールします。プロジェクトを開いたときにAndroid Studioでメッセージが表示されなくなるまで、指示に従って不足しているツールをインストールしてください。

    ビルドエラーが発生した場合は、プロジェクトをクリーンアップして再ビルドしてください([Build] > [Clean Project or Build] > [Rebuild Project])。

  4. Android Studioのフッターにある [Build] ボタンをクリックしてGradleコンソールを開き、Gradleビルドの進行状況を監視できます。これにより、ビルドが成功したか、Android Studioでほかのダウンロードが必要かどうかを知ることができます。Gradleがビルドを終了するまで待ちます。

    ビルドが完了すると、GradleコンソールにGradle build finishedというメッセージが表示されます。Gradleでプロジェクトのビルドが完了したら、Android StudioのAndroidビューに次のディレクトリが表示されます。

    Alexa Client Libraryが含まれたAndroid Studioのディレクトリ

    ディレクトリの1つがAlexaClientLibであることに注意してください。ここにAlexa Client Libraryが含まれています。このディレクトリは、デフォルトのFire App Builderプロジェクトには含まれません。

    Androidがプロジェクトを開くと、デフォルトでAndroidビュー(前のスクリーンショットの赤丸で囲まれた部分)が表示され、「Application」フォルダは「app」になります。

手順C: Fire TV対応サンプルアプリでパッケージ名をカスタマイズする

サンプルアプリでは、パッケージ名を変更する必要があります。パッケージ名はAmazonアプリストアで一意である必要があります。後でセキュリティプロファイルとAPIキーを構成する際に、一意のパッケージ名が必要となります。以下のコードサンプルでは、カスタマイズが必要なパッケージ名を明るい赤色で示しています。パッケージ名をカスタマイズするには、次の手順を実行します。

  1. 前のセクションで説明したように、Androidビューが表示されていることを確認します。
  2. [app] > [manifests] の順にクリックし、AndroidManifest.xmlファイルを開きます。package名のcom.fireappbuilder.android.calypsovskを、com.fireappbuilder.android.mycompanyのような一意のパッケージ名に更新します。

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.fireappbuilder.android.calypsovsk">
    

    サンプルアプリでは、com.fireappbuilder.android.calypsovskパッケージにクラスはありません。

  3. Gradle Scriptsを展開し、build.gradle (Module: app)ファイルを開きます。パッケージ名に一致するようにapplicationIdプロパティを更新します。以下に例を示します。

    defaultConfig {
        applicationId "com.fireappbuilder.android.calypsovsk"
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 10
        versionName "1.0.7"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    
  4. [TVUIComponent] > [manifests] の順にクリックし、AndroidManifest.xmlファイルを開きます。パッケージ名のすべてのインスタンスを一意のパッケージ名に変更します。変更するインスタンスは複数あります。

    <permission
        android:name="com.fireappbuilder.android.calypsovsk.RECEIVE_ADM_MESSAGE"
        android:protectionLevel="signature" />
    
    <uses-permission android:name="com.fireappbuilder.android.calypsovsk.RECEIVE_ADM_MESSAGE" />
    
    <intent-filter>
    <action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
    <action android:name="com.amazon.device.messaging.intent.RECEIVE" />
    <category android:name="com.fireappbuilder.android.calypsovsk" />
    
  5. [ContentBrowser] > [res] > [values] の順にクリックし、custom.xmlを開きます。次の行でパッケージ名を変更します。

    <!--パッケージ名。AndroidManifestにあるものと同じである必要があります--&>
    <string name="launcher_integration_intent_package_value">com.fireappbuilder.android.calypsovsk</string>
    
  6. Gradleファイルを変更すると、Gradleをプロジェクトと同期するように求められます。右上隅にある [Sync Now] リンクをクリックします。
  7. [Build] > [Rebuild Project] の順にクリックして、以前のアプリのアーティファクトがあればそれをクリーンアップし、その後プロジェクトを再ビルドします。

    このサンプルアプリでは、「Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'」といった警告は気にしなくても構いません。 アプリは引き続きビルドされます。これらのアップデートは、このサンプルアプリの将来のバージョンで行われる予定です。

Fire TV対応サンプルアプリの手順について

ドキュメントでは、サンプルアプリの操作方法に沿って特定の情報がコールアウト表示されます。多くの場合、サンプルアプリに関連する情報は、次のようなコールアウトで示されます。

Fire TV対応サンプルアプリに関する注意点

サンプルアプリの操作手順は、多くの場合、このような形式で表示されます。このコールアウトが表示されない限り、ドキュメントの通常の手順に従ってください。コールアウトでは、通常の手順を続行するか、特定の手順を省略するかが示されます。コールアウト内の説明で、トピックの最後にある「サンプルアプリ」というセクションを指定する場合もあります。

次のステップ

サンプルアプリのセットアップが完了したので、手順1: ビデオスキルとLambda関数を作成するに進みます。