TV アプリに一貫性があり、論理的かつ予測可能であれば、ユーザーは TV アプリを楽しむことができます。ユーザーが操作に迷ったり、UI を「リセット」してやり直したりすることなく、アプリ内および Android TV 全体にわたってナビゲートできる必要があります。ユーザーは、魅力的な体験を生み出す、カラフルでわかりやすい機能的なインターフェースを好みます。こうしたアイデアを参考にすることで、ユーザーの期待どおりに動作する、Android TV にぴったりのアプリを作成できます。
これらのチェックリストは、アプリおよびゲーム開発の主要な要素を対象としています。また、アプリのエクスペリエンスを最大限に高めるためのガイドラインも紹介します。ゲームのみを対象とするその他の考慮事項については、ゲームのセクションをご覧ください。
Android TV アプリを Google Play で配信するための条件については、テレビ向けアプリの品質をご覧ください。
TV のフォーム ファクタのサポート
以下のチェックリスト項目は、ゲームとアプリに適用されます。
-
マニフェストの
CATEGORY_LEANBACK_LAUNCHER
フィルタで主な TV アクティビティを指定します。 -
アプリがサポートする各言語用にホーム画面バナーを用意します。バナーには次の特性が必要です。
- バナーのサイズは 320x180 ピクセルです。
- バナー リソースは
drawables/xhdpi
ディレクトリにあります。 - バナーの画像にローカライズしたテキストを含めて、アプリを特定できるようにする
- アプリでデバイスがアンビエント モードに移行するのを防ぐ必要があるかどうかを検討します。これは、メディアの再生アプリに特に関連しています。
- サポート対象外の可能性があるハードウェアの要件を宣言しないようにします。
- 権限からハードウェア要件がわからないようにします。
ユーザー インターフェースの設計
以下のチェックリスト項目は、ゲームとアプリに適用されます。
-
android:screenOrientation="landscape"
を設定して、横向きのアクティビティを指定します。 - 横表示に適したレイアウト リソースを提供します。
- テキストとコントロールを離れたところからでも見える大きさにします。
- HDTV 画面用に高解像度のビットマップとアイコンを用意します。
- アイコンとロゴが Android TV の仕様に準拠するようにします。
- レイアウト内でのオーバースキャンを許可します。
- ユーザーが開始したメディア再生をアクティブに再生している場合は、デバイスがアンビエント モードに移行しないようにします。
- すべての UI 要素を D-pad コントローラとゲーム コントローラの両方で使用できるようにします。TV ナビゲーションと TV ハードウェアに対応するをご覧ください。
- ユーザーがコンテンツをブラウジングしている間に背景画像を変更します。
- Leanback フラグメントのブランディングに合わせて背景色をカスタマイズします。
- UI にタッチ スクリーンが必要ないことを確認します。詳しくは、タッチ スクリーンおよびタッチ スクリーンが不要であることを宣言するをご覧ください。
- 効果的な広告を提供するためのガイドラインに従います。
- ユーザーの意思決定プロセスをサポートするために、Leanback ライブラリの手順ガイド API を使用します。
検索とコンテンツの発見
以下のチェックリスト項目は、ゲームとアプリに適用されます。
- アプリからの検索結果を Android TV のグローバル検索ボックスに表示します。
- TV 固有のデータ フィールドを検索用に用意します。
- 発見したコンテンツをアプリの詳細画面に表示して、ユーザーがその画面からコンテンツをすぐに視聴できるようにします。
TV のホーム画面
以下のチェックリスト項目は、ホーム画面のレイアウトとコンテンツに適用されます。
チャンネル
- チャンネルのコンテンツを表すわかりやすい名前を入力します。アプリの名前をチャンネル名として使わないでください。
- ユーザーとのなんらかのやり取りが行われるまでチャンネル名を変更しないでください。
- 各チャンネルに関連するアイコンを含めます。アイコンをアプリの正式なアイコンにする必要はありませんが、チャンネル内のコンテンツのブランドを表すものになる場合があります。
- 各チャンネルはユニークである必要があります。また、次のおすすめの行に似た機能にならないようにする必要があります。たとえば、ユーザーが中止した動画の視聴を再開するためのチャンネルは、チャンネルの有効な用途ではありません。
チャンネルのコンテンツ
- チャンネル内の各プログラムは 1 つのコンテンツに制限します。プログラムに動画のコレクションを含めてはなりません。
- プログラムをプロモーション メッセージや広告に使用しないでください。
- プログラムごとに適切な説明を含め、メタデータを正しくマッピングします。たとえば、タイトルが表示されるはずの場所にコンテンツのレーティングを表示しないでください。
- 番組コンテンツを表すプレビュー画像の切り抜きや引き伸ばしを行わないでください。プレビュー画像は、使用可能なアスペクト比のいずれかに収まる必要があります。
- ユーザーがプログラムを選択したら、すぐに開始します。
次のおすすめ
- ユーザーがなんらかの方法で次のおすすめの行を操作していない限り、次のおすすめの行にコンテンツを追加しないでください。たとえば、ユーザーが現在視聴しているシリーズの次のエピソードを追加することはできますが、ユーザーが現在のシリーズを見終わったときに関連する別のシリーズを追加してはなりません。
- 次のおすすめのコンテンツは、従来のテレビ番組、映画、またはイベントに限定します。次のおすすめの行にクリップを追加しないでください。
再生アプリ
以下のチェックリスト項目は、メディアの再生を行うアプリに適用されます。
- メディア セッションを登録して、メディアの再生状態をプラットフォームに通知し、再生コントロールをアプリに委任します。
-
画面で動画を再生しているときに
FLAG_KEEP_SCREEN_ON
フラグを設定すると、再生中にデバイスがスタンバイモードまたはアンビエント モードにならないようにできます。 - メディア コントローラ テストと メディア セッション バリデータを使用して、メディア コマンドがメタデータを正確に公開し、再生を制御することを検証します。
- アンビエント モード関連の品質に関するガイドラインに準拠します。アンビエント モードでは、視聴セッションの合間に静かに楽しむことができ、画面の焼き付きを防ぐことができます。
-
アプリのメモリをプロファイリングし、
ActivityManager.isLowRamDevice()
をチェックして低 RAM デバイスを検出します。これらのデバイスについては、メモリ使用量を最適化するガイドラインの要件に従う必要があります。
ゲーム
以下のチェックリスト項目は、ゲームに適用されます。
-
ゲームがホーム画面のゲーム セクションに表示されるように、マニフェストで
isGame
フラグを設定します。 - ゲーム コントローラのサポートが開始ボタン、選択ボタン、メニューボタンに依存しないようにします。すべてのコントローラにこれらのボタンがあるわけではありません。
- ゲームボタンのマッピングの表示には、特定のブランドのコントローラを使用しない一般的なゲームパッドのグラフィックを使用します。
- イーサネットと Wi-Fi の両方の接続を確認します。
- わかりやすいアプリの終了方法をユーザーに提供します。
Android TV に配布する
Android TV に配信する方法については、Google Play で TV アプリを公開するための詳細なガイドをご覧ください。