1 page.title=Tablet App Quality Checklist 2 @jd:body 3 4 <div id="qv-wrapper"><div id="qv"> 5 <h2>Checklist</h2> 6 <ol> 7 8 <li><a href="#core-app-quality">1. Test for Basic Tablet App Quality</a></li> 9 <li><a href="#optimize-layouts">2. Optimize your layouts</a></li> 10 <li><a href="#use-extra-space">3. Use the extra screen area</a></li> 11 <li><a href="#use-tablet-icons">4. Use assets designed for tablets</a></li> 12 <li><a href="#adjust-font-sizes">5. Adjust fonts and touch targets</a></li> 13 <li><a href="#adjust-widgets">6. Adjust homescreen widgets</a></li> 14 <li><a href="#offer-full-feature-set">7. Offer the app's full feature set</a></li> 15 <li><a href="#android-versions">8. Target Android versions properly</a></li> 16 <li><a href="#hardware-requirements">9. Declare dependencies properly</a></li> 17 <li><a href="#support-screens">10. Declare tablet screens support</a></li> 18 <li><a href="#google-play">11. Showcase your tablet UI</a></li> 19 <li><a href="#google-play-best-practices">12. Follow publishing best practices</a></li> 20 21 </ol> 22 <h2>Testing</h2> 23 <ol> 24 <li><a href="#test-environment">Setting Up a Test Environment</a></li> 25 </ol> 26 </div></div> 27 28 <p>Before you publish an app on Google Play, it's important to make sure that the app meets the basic expectations of tablet users through compelling features and an intuitive, well-designed UI. </p> 29 30 <p>Tablets are a growing part of the Android installed base that offers new 31 opportunities for <a 32 href="{@docRoot}distribute/googleplay/spotlight/tablets.html">user engagement 33 and monetization</a>. If your app is targeting tablet users, this document helps 34 you focus on key aspects of quality, feature set, and UI that can have a 35 significant impact on the app's success. Each focus area is given as checklist 36 item, with each one comprising several smaller tasks or best practices.</p> 37 38 <p>Although the checklist tasks below are numbered for convenience, 39 you can handle them in any order and address them to the extent that you feel 40 is right for your app. In the interest of delivering the best possible product 41 to your customers, follow the checklist recommendations 42 to the greatest extent possible. </p> 43 44 <p>As you move through the checklist, you'll find links to support resources 45 that can help you address the topics raised in each task.</p> 46 47 48 <h2 id="core-app-quality" style="margin-top:1.5em;">1. Test for basic tablet app quality</h2> 49 50 <p>The first step in delivering a great tablet app experience is making sure 51 that it meets the <em>core app quality criteria</em> for all of the devices 52 and form factors that the app is targeting. For complete information, see the <a 53 href="{@docRoot}distribute/googleplay/quality/core.html">Core App Quality Guidelines</a>. 54 </p> 55 56 <p> 57 Before publishing, also ensure that your app passes several basic 58 technical checks and launch criteria, such as: 59 </p> 60 61 <ul> 62 <li><a href="#android-versions">Targets appropriate Android versions</a></li> 63 <li><a href="#hardware-requirements">Specifies any hardware dependencies properly</a></li> 64 <li><a href="#support-screens">Declares support for appropriate screens</a></li> 65 <li><a href="#use-extra-space">Uses all of the available screen space</a></li> 66 <li><a href="#google-play">Screenshots are uploaded to Google Play</a></li> 67 </ul> 68 69 <p>If your app is already uploaded to the Google Play Developer Console, you 70 can see how it is doing against these checks 71 by visiting the <a href="#google-play-optimization-tips">Optimization 72 Tips page</a>.</p> 73 74 75 <h2 id="optimize-layouts">2. Optimize your layouts for larger screens</h2> 76 77 <p>Android makes it easy to develop an app that runs well on a wide range of 78 device screen sizes and form factors. This broad compatibility works in your 79 favor, since it helps you design a single app that you can distribute widely to 80 all of your targeted devices. However, to give your users the best possible 81 experience on each screen configuration — in particular on tablets 82 — you need to optimize your layouts and other UI components for each 83 targeted screen configuration. On tablets, optimizing your UI lets you take 84 full advantage of the additional screen available, such as to offer new features, 85 present new content, or enhance the experience in other ways to deepen user 86 engagement.</p> 87 88 <p>If you developed your app for handsets and now want to distribute it to 89 tablets, you can start by making minor adjustments to your layouts, fonts, and 90 spacing. In some cases — such as for 7-inch tablets or for a game with 91 large canvas — these adjustments may be all 92 you need to make your app look great. In other cases, such as for larger 93 tablets, you can redesign parts of your UI to replace "stretched UI" with an 94 efficient multipane UI, easier navigation, and additional content. </p> 95 96 <p>Here are some suggestions:</p> 97 98 <div style="width:390px;float:right;margin:1.5em;margin-top:0em;"> 99 <img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-bad.png" 100 style="width:390px;padding:4px;margin-bottom:0em;"> 101 <p class="image-caption" style="padding:0em .5em .5em 2em"><span 102 style="font-weight:500;">Get rid of "stretched" UI</span>: On tablets, single-pane 103 layouts lead to awkward whitespace and excessive line lengths. Use padding to 104 reduce the width of UI elements and consider using multi-pane layouts.</p> 105 </div> 106 107 <ul> 108 <li>Provide custom layouts as needed for <code>large</code> and 109 <code>xlarge</code> screens. You can also provide layouts that are loaded based 110 on the screen's <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">shortest 111 dimension</a> or the <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">minimum 112 available width and height</a>. </li> 113 <li>At a minimum, customize dimensions such as font sizes, margins, spacing for 114 larger screens, to improve use of space and content legibility. </li> 115 <li>Adjust positioning of UI controls so that they are easily accessible to 116 users when holding a tablet, such as toward the sides when in 117 landscape orientation.</li> 118 <li>Padding of UI elements should normally be larger on tablets than on handsets. A 119 <a href="{@docRoot}design/style/metrics-grids.html#48dp-rhythm">48dp rhythm</a> (and a 16dp 120 grid) is recommended.</li> 121 <li>Adequately pad text content so that it is not aligned directly along screen edges. 122 Use a minimum <code>16dp</code> padding around content near screen edges.</li> 123 </ul> 124 125 <p>In particular, make sure that your layouts do not appear "stretched" 126 across the screen:</p> 127 128 <ul> 129 <li>Lines of text should not be excessively long — optimize for a maximum 130 100 characters per line, with best results between 50 and 75.</li> 131 <li>ListViews and menus should not use the full screen width.</li> 132 <li>Use padding to manage the widths of onscreen elements or switch to a 133 multi-pane UI for tablets (see next section).</li> 134 </ul> 135 136 <div class="rel-resources"> 137 <h3> 138 Related resources 139 </h3> 140 141 <ul> 142 <li> 143 <a href= 144 "{@docRoot}design/style/metrics-grids.html">Metrics 145 and Grids</a>—Android Design document that explains how to create 146 layouts based on density-independent grids. 147 </li> 148 149 <li> 150 <a href= 151 "{@docRoot}design/style/devices-displays.html">Devices 152 and Displays</a>—Android Design document that explains how to 153 design a UI that works well on different devices and 154 screen sizes. 155 </li> 156 157 <li> 158 <a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple 159 Screens</a>—Developer documentation that explains the details of 160 managing UI for best display on multiple screen sizes. 161 </li> 162 163 <li> 164 <a href= 165 "{@docRoot}guide/practices/screens_support.html#ConfigurationExamples"> 166 Configuration examples</a>—Examples of how to declare layouts and 167 other resources for specific screen sizes. 168 </li> 169 </ul> 170 </div> 171 172 173 <h2 id="use-extra-space">3. Take advantage of extra screen area available on tablets</h2> 174 175 <div style="width:290px;float:right;margin:1.5em;margin-bottom:0;margin-top:0;"> 176 <img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-good.png" 177 style="width:280px;padding:4px;margin-bottom:0em;"> 178 <p class="image-caption" style="padding:0em .5em .5em 1.5em"><span 179 style="font-weight:500;">Multi-pane layouts</span> result in a better visual 180 balance on tablet screens, while offering more utility and legibility.</p> 181 </div> 182 183 <p>Tablet screens provide significantly more screen real estate to your app, 184 especially when in landscape orientation. In particular, 10-inch tablets offer a 185 greatly expanded area, but even 7-inch tablets give you more space for 186 displaying content and engaging users. </p> 187 188 <p>As you consider the UI of your app when running on tablets, make sure that it 189 is taking full advantage of extra screen area available on tablets. Here are 190 some suggestions:</p> 191 192 <ul> 193 <li>Look for opportunities to include additional content or use an alternative 194 treatment of existing content.</li> 195 <li>Use <a href="{@docRoot}design/patterns/multi-pane-layouts.html">multi-pane 196 layouts</a> on tablet screens to combine single views into a compound view. This 197 lets you use the additional screen area more efficiently and makes it easier for 198 users to navigate your app. </li> 199 <li>Plan how you want the panels of your compound views to reorganize when 200 screen orientation changes.</li> 201 202 <div style="width:490px;margin:1.5em auto 1.5em 0;"> 203 <div style=""> 204 <img src="{@docRoot}images/ui-ex-single-panes.png" 205 style="width:490px;padding:4px;margin-bottom:0em;" align="middle"> 206 <img src="{@docRoot}images/ui-ex-multi-pane.png" style="width:490px;padding:4px;margin-bottom:0em;"> 207 <p class="image-caption" style="padding:.5em"><span 208 style="font-weight:500;">Compound views</span> combine several single views from a 209 handset UI <em>(above)</em> into a richer, more efficient UI for tablets 210 <em>(below)</em>. </p> 211 </div> 212 </div> 213 214 <li>While a single screen is implemented as an {@link android.app.Activity} 215 subclass, consider implementing individual content panels as {@link 216 android.app.Fragment} subclasses. This lets you 217 maximize code reuse across different form factors and across screens that 218 share content.</li> 219 <li>Decide on which screen sizes you'll use a multi-pane UI, then provide the 220 different layouts in the appropriate screen size buckets (such as 221 <code>large</code>/<code>xlarge</code>) or minimum screen widths (such as 222 <code>sw600dp</code>/<code>sw720</code>).</li> 223 </ul> 224 225 <div class="rel-resources"> 226 <h3> 227 Related resources 228 </h3> 229 230 <ul> 231 <li> 232 <a href="{@docRoot}design/patterns/multi-pane-layouts.html">Multi-pane 233 Layouts</a>—Android Design guide for using multi-pane UI, including 234 examples of how to flatten navigation and integrate more content into 235 your tablet UI. 236 </li> 237 238 <li> 239 <a href= 240 "{@docRoot}training/design-navigation/multiple-sizes.html">Planning for Multiple 241 Touchscreen Sizes</a>—Android Training class that walks you through 242 the essentials of planning an intuitive, effective navigation for tablets 243 and other devices. 244 </li> 245 246 <li> 247 <a href="{@docRoot}training/multiscreen/index.html">Designing for 248 Multiple Screens</a>—Android Training class that walks you through 249 the essentials of planning an intuitive, effective navigation for tablets 250 and other devices. 251 </li> 252 </ul> 253 </div> 254 255 256 <h2 id="use-tablet-icons">4. Use Icons and other assets that are designed 257 for tablet screens</h2> 258 259 <p>To ensure your app looks its best, provide icons and other bitmap 260 assets for each density in the range commonly supported by tablets. Specifically, you should 261 design your icons for the action bar, notifications, and launcher according to the 262 <a href="{@docRoot}design/style/iconography.html">Iconography</a> guidelines and 263 provide them in multiple densities, so they appear at the appropriate size on all screens 264 without blurring or other scaling artifacts.</p> 265 266 <p class="table-caption"><strong>Table 1</strong>. Raw asset sizes for icon types.<table> 267 <tr> 268 <th>Density</th> 269 <th>Launcher</th> 270 <th>Action Bar</th> 271 <th>Small/Contextual</th> 272 <th>Notification</th> 273 </tr> 274 <tr> 275 <td><code>mdpi</code></td> 276 <td>48x48 px</td> 277 <td>32x32 px</td> 278 <td>16x16 px</td> 279 <td>24x24 px</td> 280 </tr> 281 <tr> 282 <td><code>hdpi</code></td> 283 <td>72x72 px</td> 284 <td>48x48 px</td> 285 <td>24x24 px</td> 286 <td>36x36 px</td> 287 </tr> 288 <tr> 289 <td><code>tvdpi</code></td> 290 <td><em>(use hdpi)</em></td> 291 <td><em>(use hdpi)</em></td> 292 <td><em>(use hdpi)</em></td> 293 <td><em>(use hdpi)</em></td> 294 </tr> 295 <tr> 296 <td><code>xhdpi</code></td> 297 <td>96x96 px</td> 298 <td>64x64 px</td> 299 <td>32x32 px</td> 300 <td>48x48 px</td> 301 </tr> 302 <tr> 303 <td><code>xxhdpi</code></td> 304 <td>144x144 px</td> 305 <td>96x96 px</td> 306 <td>48x48 px</td> 307 <td>72x72 px</td> 308 </tr> 309 310 </table> 311 312 <p>Your app should supply a version of each icon and bitmap asset that's optimized 313 for <strong>at least one</strong> the following common tablet screen densities:</p> 314 315 <ul> 316 <li><code>hdpi</code></li> 317 <li><code>xhdpi</code></li> 318 <li><code>xxhdpi</code></li> 319 </ul> 320 321 <p>Other tips:</p> 322 323 <ul> 324 <li>When possible, use vector shapes for your icon designs so you can scale them 325 without loss of detail and edge crispness.</li> 326 <li>Use density-specific <a 327 href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources"> 328 resource qualifiers</a> to ensure that the proper icons are loaded for each screen density.</li> 329 <li>Tablets and other large screen devices often request a launcher icon that is one density 330 size larger than the device's actual density, so you should provide your launcher 331 icon at the highest density possible. For example, if a tablet has an {@code xhdpi} screen, 332 it will request the {@code xxhdpi} version of the launcher icon.</li> 333 </ul> 334 335 <div class="rel-resources"> 336 <h3> 337 Related resources 338 </h3> 339 340 <ul> 341 <li> 342 <a href="{@docRoot}design/style/iconography.html">Iconography</a>— 343 Design guidelines and tips about how to create various types of icons. 344 </li> 345 346 <li> 347 <a href= 348 "{@docRoot}guide/topics/resources/providing-resources.html">Providing 349 Resources</a>—Developer documentation on how to provide 350 sets of layouts and drawable resources for specific ranges of device 351 screens. 352 </li> 353 354 <li> 355 <a href="{@docRoot}guide/practices/screens_support.html">Supporting 356 Multiple Screens</a>—API Guide documentation that 357 explains the details of managing UI for best display on multiple screen 358 sizes. 359 </li> 360 361 <li> 362 <a href= 363 "{@docRoot}training/basics/supporting-devices/screens.html">Supporting Different 364 Screens</a>—Android Training class that takes you 365 through the process of optimizing the user experience for different 366 screen sizes and densities. 367 </li> 368 </ul> 369 </div> 370 371 372 <h2 id="adjust-font-sizes">5. Adjust font sizes and touch targets for tablet screens</h2> 373 374 <p>To make sure your app is easy to use on tablets, take some time to adjust the 375 font sizes and touch targets in your tablet UI, for all of the screen 376 configurations you are targeting. You can adjust font sizes through <a 377 href="{@docRoot}guide/topics/ui/themes.html">styleable attributes</a> or <a 378 href="{@docRoot}guide/topics/resources/more-resources.html#Dimension">dimension 379 resources</a>, and you can adjust touch targets through layouts and bitmap 380 drawables, as discussed above. </p> 381 382 <p>Here are some considerations:</p> 383 <ul> 384 <li>Text should not be excessively large or small on tablet screen sizes and 385 densities. Make sure that labels are sized appropriately for the UI elements they 386 correspond to, and ensure that there are no improper line breaks in labels, 387 titles, and other elements.</li> 388 <li>The recommended touch-target size for onscreen elements is 48dp (32dp 389 minimum) — some adjustments may be needed in your tablet UI. Read <a 390 href="{@docRoot}design/style/metrics-grids.html">Metrics and 391 Grids 392 </a> to learn about implementation strategies to help most of your users. To 393 meet the accessibility needs of certain users, it may be appropriate to use 394 larger touch targets. </li> 395 <li>When possible, for smaller icons, expand the touchable area to more than 396 48dp using {@link android.view.TouchDelegate} 397 or just centering the icon within the transparent button.</li> 398 </ul> 399 400 <div class="rel-resources"> 401 <h3> 402 Related resources 403 </h3> 404 405 <ul> 406 <li> 407 <a href= 408 "{@docRoot}design/style/metrics-grids.html">Metrics 409 and Grids</a> —Android Design document that explains how to arrange 410 and size touch targets and other UI elements on the screen. 411 </li> 412 413 <li> 414 <a href="{@docRoot}design/style/typography.html">Typography</a>—Android 415 Design document that gives an overview of how to use typography in your 416 apps. 417 </li> 418 419 <li> 420 <a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple 421 Screens</a>—Developer documentation that explains the details of 422 managing UI for best display on multiple screen sizes. 423 </li> 424 425 <li> 426 <a href="{@docRoot}training/multiscreen/screendensities.html">Supporting 427 Different Densities</a>—Android Training class that shows you how 428 to provide sets of layouts and drawable resources for specific ranges of 429 device screens. 430 </li> 431 </ul> 432 </div> 433 434 435 <h2 id="adjust-widgets">6. Adjust sizes of home screen widgets for tablet screens</h2> 436 437 <p>If your app includes a home screen widget, here are a few points to consider 438 to ensure a great user experience on tablet screens: </p> 439 440 <ul> 441 <li>Make sure that the widget's default height and width are set appropriately 442 for tablet screens, as well as the minimum and maximum resize height and width. 443 </li> 444 <li>The widget should be resizable to 420dp or more, to span 5 or more home 445 screen rows (if this is a vertical or square widget) or columns (if this is a 446 horizontal or square widget). </li> 447 <li>Make sure that 9-patch images render correctly.</li> 448 <li>Use default system margins.</li> 449 <li>Set the app's <code>targetSdkVersion</code> to 14 or higher, if 450 possible.</li> 451 </ul> 452 453 <div class="rel-resources"> 454 <h3> 455 Related resources 456 </h3> 457 458 <ul> 459 <li> 460 <a href="{@docRoot}guide/topics/appwidgets/index.html#MetaData">Adding the 461 AppWidgetProviderInfo Metadata</a> —API Guide that explains how to 462 set the height and width dimensions of a widget. 463 </li> 464 465 <li> 466 <a href="{@docRoot}guide/practices/ui_guidelines/widget_design.html">App Widget 467 Design Guidelines</a>—API Guide that provides best practices and 468 techniques for designing and managing the size of widgets. 469 </li> 470 </ul> 471 </div> 472 473 474 <h2 id="offer-full-feature-set">7. Offer the app's full feature set to tablet users</h2> 475 476 <p>Let your tablet users experience the best features of your app. Here are 477 some recommendations:</p> 478 479 <ul> 480 <li>Design your app to offer at least the same set of features on tablets as it does on 481 handsets. </li> 482 <li>In exceptional cases, your app might omit or replace certain features on 483 tablets if they are not supported by the hardware or use-case of most tablets. 484 For example: 485 <ul> 486 <li>If the handset uses telephony features but telephony is not available on the 487 current tablet, you can omit or replace the related functionality.</li> 488 <li>Many tablets have a GPS sensor, but most users would not normally carry 489 their tablets while running. If your phone app provides functionality to let the 490 user record a GPS track of their runs while carrying their phones, the app would not need to 491 provide that functionality on tablets because the use-case is not 492 compelling.</li> 493 </ul> 494 </li> 495 <li>If you will omit a feature or capability from your tablet UI, make sure 496 that it is not accessible to users or that it offers graceful degradation 497 to a replacement feature (also see the section below on hardware features).</li> 498 </ul> 499 500 <h2 id="android-versions">8. Target Android versions properly</h2> 501 502 <p>To ensure the broadest possible distribution to tablets, make sure that your 503 app properly targets the Android versions that support tablets. Initial support for 504 tablets was added in <a href="{@docRoot}about/versions/android-3.0.html">Android 3.0</a> 505 (API level 11). Unified UI 506 framework support for tablets, phones, and other devices was introduced in <a 507 href="{@docRoot}about/versions/android-4.0.html">Android 4.0</a> (API level 14) and is 508 supported in later versions. 509 510 <p>You can set the app's 511 range of targeted Android versions in the manifest file, in the 512 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code><uses-sdk></code></a> element. In most cases, you can target Android versions properly by setting the element's <code>targetSdkVersion</code> attribute to the highest API level available.</p> 513 514 <p style="margin-bottom:.5em;">At a minimum, check the <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code><uses-sdk></code></a> 515 element to make sure that:</p> 516 517 <ol style="list-style-type:lower-alpha;margin-top:0em;"> 518 <li><code>targetSdkVersion</code> is declared with value 11 or higher (14 or higher is recommended), OR</li> 519 <li><code>minSdkVersion</code> is declared with value 11 or higher.</li> 520 <li>If a <code>maxSdkVersion</code> attribute is declared, it must have a value of 11 or higher. Note that, in general, the use of <code>maxSdkVersion</code> is <em>not recommended</em>.</li> 521 </ol> 522 523 <div class="rel-resources"> 524 <h3> 525 Related resources 526 </h3> 527 528 <ul> 529 <li> 530 <a href= 531 "{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels">Android API 532 Levels</a>—Introduces API levels and how they relate to compatibility. 533 A reference of available API levels is included. 534 </li> 535 <li> 536 <a href="{@docRoot}training/basics/supporting-devices/platforms.html">Supporting Different Platform Versions</a>—Training class showing how to declare support for 537 minimum and target API levels in your app. 538 </li> 539 </ul> 540 </div> 541 542 <h2 id="hardware-requirements">9. Declare hardware feature dependencies properly</h2> 543 544 <p> 545 Handsets and tablets typically offer slightly different hardware support for 546 sensors, camera, telephony, and other features. For example, many tablets are 547 available in a "Wi-Fi" configuration that does not include telephony support. 548 </p> 549 550 <p> 551 So that you can distribute a single APK broadly across your full customer 552 base of phones and tablets, make sure that your app doesn't declare 553 requirements for hardware features that aren't commonly available on tablets. 554 Instead, properly declare the hardware features as <em>not required</em> in the app 555 manifest, as described below. 556 </p> 557 558 <ul> 559 <li>In your app manifest, locate any <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a> 560 elements. In particular, look for hardware features that might not be 561 available on some tablets, such as: 562 563 <ul> 564 <li><code>android.hardware.telephony</code></li> 565 <li><code>android.hardware.camera</code> (refers to back camera), or</li> 566 <li><code>android.hardware.camera.front</code></li> 567 </ul></li> 568 569 <li>Declare the <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a> 570 elements as <em>not required</em> by including the <code>android:required=false</code> 571 attribute. 572 573 <p> 574 For example, here's the proper way to declare a dependency on 575 <code>android.hardware.telephony</code>, such that you can still 576 distribute the app broadly, even to devices that don't offer telephony: 577 </p> 578 579 <pre><uses-feature android:name="android.hardware.telephony" android:required="false" /></pre></li> 580 581 <li>Similarly, check the manifest for <a href="/guide/topics/manifest/permission-element.html"><code><permission></code></a> elements that 582 <a href="/guide/topics/manifest/uses-feature-element.html#permissions">imply hardware 583 feature requirements</a> that not be appropriate for tablets. If you find such 584 permissions, make sure to explicitly declare a corresponding 585 <code><uses-feature></code> element for the features and includes the 586 <code>android:required=false</code> attribute.</li> 587 </ul> 588 589 590 <p> 591 After declaring hardware features as <em>not required</em>, make sure to test 592 your app on a variety of devices. The app should function normally when the 593 hardware features it uses are not available, and it should offer "graceful 594 degradation" and alternative functionality where appropriate. 595 </p> 596 597 <p> 598 For example, if an app normally uses GPS to set the location but GPS is not 599 supported on the device, the app could let the user set the location manually 600 instead. The app can check for device hardware capabilities at runtime and handle 601 as needed. 602 </p> 603 604 <div class="rel-resources"> 605 <h3> 606 Related resources 607 </h3> 608 609 <ul> 610 <li> 611 <a href= 612 "{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">Permissions 613 that Imply Feature Requirements</a>—A list of permissions that may 614 cause unwanted filtering if declared in your app's manifest. 615 </li> 616 <li> 617 <a href= 618 "{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature></code></a>—Description 619 and reference documentation for the <code><uses-feature></code> 620 manifest element. 621 </li> 622 623 <li> 624 <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#testing">Testing 625 the features required by your application</a>—Description of how to 626 determine the actual set of hardware and software requirements (explicit or 627 implied) that your app requires. 628 </li> 629 </ul> 630 </div> 631 632 <h2 id="support-screens">10. Declare support for tablet screens</h2> 633 634 <p>To ensure that you can distribute your app to a broad range of tablets, your app should 635 declare support for tablet screen sizes in its manifest file, as follows:</p> 636 637 <ul> 638 <li>A 639 <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code><supports-screens></code></a> 640 element, if declared, must not specify <code>android:largeScreens="false"</code> 641 or <code>android:xlargeScreens="false"</code>.</li> 642 <li>For apps targeting <code>minSdkVersion</code> value less than 13, a 643 <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code><supports-screens></code></a> 644 element must be declared with both <code>android:largeScreens="true"</code> and 645 <code>android:xlargeScreens="true"</code>.</li> 646 </ul> 647 648 <p>If the app declares a 649 <a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code><compatible-screens></code></a> 650 element in the manifest, the element should include attributes that specify 651 <em>all of the size and density combinations for tablet screens</em> that the 652 app supports. Note that, if possible, you should avoid using the 653 <a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code><compatible-screens></code></a> 654 element in your app.</p> 655 656 <div class="rel-resources"> 657 <h3> 658 Related resources 659 </h3> 660 661 <ul> 662 <li> 663 <a href= 664 "{@docRoot}guide/practices/screens_support.html#DeclaringScreenSizeSupport">Declaring 665 Screen Size Support</a>—Developer documentation that explains the 666 details of managing UI for best display on multiple screen sizes. 667 </li> 668 </ul> 669 </div> 670 671 672 <h2 id="google-play">11. Showcase your tablet UI in Google Play</h2> 673 674 <p> 675 After you've done the work to create an rich, optimized UI for your tablet 676 app, make sure that you let your customers know about it! Here are some key 677 ways to promote your tablet app to users on Google Play. 678 </p> 679 680 <h4> 681 Upload screenshots of your tablet UI 682 </h4> 683 684 <p> 685 Tablet users want to know what your app is like on a tablet device, not on a 686 phone. If you developed a tablet app, make sure to upload screenshots 687 of your tablet UI to the Google Play Developer Console. Here are some guidelines: 688 </p> 689 690 <ul style="margin-top:0;"> 691 <li>Your screenshots should show the core functionality of your app, not a 692 startup or sign-in page. Wherever users will spend most of their time, that's 693 what you should show in your screenshots. 694 </li> 695 696 <li>Add screenshots taken on both 7-inch and 10-inch tablets. 697 </li> 698 699 <li>It's recommended that you add screenshots taken in both landscape and 700 portrait orientations, if possible. 701 </li> 702 703 <li>Use screen captures if possible. Avoid showing actual device hardware in your 704 screenshots.</li> 705 706 <li>The recommended resolution of your tablet screenshots is <strong>1280 x 720</strong> 707 or higher in each orientation. 708 </li> 709 710 <li>You can upload as many as 8 screenshots of your tablet UI for 7-inch tablets 711 and an additional 8 for 10-inch tablets. 712 </li> 713 </ul> 714 715 <h4> 716 Update your app description and release notes 717 </h4> 718 719 <ul> 720 <li>In your app description, make sure to highlight that your app offers 721 tablet-optimized UI and great features for tablet users. Consider adding some 722 detail about how your tablet UI works and why users will like it. 723 </li> 724 725 <li>Include information about tablet support in the app's release notes and 726 update information. 727 </li> 728 </ul> 729 730 <h4> 731 Update your promotional video 732 </h4> 733 734 <p> 735 Many users view an app's promotional video to get an idea of what the app is 736 like and whether they'll enjoy it. For tablet users, capitalize on this 737 interest by highlighting your app's tablet UI in your promotional video. Here 738 are some tips and guidelines: 739 </p> 740 741 <ul> 742 <li>Add one or more shots of your app running on a tablet. To engage with 743 tablet users most effectively, it's recommended that you promote your tablet 744 UI in approximately equal proportion to your phone UI. 745 </li> 746 747 <li>Show your tablet UI as early as possible in the video. Don't assume that 748 tablet users will wait patiently through a feature walkthrough on a phone UI. 749 Ideally, you should engage them immediately by showing the tablet UI within 750 the first 10 seconds, or at the same point that you introduce the phone UI. 751 </li> 752 753 <li>To make it clear that you are showing a tablet UI, include shots of your 754 app running on a hand-held tablet device. 755 </li> 756 757 <li>Highlight your app's tablet UI in the video's narrative or voiceover. 758 </li> 759 </ul> 760 761 <h4> 762 Feature your tablet UI in your promotional campaigns 763 </h4> 764 765 <p> 766 Make sure to let tablet users know about your tablet UI in your promotional 767 campaigns, web site, social posts, advertisements, and elsewhere. Here are 768 some suggestions: 769 </p> 770 771 <ul> 772 <li>Plan a marketing or advertising campaign that highlights the use of your 773 app on tablets.</li> 774 775 <li>Show your tablet app at its best in your promotional campaigns—use the <a href= 776 "{@docRoot}distribute/promote/device-art.html">Device Art Generator</a> to 777 quickly generate a high-quality promotional image of your app running on a 778 7-inch or 10-inch tablet, in the orientation of your choice, with or without 779 drop-shadow and screen glare. It's as simple as capture, drag, and drop. 780 </li> 781 782 <li>Include a Google Play badge in your online promotions to let users link 783 directly to your app's store listing. You can generate a badge in a variety 784 of languages using the <a href= 785 "{@docRoot}distribute/googleplay/promote/badges.html">Badge Generator</a>. 786 </li> 787 </ul> 788 789 <div class="rel-resources"> 790 <h3> 791 Related resources 792 </h3> 793 794 <ul> 795 <li> 796 <a href="{@docRoot}distribute/googleplay/publish/preparing.html">Publishing 797 Checklist</a> 798 —Recommendations on how to prepare your app for publishing, test 799 it, and launch successfully on Google Play. 800 </li> 801 802 <li> 803 <a href="https://play.google.com/apps/publish/">Google Play 804 Developer Console</a>—The tools console for publishing 805 your app to Android users. 806 </li> 807 <li> 808 <a href= 809 "{@docRoot}distribute/googleplay/promote/badges.html">Google Play 810 Badge Generator</a>—Create "Get it on Google Play" badges for your 811 app in a variety of languages with a single click. 812 </li> 813 <li> 814 <a href= 815 "{@docRoot}distribute/promote/device-art.html">Device Art 816 Generator</a>—Drag and drop tool that lets you instantly create production- 817 ready art showing your app running on a tablet device. 818 </li> 819 </ul> 820 </div> 821 822 <h2 id="google-play-best-practices">12. Follow best practices for publishing in Google Play</h2> 823 824 <p>Here are some best practices for delivering a successful tablet app on Google Play.</p> 825 826 <h4 id="google-play-optimization-tips">Check out your app's Optimization Tips</h4> 827 828 <p>The Google Play Developer Console now offers an Optimization Tips page that 829 lets you quickly check how your app is doing against basic guidelines for tablet app 830 distribution and quality. To visit the page, sign into the Developer Console, 831 load the app from All Applications, and click Optimization Tips in 832 the left navigation.</p> 833 834 <div class="sidebox-wrapper"> 835 <div class="sidebox"> 836 <h2 style="line-height:1em;">How to send feedback</h2> 837 838 <p>Please use the link below to send 839 feedback or request a manual review of your Optimization Tips.</p> 840 841 <p>Make sure to read the relevant sections of the Tablet App Quality 842 Guidelines prior to sending feedback.</p> 843 844 <p><strong><a href="https://support.google.com/googleplay/android-developer/contact/tabletq" 845 target="_googleplay" style="white-space:nowrap">Designed for Tablets Contact Form »</a></strong></p> 846 </div> 847 </div> 848 849 <p>The Developer Console creates your app's Optimization Tips page 850 by running a series of checks to verify basic quality 851 criteria. If it finds any issues, it alerts you to them as "To Do" 852 items in the Optimization Tips page.</p> 853 854 <p>If you've developed a tablet experience for your app, make sure 855 to visit the Optimization Tips page to see how your app is doing 856 against the basic checks. If there are any issues listed, we 857 recommend addressing them in your app and uploading a new binary for 858 distribution, if needed. </p> 859 860 <p>If the Optimization Tips page lists "To Do" issues that you feel don't 861 apply to your app or affect its quality on tablets, please notify us 862 using the <a href="https://support.google.com/googleplay/android-developer/contact/tabletq" 863 target="_googleplay" style="white-space:nowrap">Designed for Tablets Contact Form »</a>. We 864 will review your app and update your Optimization Tips page as 865 appropriate.</p> 866 867 868 <h4>Confirm the app's filtering</h4> 869 870 <p>After you've uploaded the app to the <a href="https://play.google.com/apps/publish/">Developer Console</a>, check the APK's Supported Devices list to make sure that the app is not filtered from tablet devices that you want to target.</p> 871 872 <h4>Distribute as a single APK</h4> 873 874 <p> 875 It's recommended that you publish your app as a single APK for all screen 876 sizes (phones and tablets), with a single Google Play listing. This approach 877 has several important advantages. 878 </p> 879 880 <ul style="margin-top:.25em;"> 881 <li>Easier for users to find your app from search, browsing, or promotions 882 </li> 883 884 <li>Easier for users to restore your app automatically if they get a new 885 device. 886 </li> 887 888 <li>Your ratings and download stats are consolidated across all devices. 889 </li> 890 891 <li>Publishing a tablet app in a second listing can dilute ratings for your 892 brand. 893 </li> 894 </ul> 895 896 <p> 897 If necessary, you can alternatively choose to deliver your app using <a href= 898 "{@docRoot}google/play/publishing/multiple-apks.html">Multiple APK Support</a>, 899 although in most cases using a single APK to reach all devices is strongly 900 recommended. 901 </p> 902 903 <div class="rel-resources"> 904 <h3>Related resources</h3> 905 <ul> 906 <li><a href="{@docRoot}distribute/googleplay/publish/preparing.html">Publishing 907 Checklist</a>— 908 Recommendations on how to prepare your app for publishing, test it, and launch 909 successfully on Google Play.</li> 910 <li><a href="https://play.google.com/apps/publish/">Google Play Developer 911 Console</a>—The tools console for publishing your app to Android users.</li> 912 </ul> 913 </div> 914 915 916 <h2 id="test-environment">Setting Up a Test Environment for Tablets</h2> 917 918 <p>To assess the quality of your app on tablets — both for core app quality 919 and tablet app quality — you need to set up a suitable 920 hardware or emulator environment for testing. </p> 921 922 <p>The ideal test environment would 923 include a small number of actual hardware devices that represent key form 924 factors and hardware/software combinations currently available to consumers. 925 It's not necessary to test on <em>every</em> device that's on the market — 926 rather, you should focus on a small number of representative devices, even using 927 one or two devices per form factor. The table below provides an overview of 928 devices you could use for testing.</p> 929 930 <p>If you are not able to obtain actual hardware devices for testing, you should 931 <a href="{@docRoot}tools/devices/index.html">set up emulated devices (AVDs)</a> 932 to represent the most common form factors and 933 hardware/software combinations. See the table below for suggestions on the emulator 934 configurations to use. </p> 935 936 <p>To go beyond basic testing, you can add more devices, more form factors, or 937 new hardware/software combinations to your test environment. For example, you 938 could include mid-size tablets, tablets with more or fewer hardware/software 939 features, and so on. You can also increase the number or complexity of tests 940 and quality criteria. </p> 941 942 <p class="table-caption"><strong>Table 1</strong>. A typical tablet test environment might 943 include one or two devices from each row in the table below, with one of the 944 listed platform versions, screen configurations, and hardware feature configurations.</p> 945 946 <table> 947 <tr> 948 <th>Type</th> 949 <th>Size</th> 950 <th>Density</th> 951 <th>Version</th> 952 <th>AVD Skin</th> 953 </tr> 954 955 <tr> 956 <td>7-inch tablet</td> 957 <td><span style="white-space:nowrap"><code>large</code> or</span><br /><code>-sw600</code></td> 958 <td><code>hdpi</code>,<br /><code>tvdpi</code></td> 959 <td>Android 4.0+ (API level 14 and higher)</td> 960 <td>WXGA800-7in</td> 961 </tr> 962 <tr> 963 <td><span style="white-space:nowrap">10-inch</span> tablet</td> 964 <td><span style="white-space:nowrap"><code>xlarge</code> or</span><br /><code>-sw800</code></td> 965 <td><code>mdpi</code>,<br /><code>hdpi</code>,<br /><code>xhdpi</code></td> 966 <td>Android 3.2+ (API level 13 and higher)</td> 967 <td>WXGA800</td> 968 </tr> 969 </table>