Home | History | Annotate | Download | only in publishing
      1 page.title=TV Apps Checklist
      2 page.tags="tv", "checklist"
      3 page.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="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="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 </ol>
    141 
    142 
    143 <h2 id="discovery">Search and Content Discovery</h2>
    144 
    145 <p>These checklist items apply to <strong>Games</strong> and <strong>Apps</strong>.</p>
    146 
    147 <ol>
    148 
    149 <li>
    150   Provide search results from your app in the Android TV global search box.
    151   <p>See <a href="{@docRoot}training/tv/discovery/searchable.html#provide">Provide Data</a>.</p>
    152 </li>
    153 
    154 <li>
    155   Provide TV-specific data fields for search.
    156   <p>See <a href="{@docRoot}training/tv/discovery/searchable.html#columns">Identify Columns</a>.</p>
    157 </li>
    158 
    159 <li>
    160   Make sure your app presents discovered content in a details screen that lets the user start watching
    161   the content immediately.
    162   <p>See <a href="{@docRoot}training/tv/discovery/searchable.html#details">Display Your App in the
    163     Details Screen</a>.</p>
    164 </li>
    165 
    166 <li>
    167   Put relevant, actionable content and categories on the main screen, making it easy to discover content.
    168   <p>See <a href="{@docRoot}training/tv/discovery/recommendations.html">Recommending TV Content</a>.</p>
    169 </li>
    170 
    171 </ol>
    172 
    173 
    174 <h2 id="games">Games</h2>
    175 
    176 <p>These checklist items apply to <strong>Games</strong>.</p>
    177 
    178 <ol>
    179 
    180 <li>
    181   Show your game on the home screen with the {@code isGame} flag in the manifest.
    182   <p>See <a href="{@docRoot}training/tv/games/index.html#Launcher">Show your game on the home screen</a>.</p>
    183 </li>
    184 
    185 <li>
    186   Make sure game controller support does not depend upon the Start, Select, or Menu buttons (not all
    187   controllers have these).
    188   <p>See <a href="{@docRoot}training/tv/games/index.html#control">Input Devices</a>.</p>
    189 </li>
    190 
    191 <li>
    192   Use a generic gamepad graphic (without specific controller branding) to show game button mappings.
    193   <p>See <a href="{@docRoot}training/tv/games/index.html#ControllerHelp">Show controller instructions</a>.</p>
    194 </li>
    195 
    196 <li>
    197   Check for both ethernet and WiFi connectivity.
    198   <p>See <a href="{@docRoot}training/tv/games/index.html#networking">Networking</a>.</p>
    199 </li>
    200 
    201 <li>
    202   Provide users with a clean exit.
    203   <p>See <a href="{@docRoot}training/tv/games/index.html#exit">Exit</a>.</p>
    204 </li>
    205 
    206 
    207 </ol>
    208