開発者コンソール

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

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

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

予備知識と用語

Fire TVでライブTVを始める前に、次のドキュメントを参照して予備知識を習得してください。

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

統合の詳細

ライブチャンネルを統合するには、ユーザーのチャンネル視聴権限と必要なメタデータへのアクセスを提供する必要があります。

ライブチャンネルの視聴権限

アプリを更新して、視聴権限のあるチャンネルだけを、TV入力フレームワーク(TIF)で提供されるデバイス上のローカルチャンネルデータベースにプッシュする必要があります。チャンネルを更新、追加、削除するには、INITIALIZE_PROGRAMSアクション(英語のみ)を使用してブロードキャストレシーバーを登録します。アプリの初回インストール時に、この視聴権限メタデータを確実に更新してください。この更新は、アプリがバックグラウンドで動作しているときでも実行できます。ブロードキャストレシーバーを登録してINITIALIZE_PROGRAMSアクションを処理する例については、BroadcastReceiverを登録してINITIALIZE_PROGRAMSアクションをリッスンする方法を参照してください。

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

このデータベースにチャンネルがある場合、ユーザーはチャンネルを視聴できます。このデータベースには、いつでもチャンネルを追加したり削除したりできます。このデータベースは、ライブコンテンツの利用時にユーザーに表示されるすべてのチャンネルの情報源として使用されるため、変更はすぐにUIに反映されます。

TvContract.Channelsのチャンネル列は、可能な限り埋めてください。GracenoteチャンネルIDがわかっている場合や、再生のディープリンクを提供する場合は、その情報をChannels#COLUMN_INTERNAL_PROVIDER_DATA(英語のみ)に含めることができます。コード例のセクションを参照してください。

番組メタデータの取得

ライブTVのメタデータを提供する方法は2つあります。

  • Amazonカタログデータ形式(CDF)のステーションIDを使用する(推奨)
  • GracenoteチャンネルIDを使用する

CDFステーションIDの指定(推奨)

CDFステーションIDを指定すると、その情報がライブTVアプリを通じて毎日クラウドに同期されます。CDFステーションIDが見つかった場合、Fire TVカタログでチャンネルを検索する際にそのIDが使用されます。Fire TVカタログには、最大14日間の番組情報が含まれています。この情報は、[ホーム] タブ、[ライブ] タブのほか、番組表にも表示されます。この情報は自動的に更新され、常に最新の状態に保たれます。また、検索機能やAlexaからも検出可能になります。

Gracenote IDの指定

GracenoteチャンネルID(onTVまたはGVD)を指定すると、その情報がライブTVアプリを通じて毎日クラウドに同期されます。Gracenote IDが見つかった場合は、最大14日間の番組情報を含むFire TVカタログ内でチャンネルを検索する際に使用されます。この情報は、[ホーム] タブ、[ライブ] タブのほか、番組表にも表示されます。この情報は自動的に更新され、常に最新の状態に保たれます。また、検索機能やAlexaからも検出可能になります。

チャンネルの順序

チャンネルの順序によって、Fire TVデバイスのUIに表示されるチャンネルのランクが決まります。基本の順序はプロバイダーが決定します。ユーザーはコンテキストメニューやチャンネルマネージャーを使用して、チャンネルをお気に入りとして設定できます。それらのチャンネルは最も高い優先順位で表示されます。したがって、優先順位はお気に入り>チャンネルの順序オプションとなります。Fire TVでは、開発作業のレベルが異なる次の2つのオプションが用意されています。

  • 表示名に基づく順序: 開発時間がかからないため、最もよく使用される順序です。この順序を使用すると、Fire TV UI上のチャンネルは、displayNameに従ってUnicode順で表示されます。たとえば、チャンネルリスト{"XYZ", "1BC", and "1 BK"}は、{"1 BK", "1BC", "XYZ"}という順序で表示されます。

  • カスタムのチャンネル順序: この順序を使用すると、プロバイダーのチャンネルは、tv.dbの「_id」と一致する順序で表示されます。この「_id」は、挿入された順に割り当てられます。tv.dbでこれらのチャンネルを更新する場合は、チャンネルの順序を維持する必要があります。これは、ライブTVアプリでもFire TV UIと同じ順序が使用されるためです。

