開発者コンソール

Fire TVのTV入力フレームワーク


Fire TVのTV入力フレームワーク
アンケート 本コンテンツは最近更新されました。内容が開発者のみなさまのニーズを満たしているかどうか、フィードバックをお寄せください。フィードバックを送信する

リニアTVの統合は、TV入力サービスの開発に関するAndroidドキュメントに基づいています。Fire TV固有の技術要件を理解するには、以下のリンクやその他の説明が役立ちます。

予備知識と用語

Fire TVのライブTV機能をよく理解するにあたり、予備知識や用語の把握が重要となります。統合を進める前に、以下のドキュメントを参照してください。

リニアTVの統合は、Androidドキュメントの TV入力サービスの開発に基づいています。

統合要件

リニアなライブチャンネルを統合するには、ユーザーのチャンネル権限へのアクセスに加え、Fire TVでコンテンツが閲覧および検索されやすくするためのメタデータを提供する必要があります。

ライブチャンネル権限

TV入力フレームワーク(TIF)によって提供されているデバイスのローカルチャンネルデータベースに、視聴権限のあるチャンネルをプッシュするには、アプリを更新する必要があります。チャンネルは、アプリがバックグラウンドで実行されているときも含め、いつでも追加、更新、削除が可能です。アプリが最初にインストールされたときに視聴権限メタデータが確実に更新されるように、INITIALIZE_PROGRAMSアクションをリッスンするブロードキャストレシーバーを登録しておく必要があります。

チャンネルの編集については、チャンネルデータを利用するを参照してください。

このデータベースにチャンネルが存在すれば、ユーザーにそのチャンネルを視聴する権限があるということです。デバイスのライブTVアプリは、ライブコンテンツの操作時に表示されるすべてのチャンネルの情報源として、このデータベースを使用します。このデータベースからいつでもチャンネルの追加や削除を行うことができ、変更は即座にUIに反映されます。

TvContract.Channelsのチャンネル列は、可能な限り埋める必要があります。GracenoteチャンネルIDを把握している場合、または再生にディープリンクを提供する場合は、Channels#COLUMN_INTERNAL_PROVIDER_DATAでその情報を共有できます(下記のコードスニペットを参照してください)。

番組メタデータの取得

GracenoteチャンネルID(TVまたはGVD(グローバルビデオデータ))を提供すると、この情報はライブTVアプリによってクラウドに同期され、最大14日間の番組情報を含むFire TVカタログで、対応するチャンネルを検索するために使用されます。クラウドでGracenote IDが検出されると、それ以上の統合処理をしなくても、そのチャンネルに関連する番組情報が [ホーム] タブ、[ライブ] タブ、およびチャンネルガイドに表示されます。画面は自動的に更新され、常に最新情報が表示されます。検索機能とAlexaの機能も簡単に使用できます。

Gracenote IDがない場合

チャンネルのGracenoteチャンネルIDを提供できない場合は、ロゴを含むすべてのChannelメタデータを挿入し、該当するチャンネルすべての今後の番組情報を、TvContract.Programsに可能な限り詳しく、定期的に挿入する必要があります。ライブTV対応サンプルアプリには、その方法の例が記載されています。

チャンネルディープリンク

ライブTVコンテンツの再生は、通常、TvInputService.Sessionに応答することで、デバイスのネイティブなライブTVアプリによって処理されます。独自のアプリで全画面再生できるようにするには、ディープリンクインテントをチャンネル情報の一部としてチャンネルデータベースに挿入する必要があります。後述のコードサンプルを参照してください。閲覧や検索でチャンネルが選択されると、このインテントが起動します。このインテントによって、アプリにジャンプし、リクエストされたチャンネルの全画面再生が開始されます。

ディープリンクインテントが提供されている場合でも、TvInputService.Sessionを実装する必要があります。ユーザーが閲覧の行にあるいずれかのタイルにフォーカスすると、onTuneが呼び出されます。このとき、リクエストされたチャンネルの再生を、指定の安全なサーフェスにレンダリングすることを強くお勧めします(これが重要なエンゲージメントドライバーであるためです)。onTuneリクエストに基づいて、指標を取得したり、ライブコンテンツの読み込みを開始したりすることで、パフォーマンスを高めることもできます。

ペアレンタルコントロール

TvInputServiceで指定されているサーフェスにコンテンツをレンダリングするアプリの場合は、ペアレンタルコントロールが適切に実装されていることが重要です。ペアレンタルコントロールが有効になっている場合、アプリはコンテンツを表示する前に、エンドユーザーにPINの入力を要求します。TvInputServiceを使用して、ブロックされるべきコンテンツが要求されるたびにフォアグラウンドのアプリに通知する必要があります。推奨されるフローについては、コードサンプルのセクションを参照してください。

プロバイダーのアトリビューション

デフォルトでは、アプリのlabelは、チャンネルを含む閲覧時のヘッダーとして使用されます。別の名前を使用したくても何らかの理由でlabelを変更できない場合は、Amazon担当者と相談してオーバーライドされるようにしてください。また、番組アートの上にオーバーレイされるモノクロのロゴも指定する必要があります。このロゴの高さは34pxとします。幅は、適切な範囲内で任意の長さに設定することができます。

Gracenote IDがない場合

チャンネルのGracenote IDがない場合、TvContract.ProgramsCOLUMN_POSTER_ART_URIを設定する際に、モノクロのロゴを画像に入れる必要があります。モノクロのロゴは、必ず右上の座標から(-56, 44)の位置に配置してください。