Fire TVのTV入力フレームワーク
リニアTVの統合は、TV入力サービスの開発に関するAndroidドキュメントに基づいています。Fire TV固有の技術要件を理解するには、以下のリンクや説明が役立ちます。
予備知識と用語
Fire TVのライブTV機能の詳細に立ち入る前に、予備知識と基本の理解が必要になります。統合を進める前に、以下のドキュメントを参照してください。
- Live TV has a new home on Fire TV(英語のみ)
- TV入力フレームワーク(TIF)
- テレビ入力サービスを開発する
- テレビ入力サービスを作成する
- Android TV対応テレビ入力アプリのサンプル
- Gracenote ID(英語のみ)
リニアTVの統合は、Androidドキュメントの テレビ入力サービスを開発するに基づいています。
統合の詳細
ライブリニアチャンネルを統合するには、ユーザーのチャンネル権限へのアクセスに加え、Fire TVでコンテンツが閲覧および検索されやすくするためのメタデータを提供する必要があります。
ライブチャンネル権限
視聴権限のあるチャンネルのみを(TV入力フレームワーク(TIF)によって提供されている)デバイスのローカルチャンネルデータベースにプッシュするには、アプリを更新する必要があります。チャンネルを更新(または追加/削除)するには、INITIALIZE_PROGRAMS
アクションを使用してブロードキャストレシーバーを登録します。この視聴権限メタデータは、アプリが最初にインストールされたときに確実に更新されるようにします。これは、アプリがバックグラウンドで実行されている間でも実行できます。
チャンネルの編集については、チャンネルデータを利用するを参照してください。
このデータベースにチャンネルがある場合、ユーザーはチャンネルを視聴できます。チャンネルの追加や削除はこのデータベースからいつでも行うことができ、変更は即座にUIに反映されます。これは、このデータベースが、ライブコンテンツの操作時に表示されるすべてのチャンネルの情報源として使用されているためです。
TvContract.Channels
のチャンネル列は、可能な限り埋めてください。GracenoteチャンネルIDがわかっている場合や、再生のディープリンクを指定する場合は、Channels#COLUMN_INTERNAL_PROVIDER_DATA
にその情報を含めることができます(コード例のセクションを参照してください)。
番組メタデータの取得
ライブTVのメタデータを提供するには、GracenoteチャンネルIDを使用します。
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”}という順序で表示されます。 -
もう1つのオプションは、カスタムのチャンネル順です。この順序を使用すると、プロバイダーのチャンネルは、tv.dbの「_id」と一致する順序で表示されます。この「_id」は、挿入された順に割り当てられます。tv.dbでこれらのチャンネルを更新する場合は、チャンネルの順序を維持する必要があります。これは、ライブTVアプリでもFire TV UIと同じ順序が使用されるためです。
一貫性のあるエクスペリエンスを提供するために、アプリ内での順序に最も近いチャンネル順序を選択することを強くお勧めします。オンボーディングプロセスの一環として、Amazonの担当者と協力し、チャンネル順序の決定方法を選択してください。
全画面再生
ディープリンク。Fire TVでは、独自のアプリで全画面再生を実行できる機能が提供されています。この機能を使用するには、ディープリンクインテントをチャンネル情報の一部としてチャンネルデータベースに挿入します。閲覧または検索中にチャンネルが選択されると、このインテントが起動されます。インテントがアクティブになるたびに、リクエストされたチャンネルの全画面再生が開始されます。詳細については、コードサンプルのセクションを参照してください。
スプラッシュ画面のガイドライン
- ユーザーがタイルにフォーカスを置いた後、スプラッシュ画面が開始されるまでにかかる時間は、最大で3秒です。
- フォーカスされたコンテンツのビデオプレビューの再生は、スプラッシュ画面が読み込まれてから2秒後に開始する必要があります。
- パートナーがチャンネルプレビューをサポートし(強く推奨)、ユーザーのFire TV設定で機能制限(PCON)が有効になっている場合、チャンネルプレビューは無効になり(ミニ詳細での再生なし)、Gracenoteに既に含まれている画像の範囲に戻ります。Amazonは、Fire TVまたはパートナーアプリに設定されたコンテンツレーティングや環境設定をブロックしません。このルールはすべてのパートナーとチャンネル提供元に適用されます。
アプリがチャンネルプレビューをサポートし(強く推奨)、ユーザーによるFire TV設定でPCONが有効になっている場合、チャンネルプレビューは無効になり(ミニ詳細での再生なし)、Gracenoteに既に含まれている画像の範囲に戻ります。Amazonは、Fire TVまたはパートナーアプリに設定されたコンテンツレーティングや環境設定をブロックしません。このルールはすべてのパートナーとチャンネル提供元に適用されます。
機能制限
商品の要件に従って、機能制限(PCON)が有効になっている場合は、プレビュー再生でビデオを再生しないようにする必要があります。
TvInputService
で指定されているサーフェスにアプリでコンテンツをレンダリングする場合(ライブプレビューの場合やチャンネルのディープリンクがない場合)は、機能制限が適切に実装されている必要があります。機能制限が有効になっている場合、アプリはコンテンツを表示する前に、エンドユーザーにPINの入力を要求します。ブロックされるべきコンテンツが要求されるたびに、TvInputService
でフォアグラウンドのアプリに通知する必要があります。推奨されるフローについては、コードサンプルのセクションを参照してください。
プロバイダーのアトリビューション
次の3つのアイテムを必ずカスタマイズしてください。
1.ラベル
デフォルトでは、アプリのlabel
は、ユーザーがチャンネルを閲覧する際にヘッダーとして使用されます。このラベルは、12文字以下の全角文字または24文字以下の英数字にする必要があります。別の名前を使用したくてもlabelを変更できない場合は、Amazon担当者と相談してオーバーライドされるようにしてください。
2.ロゴ
アプリのブランドを表すモノクロロゴ(白い画像、透明な背景)を1つ指定してください。ロゴは番組アートの上にオーバーレイされます。この画像ファイルの高さは最大34px、幅は最大でオーバーレイ画像の幅の25%までとする必要があります。
詳細については、Amazonの担当者にお問い合わせください。
3.バナー
パッケージマネージャーでアプリバナーを指定します。例については、コードサンプルのセクションを参照してください。
認定チェックリスト
Amazonは、以下のチェックリストを使用して、ライブTVが統合されたアプリを認定します。アプリの実装が直接関係する動作ポイントは次のとおりです。また、認定の例外は、状況に応じた対応となります。
権限状態の変更
- ユーザーが次のいずれかを実行すると、視聴権限のあるチャンネルがFire TVのUIに表示されます([放送中のチャンネル] 行、チャンネルガイドなど)。 (1)アプリを開いてサインインする。(2)[設定] > [ライブ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)が含まれます。このメタデータ情報は、Gracenoteのマッチング、またはTVコントラクトの一部としてプッシュされるメタデータから提供されます。
- ユーザーが [放映中のチャンネル] 行のチャンネルにフォーカスすると、背景画像に代わってライブチャンネルのプレビューが表示されます。
- ユーザーは、視聴権限のあるこのチャンネルの提供元を把握できる必要があります。このため、背景画像(モノクロ、高さ34px)の一部として、またはライブチャンネルプレビューの再生前のスプラッシュ画面として、プロバイダーアトリビューションを追加します。
- ユーザーがチャンネルを選択すると、全画面再生が開始されます。[戻る] ボタンを1~2回押すとFire TVのUIに戻ります。
- 機能制限(PCON)が有効になっている場合、再生前にPINの入力を求めるプロンプトが表示されます。PCONが有効になっている場合は、ライブチャンネルプレビューを無効にする必要があります。
- Alexaにアクセスする場合は、再生するライブコンテンツの音量を下げます(ビデオは続行されます)。
- (任意)ジャンルをチャンネルに割り当てることができます。この場合、Fire TV UIの追加入力ポイントでチャンネルが表示されます。
開発、ステージング、デプロイ
- 本番環境に進む前に、Amazonが特定のアカウントを許可リストに登録して、統合されたエクスペリエンスを確認および認定できる必要があります。
- 視聴権限のあるチャンネルのみが、両者がリリースに同意したマーケットプレイスのFire TV UIに追加されます。その後、別のマーケットプレイスでリリースする際には、新しい認定レビューとして扱われ、許可リストへの登録が必要となります。
- リリース後に追加または削除されるチャンネルはすべて、Amazonが把握する必要があります。追加されるチャンネルの上限については、両者の合意が必要です。
- (強く推奨)アプリのダウンロードページとリリースノートには、ユーザーがFire TVで利用可能な新機能を把握できるように、ライブTVの統合について記載してください。
更新の実行
アプリを更新する場合は、更新を実行する前に、認定チェックリストの項目を再度確認してください。
チャンネル編成を更新する場合は、認定チェックリストの項目を再度確認し、さらに以下も実行してください。
- 公開の2週間以上前に、Fire TVの担当者に公開タイムラインを通知してください。
- 編成内容に10%以上の増減がある場合は、Fire TVの担当者から明示的な承認を受けてください。
関連トピック
Last updated: 2024年7月16日