TV アプリのチェックリスト
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
TV アプリに一貫性があり、論理的かつ予測可能であれば、ユーザーは TV アプリを楽しむことができます。ユーザーが操作に迷ったり、UI を「リセット」してやり直したりすることなく、アプリ内および Android TV 全体にわたってナビゲートできる必要があります。ユーザーは、魅力的な体験を生み出す、カラフルでわかりやすい機能的なインターフェースを好みます。こうしたアイデアを参考にすることで、ユーザーの期待どおりに動作する、Android TV にぴったりのアプリを作成できます。
これらのチェックリストは、アプリおよびゲーム開発の主要な要素を対象としています。また、アプリのエクスペリエンスを最大限に高めるためのガイドラインも紹介します。ゲームのみを対象とするその他の考慮事項については、ゲームのセクションをご覧ください。
Android TV アプリを Google Play で配信するための条件については、テレビ向けアプリの品質をご覧ください。
テレビのフォーム ファクタのサポート
以下のチェックリスト項目は、ゲームとアプリに適用されます。
ユーザー インターフェースの設計
以下のチェックリスト項目は、ゲームとアプリに適用されます。
検索とコンテンツの発見
以下のチェックリスト項目は、ゲームとアプリに適用されます。
-
アプリからの検索結果を Android TV のグローバル検索ボックスに表示します。
-
TV 固有のデータ フィールドを検索用に用意します。
-
発見したコンテンツをアプリの詳細画面に表示して、ユーザーがその画面からコンテンツをすぐに視聴できるようにします。
TV のホーム画面
以下のチェックリスト項目は、ホーム画面のレイアウトとコンテンツに適用されます。
チャンネル
- チャンネルのコンテンツを表すわかりやすい名前を入力します。アプリの名前をチャンネル名として使わないでください。
- ユーザーとのなんらかのやり取りが行われるまでチャンネル名を変更しないでください。
- 各チャンネルに関連するアイコンを含めます。アイコンをアプリの正式なアイコンにする必要はありませんが、チャンネル内のコンテンツのブランドを表すものになる場合があります。
- 各チャンネルはユニークである必要があります。また、次のおすすめの行に似た機能にならないようにする必要があります。たとえば、ユーザーが中止した動画の視聴を再開するためのチャンネルは、チャンネルの有効な用途ではありません。
チャンネルのコンテンツ
- チャンネル内の各プログラムは 1 つのコンテンツに限定してください。プログラムに動画のコレクションを含めてはなりません。
- プログラムをプロモーション メッセージや広告に使用しないでください。
- プログラムごとに適切な説明を含め、メタデータを正しくマッピングします。たとえば、タイトルが表示されるはずの場所にコンテンツのレーティングを表示しないでください。
- 番組のコンテンツを表すプレビュー画像の切り抜きや引き伸ばしを行わないでください。プレビュー画像は、使用可能なアスペクト比のいずれかに収まる必要があります。
- ユーザーがプログラムを選択したら、すぐに開始します。
次のおすすめ
- ユーザーがなんらかの方法で次のおすすめの行を操作していない限り、次のおすすめの行にコンテンツを追加しないでください。たとえば、ユーザーが現在視聴しているシリーズの次のエピソードを追加することはできますが、ユーザーが現在のシリーズを見終わったときに関連する別のシリーズを追加してはなりません。
- 次のおすすめのコンテンツは、従来のテレビ番組、映画、またはイベントに限定します。次のおすすめの行にクリップを追加しないでください。
再生アプリ
以下のチェックリスト項目は、メディアの再生を行うアプリに適用されます。
ゲーム
以下のチェックリスト項目は、ゲームに適用されます。
-
ゲームがホーム画面のゲーム セクションに表示されるように、マニフェストで
isGame
フラグを設定します。
-
ゲーム コントローラのサポートが開始ボタン、選択ボタン、メニューボタンに依存しないようにします。すべてのコントローラにこれらのボタンがあるわけではありません。
-
ゲームボタンのマッピングの表示には、特定のブランドのコントローラを使用しない一般的なゲームパッドのグラフィックを使用します。
-
イーサネットと Wi-Fi の両方の接続を確認します。
-
わかりやすいアプリの終了方法をユーザーに提供します。
Android TV に配布する
Android TV に配信する方法については、Google Play で TV アプリを公開するための詳細なガイドをご覧ください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[null,null,["最終更新日 2025-07-27 UTC。"],[],[],null,["# TV apps checklists\n\nUsers enjoy the TV app experience when it is consistent, logical, and predictable.\nThey should be able to navigate within your app and throughout Android TV without getting lost or\nhaving to \"reset\" the UI and start over. Users appreciate clear, colorful, and functional interfaces\nthat make the experience magical. With these ideas in mind, you can create an app that fits nicely\nin Android TV and performs as users expect.\n\n\nThese checklists cover the main aspects of development for both apps and games\nto help ensure that your app provides the best possible experience. Additional considerations\nfor games only are covered in the [Games](#games) section.\n\n\nFor the criteria that qualify an Android TV app to be distributed through Google Play, see\n[TV app quality](/docs/quality-guidelines/tv-app-quality).\n\nTV form factor support\n----------------------\n\nThese checklist items apply to games and apps.\n\n- Identify the [main TV activity](/training/tv/get-started/create#tv-activity) with the [CATEGORY_LEANBACK_LAUNCHER](/reference/android/content/Intent#CATEGORY_LEANBACK_LAUNCHER) filter in the manifest.\n- Provide a [home screen banner](/training/tv/get-started/create#banner) for each language supported by your app, with the following characteristics:\n - Banner measures 320x180 px.\n - Banner resource is in the `drawables/xhdpi` directory.\n - Banner image includes localized text to identify the app.\n- Consider whether your app needs to prevent the device from entering [Ambient Mode](/training/tv/playback/ambient-mode). This is particularly relevant for media [playback apps](#playback-apps).\n- Don't [declare a requirement](/training/tv/get-started/hardware#declare-hardware-requirements) for hardware that might be unsupported.\n- Make sure your [permissions](/training/tv/get-started/hardware#hardware-permissions) don't imply hardware requirements.\n\nUser interface design\n---------------------\n\nThese checklist items apply to games and apps.\n\n- Specify activities with landscape orientation by setting `android:`[screenOrientation](/guide/topics/manifest/activity-element#screen)`=\"landscape\"`.\n- Provide appropriate [layout resources](/training/tv/playback/leanback/layouts#structure) for landscape mode.\n- Make sure that [text and controls](/training/tv/playback/leanback/layouts#visibility) are large enough to be visible from a distance.\n- Provide [high-resolution bitmaps and icons](/training/tv/playback/leanback/layouts#density-resources) for HDTV screens.\n- Make sure your icons and logo conform to Android TV specifications.\n- Allow for [overscan](/training/tv/playback/leanback/layouts#overscan) in your layout.\n- When actively playing user-initiated media playback, prevent the device from entering [Ambient Mode](/training/tv/playback/ambient-mode).\n- Make sure every UI element works with both D-pad and game controllers. See [TV navigation](/training/tv/get-started/navigation) and [Handle TV hardware](/training/tv/get-started/hardware#controllers).\n- Change the [background image](/training/tv/playback/leanback/browse#background) as users browse through content.\n- Customize the [background color](/training/tv/playback/leanback/card) to match your branding in Leanback fragments.\n- Make sure that your UI does not require a touchscreen. See [Touchscreen](/training/tv/get-started/hardware#no-touchscreen) and [Declare touchscreen not required](/training/tv/get-started/create#no-touchscreen).\n- Follow the [guidelines for effective advertising](/training/tv/playback/leanback/layouts#advertising).\n- To guide the user through a series of decisions, use the Leanback library's [guided step API](/training/tv/playback/leanback/guided-step).\n\nSearch and content discovery\n----------------------------\n\nThese checklist items apply to games and apps.\n\n- Provide [search results](/training/tv/discovery/searchable#provide) from your app in the Android TV global search box.\n- Provide TV-specific [data fields](/training/tv/discovery/searchable#columns) for search.\n- Make sure your app presents discovered content in a [details screen](/training/tv/discovery/searchable#details) that lets the user start watching the content immediately.\n\nTV home screen\n--------------\n\n\nThese checklist items apply to the layout and content of the [home screen](/training/tv/discovery/recommendations-channel).\n\n### Channels\n\n- Provide a meaningful name that represents the channel's content. Don't use your app's name as a channel name.\n- Don't change the channel name unless there is some interaction with the user.\n- Include an associated icon for each channel. The icon doesn't need to be your app's exact icon; it can be a branded representation of the content in the channel.\n- Make each channel unique, and don't mimic the functionality of the Play Next row. For example, letting users continue watching where they left off in a video is not a valid use for a channel.\n\n### Content in channels\n\n- Limit each program in a channel to a single piece of content. A program must not contain a collection of videos.\n- Don't use programs for promotional messages or ads.\n- Include a suitable description for each program, and map its metadata correctly. For example, the content rating must not appear where the title is expected.\n- Don't crop or stretch preview images representing program content. They must fit one of the available [aspect ratios](/training/tv/discovery/preview-videos).\n- Start playing a program as soon as the user selects it.\n\n### Play Next\n\n- Don't add content to the Play Next row unless the user has been interacting with it some way. For example, you can add the next episode in a series that the user is currently watching, but don't add a related but different series when the user completes the current series.\n- Limit Play Next content to traditional TV shows, movies, or events. Don't add clips to the Play Next row.\n\nPlayback apps\n-------------\n\nThese checklist items apply to apps that perform media playback.\n\n- [Register a media session](/guide/topics/media-apps/working-with-a-media-session) to inform the platform of media playback state and to let playback controls be delegated to the app.\n- Set the [`FLAG_KEEP_SCREEN_ON`](/reference/android/view/WindowManager.LayoutParams#FLAG_KEEP_SCREEN_ON) flag while video is playing on the screen to [prevent the\n device from entering standby or Ambient Mode during playback](/training/tv/playback/ambient-mode#preventing-ambient-mode).\n- Validate that media commands accurately expose metadata and control playback using [Media Controller Test](https://github.com/googlesamples/android-media-controller) and the [Media Session\n Validator](https://developers.google.com/cast/docs/android_tv_receiver/mediasession_validator).\n- Comply with the [Ambient mode-related quality\n guidelines.](/docs/quality-guidelines/tv-app-quality#ambient-mode) Ambient Mode keeps users quietly entertained between watch sessions and prevents screen burn in.\n- Profile your app's memory and make sure to check [`ActivityManager.isLowRamDevice()`](/reference/android/app/ActivityManager#isLowRamDevice()) for discovering low-RAM devices. For those devices, you must follow the requirements in the [Optimize memory usage guidelines](/training/tv/playback/memory).\n\nGames\n-----\n\nThese checklist items apply to games.\n\n- Set the `isGame` flag in the manifest so that your game appears in the games section of the [home screen](/training/tv/games#Launcher).\n- Make sure [game controller\n support](/training/tv/games#control) doesn't depend on the Start, Select, or Menu buttons. Not all controllers have these buttons.\n- Use a generic gamepad graphic, without specific controller branding, to show [game button mappings](/training/tv/games#control).\n- Check for both ethernet and Wi-Fi [connectivity](/training/basics/network-ops/reading-network-state).\n- Provide users with a clean way to [exit](/training/tv/games#exit) your app.\n\nDistribute to Android TV\n------------------------\n\n\nTo learn how to distribute to Android TV, see the\n[detailed guide for publishing TV apps on Google\nPlay](/training/tv/publishing/distribute)."]]