アプリのみの統合に関する既知の制限事項
ここでは、アプリのみの統合に関する既知の制限事項やその他の問題について説明します。
- サポート対象のFire TVデバイス
- サンプルアプリおよびその他のプレリリース版アプリを使用した明示的なターゲット指定
- 起動の発話におけるアプリ名のエイリアスのサポート
- ウェブアプリ(ラップされたウェブアプリ)のサポート
- アプリのみの統合で推奨されるインターフェース
- Alexaによるカタログの読み取り
サポート対象のFire TVデバイス
デバイスでアプリのみの統合を利用するには、Fire TVデバイスにバージョン631098910
以降がインストールされている必要があります。適切なバージョンがインストールされているかどうかを確認するには、次の手順を実行します。
- ADBを使用してFire TVに接続します。
- 次のadbコマンドを実行します。
adb shell dumpsys package com.amazon.vizzini | grep versionCode
次のような応答が返されます。
versionCode=631098910 minSdk=22 targetSdk=28
このversionCode
が、631098910
以降になっている必要があります。または、マイクボタンを押して音声コマンドを発話します。Voice Chrome(Alexaの青色のバー)が画面の下部に表示される場合は、新しいビルドがインストールされています。このバーが画面の上部に表示される場合、新しいビルドがインストールされていません。
Fire TVのビルドを確認するには、[設定] > [デバイスとソフトウェア] または [My Fire TV](デバイスによってメニュー名が異なります)> [バージョン情報] の順にクリックします。次に、使用中のFire TVデバイスをクリックし、[Fire TV Home Version] を探します。ビルド番号が631098910以降でない場合は、[アップデートをチェック] をクリックして最新のビルドを入手します。
ロールアウトの日まで待てない場合には、デバイスシリアル番号(DSN)とカスタマーID(CID)を、Amazonの担当者までお知らせください。当該のデバイスを手動でソフトウェアのロールアウトの対象に追加します。DSNとCIDを確認するには、次の手順を実行します。
- DSN: Fire TVで、[設定] > [デバイスとソフトウェア](または[My Fire TV])> [バージョン情報] の順に選択します。
- CID: まず、開発者ポータルにログインします。ログインしたら、https://developer.amazon.com/mycid.htmlにアクセスします。
サンプルアプリおよびその他のプレリリース版アプリを使用した明示的なターゲット指定
明示的なターゲット指定とは、リクエストにアプリ名を含めることです。たとえば「アレクサ、『インターステラー』を見せて」ではなく、「アレクサ、<アプリ名>で『インターステラー』を見せて」と発話する場合などです。 次の点に注意してください。
- サンプルアプリでは、明示的なターゲット指定は使用できません。
- 実際のアプリで明示的なターゲット指定を行うには、(1)カタログ統合が完了していること、かつ(2)アプリがライブアプリテスト(LAT)または本番環境に申請されていることが必要です。明示的なターゲット指定をサポートするために必要なAmazonサービスにより、アプリが本番環境またはLATの状態であることが求められます。
明示的なターゲット指定で問題が発生した場合、パートナー側で実行できるトラブルシューティングはあまりありません。その場合は、Amazonの担当者に問題を報告して、Amazonのチームが内部ツールを使用して明示的なターゲット指定の問題の診断とトラブルシューティングを行う必要があります。
起動の発話におけるアプリ名のエイリアスのサポート
アプリの別名を使用してアプリを起動することができます。たとえば、「Sports Streamz Now」という名前のアプリがあるとします。 ユーザーは「Sports Streamzを開いて」、「Streamz Nowを開いて」、「Streamzを開いて」などの発話でこのアプリを開くことができます。 このようなアプリの別名はすべてエイリアスとして認識されます。クラウド側の統合では、Alexaコンソールのビデオスキルの構成でこれらのエイリアスを指定することができます。ただし、アプリのみの統合では、Alexaコンソールでビデオスキルを作成する必要はありません(スキルはバックエンドで自動的に作成されるため、外部からは確認できません)。 そのため、アプリを起動するためのエイリアスを指定する場所はありません。エイリアスを指定する方法が用意されるまでは、このリクエストについてはAmazonの担当者にご連絡いただく必要があります。VSKチームが、アプリに必要なエイリアスを個別に作成します。
ウェブアプリ(ラップされたウェブアプリ)のサポート
アプリのみの統合は、ネイティブのAndroidプロジェクトに対応しています。HTML5ウェブアプリでない場合、アプリのみの統合はサポートされません。ただし、ハイブリッドアプリ(Cordovaなどのラッパーを使用してネイティブのAndroidでラップされたウェブアプリ)の場合は、この方法がサポートされます。ただし、ネイティブレイヤーとAmazon WebView(AWV)のやり取りを管理する方法については、開発者が独自に対応する必要がある場合があります。ハイブリッドアプリでのアプリのみの統合については、VSKチームによるテストは行われていません。インテントを処理できるBroadcastReceiverを作成し、BroadcastReceiverを介してインテントからディレクティブのペイロードを取得して、アプリの処理ロジックを適用する必要があります。
アプリのみの統合で推奨されるインターフェース
アプリのみの統合で推奨されているVSKインターフェースは、RemoteVideoPlayer
のみです。具体的には、SearchAndPlay
ディレクティブとSearchAndDisplayResults
ディレクティブです。それ以外については、次のような推奨事項があります。
PlaybackController
およびSeekController
ではなく、MediaSessionを実装します。Channelcontroller
ではなく、ライブTVの統合を実装します。KeypadController
ではなく、組み込みのアプリ内の音声ナビゲーション・選択を使用します。
Fire TVの統合では、このように多くのVSKインターフェースが推奨されていないことを不思議に思われるかもしれません。使用されないものがなぜ開発されているかというと、 Video Skills Kit(VSK)はFire TVアプリ専用ではないためです。Echo Showやサードパーティのデバイス(セットトップボックスやゲームコンソール、リビングルームのエンターテインメントデバイスなど)といったほかのデバイスでも、同じインターフェースが使用されます。インターフェースによっては、このようなほかのコンテキストに適している場合があります。
Alexaによるカタログの読み取り
アプリのRemoteVideoPlayer
機能を宣言する場合、catalogs
オブジェクトにパートナーIDを含める必要があります。
"catalogs": [
{
"type": "VIDEO_INGESTION_IDENTIFIER",
"sourceId": "<パートナーIDを挿入>"
}]
ただし、現時点では、Amazonではこの値を使用してカタログを取得することはできません。現時点では、Alexaは、アプリのASIN、タイトル、パートナーIDのマッピングをバックエンドで行い、カタログから情報を取得します。将来的には、catalogs
オブジェクトが使用される予定です。