1page.title=TV Apps Checklist 2page.tags="tv", "checklist" 3page.article=true 4 5@jd:body 6 7<div id="tb-wrapper"> 8<div id="tb"> 9 <h2>Checklist sections</h2> 10 <ul> 11 <li><a href="#leanback">TV Form Factor Support</a></li> 12 <li><a href="#design">User Interface Design</a></li> 13 <li><a href="#discovery">Search and Content Discovery</a></li> 14 <li><a href="#games">Games</a></li> 15 </ul> 16 <h2>You should also read</h2> 17 <ul> 18 <li><a href="{@docRoot}distribute/essentials/quality/tv.html">TV App Quality</a></li> 19 <li><a href="http://android-developers.blogspot.com/2014/10/material-design-on-android-checklist.html"> 20 Material Design on Android Checklist</a></li> 21 <li><a href="{@docRoot}distribute/tools/launch-checklist.html"> 22 Launch Checklist</a></li> 23 </ul> 24</div> 25</div> 26 27<p> 28 Users enjoy the TV app experience when it is consistent, logical, and predictable. 29 They should be able to navigate within your app and throughout Android TV without getting lost or 30 having to "reset" the UI and start over. Users appreciate clear, colorful, and functional interfaces 31 that make the experience magical. With these ideas in mind, you can create an app that fits nicely 32 in Android TV and performs as users expect. 33</p> 34 35<p> 36 This checklist covers the main aspects of development for both apps and games and provides 37 guidelines to ensure that your app provides the best possible experience. Additional considerations 38 for games only are covered in the <em>Games</em> section. 39</p> 40 41<p> 42 For criteria that qualify an Android TV app on Google Play, see 43 <a href="{@docRoot}distribute/essentials/quality/tv.html">TV App Quality</a>. 44</p> 45 46<h2 id="leanback">TV Form Factor Support</h2> 47 48<p>These checklist items apply to <strong>Games</strong> and <strong>Apps</strong>.</p> 49 50<ol> 51 52<li> 53 Identify the main TV activity with the {@link android.content.Intent#CATEGORY_LEANBACK_LAUNCHER} 54 filter in the manifest. 55 <p>See <a href="{@docRoot}training/tv/start/start.html#tv-activity">Declare a TV Activity</a>.</p> 56</li> 57 58<li> 59 Provide a home screen banner for each language supported by your app 60 <ul> 61 <li>Launcher app banner measures 320x180 px</li> 62 <li>Banner resource is located in the {@code drawables/xhdpi} directory</li> 63 <li>Banner image includes localized text to identify the app.</li> 64 </ul> 65 <p>See <a href="{@docRoot}training/tv/start/start.html#banner">Provide a home screen banner</a>.</p> 66</li> 67 68<li> 69 Eliminate requirements for unsupported hardware in your app. 70 <p>See <a href="{@docRoot}training/tv/start/hardware.html#declare-hardware-requirements">Declaring hardware requirements for TV</a>.</p> 71</li> 72 73<li> 74 Ensure permissions do not imply hardware requirements 75 <p>See <a href="{@docRoot}training/tv/start/hardware.html#hardware-permissions">Declaring permissions that imply hardware features</a>.</p> 76</li> 77 78</ol> 79 80 81<h2 id="design">User Interface Design</h2> 82 83<p>These checklist items apply to <strong>Games</strong> and <strong>Apps</strong>.</p> 84 85<ol> 86 87<li> 88 Provide appropriate layout resources for landscape mode. 89 <p>See <a href="{@docRoot}training/tv/start/layouts.html#structure">Build Basic TV Layouts</a>.</p> 90</li> 91 92<li> 93 Ensure that text and controls are large enough to be visible from a distance. 94 <p>See <a href="{@docRoot}training/tv/start/layouts.html#visibility">Build Useable Text and Controls</a>.</p> 95</li> 96 97<li> 98 Provide high-resolution bitmaps and icons for HDTV screens. 99 <p>See <a href="{@docRoot}training/tv/start/layouts.html#density-resources">Manage Layout Resources for TV</a>.</p> 100</li> 101 102<li> 103 Make sure your icons and logo conform to Android TV specifications. 104 <p>See <a href="{@docRoot}design/tv/patterns.html#icons">Manage Layout Resources for TV</a>.</p> 105</li> 106 107<li> 108 Allow for overscan in your layout. 109 <p>See <a href="{@docRoot}training/tv/start/layouts.html#overscan">Overscan</a>.</p> 110</li> 111 112<li> 113 Make every UI element work with both D-pad and game controllers. 114 <p>See <a href="{@docRoot}training/tv/start/navigation.html">Creating Navigation</a> 115 and <a href="{@docRoot}training/tv/start/hardware.html#controllers">Handling Controllers</a>.</p> 116</li> 117 118<li> 119 Change the background image as users browse through content. 120 <p>See <a href="{@docRoot}training/tv/playback/browse.html#background">Update the Background</a>.</p> 121</li> 122 123<li> 124 Customize the background color to match your branding in Leanback fragments. 125 <p>See <a href="{@docRoot}training/tv/playback/card.html#background">Customize the Card View</a>.</p> 126</li> 127 128<li> 129 Ensure that your UI does not require a touch screen. 130 <p>See <a href="{@docRoot}training/tv/start/hardware.html#no-touchscreen">Touch screen</a> and 131 <a href="{@docRoot}training/tv/start/start.html#no-touchscreen">Declare touch screen not 132 required</a>.</p> 133</li> 134 135<li> 136 Follow guidelines for effective advertising. 137 <p>See <a href="{@docRoot}training/tv/start/layouts.html#advertising">Provide Effective Advertising</a>.</p> 138</li> 139 140<li> 141 Use the Leanback library for guiding the user through a series of decisions. 142 <p>See <a href="{@docRoot}training/tv/playback/guided-step.html">Adding a Guided Step</a>.</p> 143</li> 144 145</ol> 146 147 148<h2 id="discovery">Search and Content Discovery</h2> 149 150<p>These checklist items apply to <strong>Games</strong> and <strong>Apps</strong>.</p> 151 152<ol> 153 154<li> 155 Provide search results from your app in the Android TV global search box. 156 <p>See <a href="{@docRoot}training/tv/discovery/searchable.html#provide">Provide Data</a>.</p> 157</li> 158 159<li> 160 Provide TV-specific data fields for search. 161 <p>See <a href="{@docRoot}training/tv/discovery/searchable.html#columns">Identify Columns</a>.</p> 162</li> 163 164<li> 165 Make sure your app presents discovered content in a details screen that lets the user start watching 166 the content immediately. 167 <p>See <a href="{@docRoot}training/tv/discovery/searchable.html#details">Display Your App in the 168 Details Screen</a>.</p> 169</li> 170 171<li> 172 Put relevant, actionable content and categories on the main screen, making it easy to discover content. 173 <p>See <a href="{@docRoot}training/tv/discovery/recommendations.html">Recommending TV Content</a>.</p> 174</li> 175 176</ol> 177 178 179<h2 id="games">Games</h2> 180 181<p>These checklist items apply to <strong>Games</strong>.</p> 182 183<ol> 184 185<li> 186 Show your game on the home screen with the {@code isGame} flag in the manifest. 187 <p>See <a href="{@docRoot}training/tv/games/index.html#Launcher">Show your game on the home screen</a>.</p> 188</li> 189 190<li> 191 Make sure game controller support does not depend upon the Start, Select, or Menu buttons (not all 192 controllers have these). 193 <p>See <a href="{@docRoot}training/tv/games/index.html#control">Input Devices</a>.</p> 194</li> 195 196<li> 197 Use a generic gamepad graphic (without specific controller branding) to show game button mappings. 198 <p>See <a href="{@docRoot}training/tv/games/index.html#ControllerHelp">Show controller instructions</a>.</p> 199</li> 200 201<li> 202 Check for both ethernet and WiFi connectivity. 203 <p>See <a href="{@docRoot}training/tv/games/index.html#networking">Networking</a>.</p> 204</li> 205 206<li> 207 Provide users with a clean exit. 208 <p>See <a href="{@docRoot}training/tv/games/index.html#exit">Exit</a>.</p> 209</li> 210 211 212</ol> 213