一貫性のあるエクスペリエンスを提供するために、Fire TVでは、アプリ内での順序に最も近いチャンネル順序を選択することをお勧めします。オンボーディングプロセスの一環として、Amazonの担当者と協力し、チャンネル順序の決定方法を選択してください。

全画面再生

Fire TVには、独自のアプリで全画面再生を実行できる機能が用意されています。この機能を使用するには、ディープリンクインテント(英語のみ)をチャンネル情報の一部としてチャンネルデータベースに挿入します。ユーザーが閲覧中または検索中にチャンネルを選択すると、このインテントが起動されます。インテントがアクティブになるたびに、リクエストされたチャンネルの全画面再生が開始されます。コード例を参考にしてください。

スプラッシュ画面のガイドライン

  • ユーザーがタイルにフォーカスを置いた後、スプラッシュ画面が開始されるまでにかかる時間は、最大で3秒にする必要があります。
  • フォーカスのあるコンテンツのビデオプレビューの再生は、スプラッシュ画面が読み込まれてから2秒後に開始する必要があります。
  • アプリがチャンネルプレビューをサポートしていて(推奨)、ユーザーがFire TVの設定でペアレンタルコントロールを有効にしている場合、チャンネルプレビューは無効になり(ミニ詳細での再生なし)、Gracenoteに既に含まれている画像の範囲に戻ります。Amazonは、Fire TVやアプリで設定されたコンテンツレーティングや環境設定に基づいてチャンネルプレビューをブロックすることはありません。このルールはすべてのパートナーとチャンネル提供元に適用されます。

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

商品の要件に従って、ユーザーがペアレンタルコントロール(PCON)を有効にしている場合は、プレビュービデオを再生しないようにする必要があります。

TvInputServiceオブジェクトに提供されたサーフェスにアプリでコンテンツをレンダリングする場合(たとえば、ライブプレビューの場合やチャンネルのディープリンクがない場合)は、ペアレンタルコントロールを正しく実装する必要があります。ペアレンタルコントロールが有効になっているときは、ユーザーにコンテンツを表示する前にPINの入力を要求します。TvInputServiceは、ブロックの対象となるコンテンツが要求されるたびに、フォアグラウンドのアプリに通知する必要があります。推奨されるフローについては、ペアレンタルコントロールへの対応を参照してください。

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

次の3つのアイテムを必ずカスタマイズしてください。

1. ラベル

デフォルトでは、ユーザーがチャンネルを閲覧するとき、アプリのlabelがヘッダーとして使用されます。このラベルは、12文字以下の全角文字または24文字以下の英数字にする必要があります。別の名前を使用したくてもラベルを変更できない場合は、Amazonの担当者に連絡して、これがオーバーライドされるようにしてください。

アプリのブランドを表すモノクロのロゴ(白い画像、透明な背景)を1つ指定します。ロゴは番組アートの上にオーバーレイで表示されます。この画像ファイルは、高さは最大34px、幅は最大でオーバーレイ画像の幅の25%までとする必要があります。

詳細については、Amazonの担当者にお問い合わせください。

3. バナー

パッケージマネージャーを通じてアプリバナーを提供します。例については、コード例を参照してください。

認定チェックリスト

Amazonでは、以下のチェックリストを使用して、アプリのライブTV統合を認定しています。想定される動作はアプリの実装に直接左右されます。Amazonは、状況に応じて認定の例外に対応します。

権限状態の変更

  • ユーザーが次のいずれかの操作を実行した後、ユーザーに視聴権限のあるチャンネルがFire TV UI([放映中のチャンネル] 行や番組表など)に表示されます。
    • アプリを開いてサインインする。
    • [設定] > [ライブTV] > [チャンネル提供元を同期] に移動し、アプリ名を選択してアプリの設定ページにアクセスする。

    両方の条件に対応する必要があります。

  • ユーザーのメンバーシップが期限切れになり、「視聴権限なし」の状態に変更されても、ユーザーがチャンネルを選択し、有料オファーを確認して終了するか、オファーを拒否するまで、チャンネルは引き続きFire TV UIに表示されます。
  • ユーザーがアプリをアンインストールするか、ユーザーにチャンネルの視聴権限がなくなると、チャンネルはFire TV UIから削除されます。

