Users enjoy the TV app experience when it is consistent, logical, and predictable. They should be able to navigate within your app and throughout Android TV without getting lost or having to "reset" the UI and start over. Users appreciate clear, colorful, and functional interfaces that make the experience magical. With these ideas in mind, you can create an app that fits nicely in Android TV and performs as users expect.
This checklist covers the main aspects of development for both apps and games and provides guidelines to ensure that your app provides the best possible experience. Additional considerations for games only are covered in the Games section.
For criteria that qualify an Android TV app on Google Play, see TV app quality.
TV Form Factor Support
These checklist items apply to Games and Apps.
-
Identify the main TV activity with the
CATEGORY_LEANBACK_LAUNCHER
filter in the manifest. -
Provide a home screen banner for each language supported by your app
- Launcher app banner measures 320x180 px
- Banner resource is located in the
drawables/xhdpi
directory - Banner image includes localized text to identify the app.
- Does your app need to prevent the device from entering Ambient Mode? This is particularly relevant for media playback apps.
- Do not declare a requirement for hardware that might be unsupported.
- Ensure permissions do not imply hardware requirements.
User Interface Design
These checklist items apply to Games and Apps.
-
Specify activities with landscape orientation by setting
android:screenOrientation="landscape"
. - Provide appropriate layout resources for landscape mode.
- Ensure that text and controls are large enough to be visible from a distance.
- Provide high-resolution bitmaps and icons for HDTV screens.
- Make sure your icons and logo conform to Android TV specifications.
- Allow for overscan in your layout.
- When actively playing user-initiated media playback, ensure that you prevent the device from entering Ambient Mode.
- Make sure every UI element works with both D-pad and game controllers. See Create TV navigation and Handle TV hardware.
- Change the background image as users browse through content.
- Customize the background color to match your branding in Leanback fragments.
- Ensure that your UI does not require a touch screen. See Touch screen and Declare touch screen not required.
- Follow the guidelines for effective advertising.
- To guide the user through a series of decisions, use the Leanback library's guided step API.
Search and Content Discovery
These checklist items apply to Games and Apps.
- Provide search results from your app in the Android TV global search box.
- Provide TV-specific data fields for search.
- Make sure your app presents discovered content in a details screen that lets the user start watching the content immediately.
TV home screen
These checklist items apply to the layout and content of the home screen.
Channels
- Each channel must have a meaningful name that represents the channel's content. Do not use your app's name as a channel name.
- The channel name must not change unless there is some interaction with the user.
- Each channel must have an associated icon. The icon does not need to be your app's exact icon; it could be a branded representation of the content in the channel.
- Each channel must be unique and must not mimic the functionality of the Play Next row. For example, a channel that lets users continue watching where they left off in a video is not a valid use for a channel.
Content in Channels
- Each program in a channel must have a single piece of content. A program must not contain a collection of videos.
- A program must not be a promotional message or an ad.
- A program must have a suitable description and its metadata must be mapped correctly. For example, the content rating must not appear where the title is expected.
- Preview images representing the content must be be not cropped or stretched. They must fit one of the available aspect ratios.
- A program must start playing as soon as the user selects it.
Play Next
- Do not 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 you must not add a related (but different) series when the user completes the current series.
- The Play Next content must be traditional TV shows, movies, or events. Do not add clips to the Play Next row.
Playback apps
These checklist items apply to apps that perform media playback.
- Register a media session to inform the platform of media playback state and allow playback controls to be delegated to the app.
-
Your app must set the
FLAG_KEEP_SCREEN_ON
flag while video is playing on the screen, to prevent the device from entering standby or Ambient Mode during playback. - Validate that media commands accurately expose metadata and control playback using Media Controller Test and the Media Session Validator.
- Ambient Mode keeps users quietly entertained between watch sessions and prevents screen burn in. Apps must comply with the Ambient mode related quality guidelines.
Games
These checklist items apply to Games.
-
Your game must appear in the games section of the home screen. Set the
isGame
flag in the manifest. - Make sure game controller support does not depend upon the Start, Select, or Menu buttons (not all controllers have these).
- Use a generic gamepad graphic (without specific controller branding) to show game button mappings.
- Check for both ethernet and WiFi connectivity.
- Provide users with a clean way to exit your app.
Distribute to Android TV
To learn more about distributing to Android TV, see the detailed guide for publishing TV apps on Google Play.