Users have different expectations when watching TV than when they are using a phone or tablet. A typical TV user sits about 10 feet away from the screen, so small details are less noticeable and small text is hard to read. Since users sit away from a TV, they must use a remote control device to navigate and make selections rather than touching elements on the screen. These differences significantly affect the requirements for what makes a good TV user experience.

The first step toward creating a great experience for TV users is to review and follow the[Android TV design guidelines](https://developer.android.com/design/tv). To understand the fundamental implementation requirements for a TV app, also review the[Build TV Apps](https://developer.android.com/training/tv/start)training.

For information about how to publish your TV apps in Google Play, see[Distribute to Android TV](https://developer.android.com/training/tv/publishing/checklist#distribute-to-android-tv).  

## Visual design and user interaction

The following criteria help ensure that your app follows critical design and interaction patterns for a consistent, intuitive, and enjoyable user experience on TV devices.

|    Type    | Test  |                                                                                                                                                                       Description                                                                                                                                                                        |
|------------|-------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Launcher   | TV-LM | The app displays a launcher icon in the Android TV Launcher after installation. For more information, see[Declare a TV activity](https://developer.android.com/training/tv/start/start#tv-activity).                                                                                                                                                     |
| Launcher   | TV-LB | The app displays both a 320x180 pixel full-size banner and at least a 160x160 pixel (at`xhdpi`density) app icon as its launcher icons in the Android TV Launcher. For more information, see[Android TV app icon and banner guidelines](https://developer.android.com/design/ui/tv/guides/system/tv-app-icon-guidelines).                                 |
| Launcher   | TV-BN | The app launch banner contains the name of the app.                                                                                                                                                                                                                                                                                                      |
| Launcher   | TV-LG | If the app is a game, it appears in the Games row in the Android TV Launcher. For more information, see[Show your game on the home screen](https://developer.android.com/training/tv/games#Launcher).                                                                                                                                                    |
| Launcher   | TV-LS | The app runs successfully and without error messages, including during installation, loading, and testing. For more information, see[Run TV apps](https://developer.android.com/training/tv/start/start#run).                                                                                                                                            |
| Layout     | TV-LO | All app interfaces are presented in landscape orientation and without vertical letterboxing/pillarboxing. Only black color may be used for bars on original format videos. For more information, see[Build basic TV layouts](https://developer.android.com/training/tv/start/layouts#structure).                                                         |
| Layout     | TV-OV | The app does not display any text or functionality that is partially cut off by the edges of the screen. For more information, see[Overscan](https://developer.android.com/training/tv/start/layouts#overscan).                                                                                                                                          |
| Layout     | TV-TR | The app does not partially obscure other apps. The app fills the entire screen and has a non-transparent background.                                                                                                                                                                                                                                     |
| Navigation | TV-DP | The app functionality is navigable using five-way D-pad controls---unless the app requires a game controller, as specified in the TV-GP criterion in the Controllers section of the Functionality table that follows. For more information, see[TV Navigation](https://developer.android.com/training/tv/start/navigation#d-pad-navigation).             |
| Navigation | TV-DK | If the app requires a game controller, as specified in the TV-GP criterion, all functionality is navigable using standard Android game controller keys. For more information, see[Process gamepad button presses](https://developer.android.com/training/game-controllers/controller-input#button).                                                      |
| Navigation | TV-DM | The app does not depend on a remote control device having a Menu button to access user interface controls.                                                                                                                                                                                                                                               |
| Navigation | TV-DB | Back button presses lead back to the Android TV home screen. For more information, see[Provide appropriate Back-button behavior](https://developer.android.com/training/tv/start/controllers#back-button).                                                                                                                                               |
| Navigation | TV-DL | If the app has a live TV feed integrated on the Live tab, the app meets frictionless playback and direct-back requirements. For more information, see[Back Button](https://developer.android.com/training/tv/start/navigation#back_button).                                                                                                              |
| Search     | TV-SB | An in-app search query shows up in the search box, similar to the user interface provided by[SearchFragment](https://developer.android.com/reference/androidx/leanback/app/SearchFragment), and results are relevant to that query. For more information, see[Search within TV apps](https://developer.android.com/training/tv/discovery/in-app-search). |

## Functionality and performance

These criteria ensure that your app is configured correctly and provides the expected functional behavior.

|       Type       | Test  |                                                                                                                                                                                                                                                                                                                              Description                                                                                                                                                                                                                                                                                                                               |
|------------------|-------| |
| Manifest         | TV-ML | The app manifest sets an intent type of[ACTION_MAIN](https://developer.android.com/reference/android/content/Intent#ACTION_MAIN)with category[CATEGORY_LEANBACK_LAUNCHER](https://developer.android.com/reference/android/content/Intent#CATEGORY_LEANBACK_LAUNCHER). For more information, see[Declare a TV activity](https://developer.android.com/training/tv/start/start#tv-activity).                                                                                                                                                                                                                                                                             |
| Manifest         | TV-MT | The app manifest sets the hardware feature`android.hardware.touchscreen`and others listed in the "Declare hardware requirements for TV" to not required. For more information, see[Declare hardware requirements for TV](https://developer.android.com/training/tv/start/hardware#declare-hardware-requirements).                                                                                                                                                                                                                                                                                                                                                      |
| Game Controllers | TV-GP | If the app uses a game controller as its primary input method, it declares the appropriate requirement with the[`<uses-feature>`](https://developer.android.com/guide/topics/manifest/uses-feature-element)manifest tag. For more information, see[Declare support for game controllers](https://developer.android.com/training/tv/games#gamepad).                                                                                                                                                                                                                                                                                                                     |
| Game Controllers | TV-GC | If the app provides visual instructions for using game controllers, the instructions are free of branding and show a compatible button layout. For more information, see[Handle controllers for games](https://developer.android.com/training/tv/start/controllers#games).                                                                                                                                                                                                                                                                                                                                                                                             |
| Advertising      | TV-AP | The app offers interaction with advertising using D-pad controls. For more information, see[Enable D-pad navigation](https://developer.android.com/training/tv/start/navigation#enable_d-pad_navigation).                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Advertising      | TV-AD | For advertising that uses fullscreen, non-video ads, the app lets the user immediately dismiss the ad with D-pad or gamepad controls.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Advertising      | TV-AU | For advertising that uses clickable, non-fullscreen, non-video ads, the app does not let ads link to a web URL.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Advertising      | TV-AA | For advertising that uses clickable, non-fullscreen, non-video ads, the app does not let ads link to another app that is not available on TV devices.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Web Content      | TV-WB | For web content, the app may only use[WebView](https://developer.android.com/reference/android/webkit/WebView)components. The app may not attempt to launch a web browser app.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Media Playback   | TV-NP | If the app continues to play audio after the user returns to the home screen or switches to another app, the app provides a*Now Playing* card on the home screen recommendation row so users can return to the app to control playback. For more information, see[Display a Now Playing card](https://developer.android.com/training/tv/playback/now-playing). We recommend that you pause video when the user switches out of the app, and don't integrate video with the*Now Playing*card.                                                                                                                                                                           |
| Media Playback   | TV-PA | If the app provides a*Now Playing*card, selecting this card takes the user to a screen that lets them pause playback.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Media Playback   | TV-PP | If the app plays video or music content, the app toggles between playing and pausing media playback when a play or pause key event is sent during playback. For more information, see[`KEYCODE_MEDIA_PLAY_PAUSE`](https://developer.android.com/reference/android/view/KeyEvent#KEYCODE_MEDIA_PLAY_PAUSE).                                                                                                                                                                                                                                                                                                                                                             |
| Media Playback   | TV-PC | While a video or audio is playing, pressing the D-pad center button pauses the media that is playing. When playback is paused, pressing the D-pad center button resumes playback. The D-pad left and right buttons fast-forward and rewind the current track, respectively. For more information, see[Media events](https://developer.android.com/training/tv/start/controllers#media-events).                                                                                                                                                                                                                                                                         |
| Media Playback   | TV-PN | Items are added to the Watch Next channel based on the[Watch Next guidelines for app developers](https://developer.android.com/training/tv/discovery/guidelines-app-developers).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Ambient Mode     | TV-BU | When there is user-initiated active video playback, the app prevents the device from going into Ambient Mode. For more information, see[Ambient Mode](https://developer.android.com/training/tv/playback/ambient-mode).                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Ambient Mode     | TV-BY | When there is no user-initiated active video playback or animation, the app does not prevent the device from going into Ambient Mode.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Ambient Mode     | TV-BA | For audio-only playback, the app does not prevent the device from going into Ambient Mode unless the app implements an experience of non-static imagery, such as music videos or images, while music is playing.                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Memory           |
| Memory           | TV-ME | For low RAM devices (where[ActivityManager.isLowRamDevice()](https://developer.android.com/reference/android/app/ActivityManager#isLowRamDevice())returns true), the maximum memory usage ([Anon+Swap](https://developer.android.com/training/tv/playback/memory#anon-swap-memory)+[Graphics](https://developer.android.com/training/tv/playback/memory#graphics-memory)+[File Memory](https://developer.android.com/training/tv/playback/memory#file-memory)) of a foreground app must remain within the limits (including specific measurement mechanisms and caveats) defined in[Optimize memory usage.](https://developer.android.com/training/tv/playback/memory) |
| Memory           |

## Google Play

Follow these requirements to configure your app consistently with other listings and classifications on Google Play:

|        Type        | Test  |                                                                                                                                                                  Description                                                                                                                                                                  |
|--------------------|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Picture-in-picture | TV-IC | The app sets the proper metadata to categorize its usage of picture-in-picture to one of the permitted usage types. It also declares a title and subtitle that accurately represent what this PIP is being used for. For more information, see[Multitasking on TV](https://developer.android.com/training/tv/start/multitasking#usage-types). |
| Picture-in-picture | TV-IP | While in picture-in-picture, the app does not display promotional material or advertising that is not inherently part of the content source.                                                                                                                                                                                                  |
| Picture-in-picture | TV-IQ | While in picture-in-picture mode, the app does not degrade the experience of another fullscreen activity. The app shouldn't use excessive resources, take over audio focus, interfere with the active MediaSession, or request a disproportionate number of decoder sessions.                                                                 |
| Picture-in-picture | TV-IH | The app does not show any UI controls or navigable elements while in picture-in-picture mode. Apps may expose certain[user controls](https://developer.android.com/develop/ui/views/picture-in-picture)directly in the PiP window.                                                                                                            |
| Picture-in-picture | TV-IE | Entering picture-in picture mode requires explicit and intentional action by the user within the app. The app does not automatically enter PiP ([setAutoEnterEnabled](https://developer.android.com/reference/android/app/PictureInPictureParams.Builder#setAutoEnterEnabled(boolean))set to`false`) unless the user is in an ongoing call.   |
| Picture-in-picture | TV-IS | The app must not show any UI to enter PiP if picture-in-picture mode is[disabled](https://developer.android.com/guide/topics/ui/picture-in-picture#best)on a device.                                                                                                                                                                          |
| Picture-in-picture | TV-IX | The app uses picture-in-picture mode only for the continuation of an ongoing activity. The picture-in-picture experience does not incentivize or encourage users to return to the fullscreen view of the app during the ongoing or after the activity has concluded.                                                                          |
| Play Policies      | TV-G1 | The use of[Android App Bundles](https://developer.android.com/guide/app-bundle)is mandatory for all new and existing TV apps in the Google Play Store.                                                                                                                                                                                        |
| Play Policies      | TV-G2 | Your app must follow the[Play Developer Policy Center](https://play.google.com/about/developer-content-policy/)requirements.                                                                                                                                                                                                                  |
| App details page   | TV-G3 | App functionality works as expected or as described in the app's Google Play Store listing.                                                                                                                                                                                                                                                   |
| App details page   | TV-G4 | App submission has uploaded at least one unaltered, high resolution screenshot that accurately depicts the current version of your TV app experience.                                                                                                                                                                                         |
| Login Credentials  | TV-G5 | For apps with paid features, you must provide login credentials in the Google Play Console for testing of the full app experience. For more information, see[App Access in Prepare your app for review](https://support.google.com/googleplay/android-developer/answer/9859455).                                                              |

## Frequently asked questions

**After I submit my app, how will find out if my app does not meet all the requirements for TV devices?**

If your app doesn't meet the usability requirements described on this page, the Play Store team will contact you through the email address specified in the[Google Play Console](https://play.google.com/console/)account associated with the app.

**Caution:** Make sure your app includes the[required manifest entries](https://developer.android.com/training/tv/start/start#tv-activity)for TV devices. Otherwise, your app won't be considered a TV app and won't be reviewed for TV usability requirements.

**My app targets form factors other than just TV devices. If my app does not meet the TV device requirements, will my new or updated app still appear on Google Play for other devices?**

Updates to your Google Play store listing can only be published if all changes are approved. If an update of a form-factor-specific artifact is blocking further updates to your listing for other devices such as phones or tablets, you may want to remove that artifact by replacing it with an empty submission until you can address the requirements.

**If my app meets the publishing requirements, when will it be available in the Google Play Store on TV devices?**

Apps that meet the requirements for TV will appear on the Play Store on TV devices immediately.