最大ロールアウトレート

ユーザーへのチャンネルの段階的ロールアウトは、1時間あたり最大50万のレートで実行します。

この値は、チャンネルの視聴権限があるユーザーのFire TVデバイスの数を示します。チャンネルの視聴権限がある状態とは、Fire TV内のリニアTV統合のUXからワンクリックで全画面再生を行うことができる状態を指します。

  • ABCアプリはビデオオンデマンドを提供していますが、プレミアムアドオンとしてライブTV機能も備えています。この場合、ライブTVのアドオンを利用しているABCユーザーのみがロールアウトの対象となります。
  • XYZアプリには、無料の基本チャンネルパッケージに加えて、さらに多くのチャンネルを視聴できる有料プランが用意されています。有料プランのチャンネルラインナップが更新された場合、その有料プランのユーザーのみがロールアウトの対象となります。

閲覧と再生

  • ユーザーがチャンネルにフォーカスを置くと、詳細なメタデータが提供されます。リニアTVガイドに表示されるチャンネルには、チャンネルのロゴ、チャンネル番号(オプション)、今後14日間のスケジュール情報が含まれます。番組のメタデータには、番組名、再生時間、エピソード名、エピソードの詳細な説明、シーズンとエピソードの情報、クローズドキャプション、レーティング、番組画像(16:9)、背景画像(16:9)が含まれます。このメタデータ情報は、Amazonカタログのマッチング(CDFまたはGracenote)、またはTVコントラクトの一部としてプッシュされるメタデータから取得されます。
  • ユーザーが [放映中のチャンネル] 行のチャンネルにフォーカスを置くと、背景画像に代わってライブチャンネルのプレビューが表示されます。
  • ユーザーは、視聴権限のあるこのチャンネルの提供元を把握できる必要があります。このため、背景画像の一部として、またはライブチャンネルプレビューの再生前のスプラッシュ画面として、プロバイダーアトリビューション(モノクロ、高さ34ピクセル)を追加します。
  • ユーザーがチャンネルを選択すると、全画面再生が開始されます。戻るボタンを1~2回押すと、Fire TV UIに戻ります。
  • ペアレンタルコントロール(PCON)が有効になっている場合、再生前にPINの入力を求めるプロンプトが表示されます。PCONが有効になっている場合は、ライブチャンネルプレビューを無効にする必要があります。
  • ユーザーがAlexaにアクセスしたら、ライブ再生の音量を下げます。ビデオ再生は続行する必要があります。
  • (推奨)チャンネルにジャンルを割り当てることができます。これにより、Fire TV UIで追加の入り口となるポイントにチャンネルが表示されます。

開発、ステージング、デプロイ

  • 本番環境に進む前に、Amazonが特定のアカウントを許可リストに登録して、統合されたエクスペリエンスを確認および認定できる必要があります。
  • 権限のあるチャンネルのみが、両者がリリースに同意したマーケットプレイスのFire TV UIに追加されます。その後、別のマーケットプレイスでリリースする際には、新しい認定レビューとして扱われ、許可リストへの登録が必要となります。
  • リリース後に追加または削除されるチャンネルはすべて、Amazonが把握する必要があります。追加されるチャンネルの上限については、両者の合意が必要です。
  • (推奨)アプリのダウンロードページとリリースノートには、Fire TVで利用可能な新機能をユーザーが把握できるように、ライブTV統合について記載することをお勧めします。

更新の実行

アプリを更新する場合は、更新を実行する前に、認定チェックリストの項目を再度確認してください。

チャンネル編成を更新する場合は、認定チェックリストの項目を再度確認し、さらに以下も実行してください。

  • リリースの2週間以上前に、Amazonの担当者にリリースタイムラインを通知してください。
  • ラインナップに10%以上の増減がある場合は、Amazonの担当者から明示的な承認を受けてください。

Last updated: 2025年5月5日

DevAssistant
Amazon Developer Assistant