blob: f180f548dcb4b3842dc4d691ba62f4f9b4d7be4b [file] [log] [blame]
Dirk Dougherty4473aba2012-10-03 17:43:04 -07001page.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 Core 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="#hardware-requirements">8. Don’t require hardware features</a></li>
16<li><a href="#support-screens">9. Declare tablet screen support</a></li>
17<li><a href="#google-play">10. Follow best practices for publishing in Google Play</a></li>
18
19</ol>
20<h2>Testing</h2>
21<ol>
22<li><a href="#test-environment">Setting Up a Test Environment</a></li>
23</ol>
24</div></div>
25
26
27<p>Before you publish an app on Google Play, it's important to make sure that
Dirk Dougherty9aeb0a812012-08-20 11:07:36 -070028the app meets the basic expectations of tablet users through compelling features
Dirk Dougherty4473aba2012-10-03 17:43:04 -070029and an intuitive, well-designed UI. </p>
30
31<p>Tablets are a growing part of the Android installed base that offers new
32opportunities for <a
33href="{@docRoot}distribute/googleplay/spotlight/tablets.html">user engagement
34and monetization</a>. If your app is targeting tablet users, this document helps
35you focus on key aspects of quality, feature set, and UI that can have a
36significant impact on the app's success. Each focus area is given as checklist
37item, with each one comprising several smaller tasks or best practices.</p>
38
39<p>Although the checklist tasks below are numbered for convenience,
40you can handle them in any order and address them to the extent that you feel
41is right for your app. In the interest of delivering the best possible product
42to your customers, follow the checklist recommendations
43to the greatest extent possible. </p>
44
45<p>As you move through the checklist, you'll find links to support resources
46that can help you address the topics raised in each task.</p>
47
48
49<h2 id="core-app-quality">1. Test for Core App Quality</h2>
50
51<p>The first step in delivering a great tablet app experience is making sure
52that it meets the <em>core app
53quality criteria</em> for all of the devices and form factors that the app is
54targeting. For complete information, see the <a
55href="{@docRoot}distribute/googleplay/quality/core.html">Core App Quality Checklist</a>.
56</p>
57
58<p>To assess the quality of your app on tablets &mdash; both for core app quality
59and tablet app quality &mdash; you need to set up a suitable
60hardware or emulator environment for testing. For more information,
61see <a href="#test-environment">Setting Up a Test Environment</a>.</p>
62
Dirk Dougherty9aeb0a812012-08-20 11:07:36 -070063<table>
64<tr>
65<td><p>Related resources:</p>
66<ul style="margin-top:-.5em;">
67<li><strong><a
68href="{@docRoot}distribute/googleplay/quality/core.html">Core App Quality
69Guidelines</a></strong> &mdash; A set of core quality criteria that all Android
70apps should meet on all targeted devices.</li>
71</ul>
72</td>
73</tr>
74</table>
Dirk Dougherty4473aba2012-10-03 17:43:04 -070075
76<h2 id="optimize-layouts">2. Optimize your layouts for larger screens</h2>
77
78<p>Android makes it easy to develop an app that runs well on a wide range of
79device screen sizes and form factors. This broad compatibility works in your
80favor, since it helps you design a single app that you can distribute widely to
81all of your targeted devices. However, to give your users the best possible
82experience on each screen configuration &mdash; in particular on tablets
83&mdash; you need to optimize your layouts and other UI components for each
84targeted screen configuration. On tablets, optimizing your UI lets you take
85full advantage of the additional screen available, such as to offer new features,
86present new content, or enhance the experience in other ways to deepen user
87engagement.</p>
88
89<p>If you developed your app for handsets and now want to distribute it to
90tablets, you can start by making minor adjustments to your layouts, fonts, and
91spacing. In some cases &mdash; such as for 7-inch tablets or for a game with
92large canvas &mdash; these adjustments may be all
93you need to make your app look great. In other cases, such as for larger
94tablets, you can redesign parts of your UI to replace "stretched UI" with an
95efficient multipane UI, easier navigation, and additional content. </p>
96
97<p>Here are some suggestions:</p>
98
99<div style="width:390px;float:right;margin:1.5em;margin-top:0em;">
100<img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-bad.png" style="width:390px;padding:4px;margin-bottom:0em;">
101<p class="image-caption" style="padding:0em .5em .5em 2em"><span
102style="font-weight:500;">Get rid of "stretched" UI</span>: On tablets, single-pane layouts lead to awkward whitespace and excessive line lengths. Use padding to reduce the width of UI elements and consider using multi-pane layouts.</p>
103</div>
104
105<ul>
106<li>Provide custom layouts as needed for <code>large</code> and
107<code>xlarge</code> screens. You can also provide layouts that are loaded based
108on the screen's <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">shortest
109dimension</a> or the <a href="{@docRoot}guide/practices/screens_support.html#NewQualifiers">minimum
110available width and height</a>. </li>
111<li>At a minimum, customize dimensions such as font sizes, margins, spacing for
112larger screens, to improve use of space and content legibility. </li>
113<li>Adjust positioning of UI controls so that they are easily accessible to
114users when holding a tablet, such as toward the sides when in
115landscape orientation.</li>
116<li>Padding of UI elements should normally be larger on tablets than on handsets. A
117<a href="{@docRoot}design/style/metrics-grids.html#48dp-rhythm">48dp rhythm</a> (and a 16dp
118grid) is recommended.</li>
119<li>Adequately pad text content so that it is not aligned directly along screen edges.
120Use a minimum <code>16dp</code> padding around content near screen edges.</li>
121</ul>
122
123<p>In particular, make sure that your layouts do not appear "stretched"
124across the screen:</p>
125
126<ul>
127<li>Lines of text should not be excessively long &mdash; optimize for a maximum
128100 characters per line, with best results between 50 and 75.</li>
129<li>ListViews and menus should not use the full screen width.</li>
130<li>Use padding to manage the widths of onscreen elements or switch to a
131multi-pane UI for tablets (see next section).</li>
132</ul>
133
134<table>
135<tr>
136<td><p>Related resources:</p>
137<ul style="margin-top:-.5em;">
138<li><strong><a href="http://developer.android.com/design/style/metrics-grids.html">Metrics and Grids
139</a></strong> &mdash; Android Design document that explains ....</li>
140<li><strong><a href="http://developer.android.com/design/style/devices-displays.html">Devices and Displays
141</a></strong> &mdash; Android Design document that explains ....</li>
142<li><strong><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></strong> &mdash; Developer documentation that explains the details of managing UI for best display on multiple screen sizes.</li>
143<li><strong><a href="http://developer.android.com/guide/practices/screens_support.html#ConfigurationExamples">Configuration examples
144</a></strong> &mdash; Examples of how to declare layouts and other resources for specific screen sizes.</a></li>
145</ul>
146</td>
147</tr>
148</table>
149
150
151<h2 id="use-extra-space">3. Take advantage of extra screen area available on tablets</h2>
152
153<div style="width:290px;float:right;margin:1.5em;margin-bottom:0;margin-top:0;">
154<img src="{@docRoot}images/training/app-navigation-multiple-sizes-multipane-good.png" style="width:280px;padding:4px;margin-bottom:0em;">
155<p class="image-caption" style="padding:0em .5em .5em 1.5em"><span
156style="font-weight:500;">Multi-pane layouts</span> result in a better visual balance on tablet screens, while offering more utility and legibility.</p>
157</div>
158
159<p>Tablet screens provide significantly more screen real estate to your app,
160especially when in landscape orientation. In particular, 10-inch tablets offer a
161greatly expanded area, but even 7-inch tablets give you more space for
162displaying content and engaging users. </p>
163
164<p>As you consider the UI of your app when running on tablets, make sure that it
165is taking full advantage of extra screen area available on tablets. Here are
166some suggestions:</p>
167
168<ul>
169<li>Look for opportunities to include additional content or use an alternative
170treatment of existing content.</li>
171<li>Use <a href="{@docRoot}design/patterns/multi-pane-layouts.html">multi-pane
172layouts</a> on tablet screens to combine single views into a compound view. This
173lets you use the additional screen area more efficiently and makes it easier for
174users to navigate your app. </li>
175<li>Plan how you want the panels of your compound views to reorganize when
176screen orientation changes.</li>
177
178
179
180<div style="width:490px;margin:1.5em auto 1.5em 0;">
181
182<div style="">
183<img src="{@docRoot}images/ui-ex-single-panes.png" style="width:490px;padding:4px;margin-bottom:0em;" align="middle">
184<img src="{@docRoot}images/ui-ex-multi-pane.png" style="width:490px;padding:4px;margin-bottom:0em;">
185<p class="image-caption" style="padding:.5em"><span
186style="font-weight:500;">Compound views</span> combine several single views from a handset UI <em>(above)</em> into a richer, more efficient UI for tablets <em>(below)</em>. </p>
187</div>
188</div>
189
190<li>While a single screen is implemented as an {@link android.app.Activity}
191subclass, consider implementing individual content panels as {@link
192android.app.Fragment} subclasses. This lets you maximize code reuse across
193different form factors and across screens that share content.</li>
194<li>Decide on which screen sizes you'll use a multi-pane UI, then provide the
195different layouts in the appropriate screen size buckets (such as
196<code>large</code>/<code>xlarge</code>) or minimum screen widths (such as
197<code>sw600dp</code>/<code>sw720</code>).</li>
198</ul>
199
200<table>
201<tr>
202<td><p>Related resources:</p>
203<ul style="margin-top:-.5em;">
204<li><strong><a href="{@docRoot}design/patterns/multi-pane-layouts.html">Multi-pane Layouts</a></strong> &mdash; Android Design guide for using multi-pane UI, including examples of how to flatten navigation and integrate more content into your tablet UI.</li>
205<li><strong><a href="{@docRoot}training/design-navigation/multiple-sizes.html">Planning for Multiple Touchscreen Sizes</a></strong> &mdash; Android Training class that walks you through the essentials of planning an intuitive, effective navigation for tablets and other devices. </li>
206<li><strong><a href="{@docRoot}training/multiscreen/index.html">Designing for Multiple Screens</a></strong> &mdash; Android Training class that walks you through the essentials of planning an intuitive, effective navigation for tablets and other devices. </li>
207</ul>
208</td>
209</tr>
210</table>
211
212
213<h2 id="use-tablet-icons">4. Use Icons and other assets that are designed for tablet screens</h2>
214
215<p>So that your app looks its best, make sure to use icons and other bitmap
216assets that are created specifically for the densities used by tablet screens.
217Specifically, you should create sets of alternative bitmap drawables for each
218density in the range commonly supported by tablets.</p>
219
220<p class="table-caption"><strong>Table 1</strong>. Raw asset sizes for icon types.<table>
221<tr>
222<th>Density </th>
223<th colspa>Launcher</th>
224<th>Action Bar</th>
225<th>Small/Contextual</th>
226<th>Notification</th>
227</tr>
228<tr>
229<td><code>mdpi</code></td>
230<td>48x48px</td>
231<td>32x32px</td>
232<td>16x16px</td>
233<td>24x24px</td>
234</tr>
235<tr>
236<td><code>hdpi</code></td>
237<td>72x72px</td>
238<td>48x48px</td>
239<td>24x24px</td>
240<td>36x36px</td>
241</tr>
242<tr>
243<td><code>tvdpi</code></td>
244<td><em>(use hdpi)</em></td>
245<td><em>(use hdpi)</em></td>
246<td><em>(use hdpi)</em></td>
247<td><em>(use hdpi)</em></td>
248</tr>
249<tr>
250<td><code>xhdpi</code></td>
251<td>96x96px</td>
252<td>64x64px</td>
253<td>32x32px</td>
254<td>48x48px</td>
255</tr>
256
257</table>
258
259<p>Other points to consider: </p>
260
261<ul>
262<li>Icons in the action bar, notifications, and launcher should be designed
263according to the icon design guidelines and have the same physical size on
264tablets as on phones.</li>
265<li>Use density-specific <a
266href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">
267resource qualifiers</a> to ensure that the proper set of alternative resources
268gets loaded.</li>
269</ul>
270
271<table>
272<tr>
273<td><p>Related resources:</p>
274<ul style="margin-top:-.5em;">
275<li><strong><a href="{@docRoot}design/style/iconography.html">Iconography</a></strong> &mdash; Android Design document that shows how to use various types of icons.</li>
276<li><strong><a href="{@docRoot}guide/topics/resources/providing-resources.html">Providing Resources</a></strong> &mdash; Developer documentation on how to provide sets of layouts and drawable resources for specific ranges of device screens. </li>
277<li><strong><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></strong> &mdash; API Guide documentation that explains the details of managing UI for best display on multiple screen sizes.</li>
278<li><strong><a href="{@docRoot}training/basics/supporting-devices/screens.html">Supporting Different Screens</a></strong> &mdash; Android Training class that takes you through the process of optimizing the user experience for different screen sizes and densities.</li>
279</ul>
280</td>
281</tr>
282</table>
283
284
285<h2 id="adjust-font-sizes">5. Adjust font sizes and touch targets for tablet screens</h2>
286
287<p>To make sure your app is easy to use on tablets, take some time to adjust the
288font sizes and touch targets in your tablet UI, for all of the screen
289configurations you are targeting. You can adjust font sizes through <a
290href="{@docRoot}guide/topics/ui/themes.html">styleable attributes</a> or <a
291href="{@docRoot}guide/topics/resources/more-resources.html#Dimension">dimension
292resources</a>, and you can adjust touch targets through layouts and bitmap
293drawables, as discussed above. </p>
294
295<p>Here are some considerations:</p>
296<ul>
297<li>Text should not be excessively large or small on tablet screen sizes and
298densities. Make sure that labels are sized appropriately for the UI elements they
299correspond to, and ensure that there are no improper line breaks in labels,
300titles, and other elements.</li>
301<li>The recommended touch-target size for onscreen elements is 48dp (32dp
302minimum) &mdash; some adjustments may be needed in your tablet UI. Read <a
303href="http://developer.android.com/design/style/metrics-grids.html">Metrics and
304Grids
305</a> to learn about implementation strategies to help most of your users. To
306meet the accessibility needs of certain users, it may be appropriate to use
307larger touch targets. </li>
308<li>When possible, for smaller icons, expand the touchable area to more than
30948dp using {@link android.view.TouchDelegate} or just centering the icon within
310the transparent button.</li>
311</ul>
312
313<table>
314<tr>
315<td><p>Related resources:</p>
316<ul style="margin-top:-.5em;">
317<li><strong><a href="http://developer.android.com/design/style/metrics-grids.html">Metrics and Grids
318</a></strong> &mdash; Android Design document that explains how to arrange and size touch targets and other UI elements on the screen.</li>
319<li><strong><a href="{@docRoot}design/style/typography.html">Typography</a></strong> &mdash; Android Design document that gives an overview of how to use typography in your apps. </li>
320<li><strong><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></strong> &mdash; Developer documentation that explains the details of managing UI for best display on multiple screen sizes.</li>
321<li><strong><a href="{@docRoot}training/multiscreen/screendensities.html">Supporting Different Densities</a></strong> &mdash; Android Training class that shows you how to provide sets of layouts and drawable resources for specific ranges of device screens. </li>
322</ul>
323</td>
324</tr>
325</table>
326
327
328<h2 id="adjust-widgets">6. Adjust sizes of home screen widgets for tablet screens</h2>
329
330<p>If your app includes a home screen widget, here are a few points to consider
331to ensure a great user experience on tablet screens: </p>
332
333<ul>
334<li>Make sure that the widget's default height and width are set appropriately
335for tablet screens, as well as the minimum and maximum resize height and width.
336</li>
337<li>The widget should be resizable to 420dp or more, to span 5 or more home
338screen rows (if this is a vertical or square widget) or columns (if this is a
339horizontal or square widget). </li>
340<li>Make sure that 9-patch images render correctly.</li>
341<li>Use default system margins.</li>
342<li>Set the app's <code>targetSdkVersion</code> to 14 or higher, if
343possible.</li>
344</ul>
345
346<table>
347<tr>
348<td><p>Related resources:</p>
349<ul style="margin-top:-.5em;">
350<li><strong><a href="{@docRoot}guide/topics/appwidgets/index.html#MetaData">Adding the AppWidgetProviderInfo Metadata
351</a></strong> &mdash; API Guide that explains how to set the height and width dimensions of a widget.</li>
352<li><strong><a href="{@docRoot}guide/practices/ui_guidelines/widget_design.html">App Widget Design Guidelines</a></strong> &mdash; API Guide that provides best practices and techniques for designing and managing the size of widgets. </li>
353</ul>
354</td>
355</tr>
356</table>
357
358
359<h2 id="offer-full-feature-set">7. Offer the app's full feature set to tablet users</h2>
360
361<p>Let your tablet users experience the best features of your app. Here are
362some recommendations:</p>
363
364<ul>
365<li>Design your app to offer at least the same set of features on tablets as it does on
366handsets. </li>
367<li>In exceptional cases, your app might omit or replace certain features on
368tablets if they are not supported by the hardware or use-case of most tablets.
369For example:
370<ul>
371<li>If the handset uses telephony features but telephony is not available on the
372current tablet, you can omit or replace the related functionality.</li>
373<li>Many tablets have a GPS sensor, but most users would not normally carry
374their tablets while running. If your phone app provides functionality to let the
375user record a GPS track of their runs while carrying their phones, the app would not need to
376provide that functionality on tablets because the use-case is not
377compelling.</li>
378</ul>
379</li>
380<li>If you will omit a feature or capability from your tablet UI, make sure
381that it is not accessible to users or that it offers “graceful degradation”
382to a replacement feature (also see the section below on hardware features).</li>
383</ul>
384
385
386<h2 id="hardware-requirements">8. Don’t require hardware features that might not be available on tablets</h2>
387
388<p>Handsets and tablets typically offer slightly different hardware support for
389sensors, camera, telephony, and other features. For example, many tablets are
390available in a "Wi-Fi" configuration that does not include telephony support.</p>
391
392<p>To ensure that you can deliver a single APK broadly across the
393your full customer base, make sure that your app does not have built-in
394requirements for hardware features that aren't commonly available on tablets.
395</p>
396
397<ul>
398<li>Your app's manifest should not include <a
399href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>
400elements for hardware features or capabilities that might not be
401available on tablets, except when they are declared with the
402<code>android:required=”false”</code> attribute. For example, your app should
403not <em>require</em> features such as:
404<ul>
405<li><code>android.hardware.telephony</code></li>
406<li><code>android.hardware.camera</code> (refers to back camera), or</li>
407<li><code>android.hardware.camera.front</code></li>
408</ul>
409</li>
410<li>Similarly, your app manifest should not include any <a
411href="{@docRoot}guide/topics/manifest/permission-element.html"><code>&lt;permission&gt;</code></a> elements that <a
412href="{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">imply
413feature requirements</a> that might not be appropriate for tablets, except when
414accompanied by a corresponding <code>&lt;uses-feature&gt;</code> element
415declared with the <code>android:required=”false”</code> attribute.</li>
416</ul>
417
418<p>In all cases, the app must function normally when the hardware features it
419uses are not available and should offer “graceful degradation” and alternative
420functionality where appropriate. For example, if GPS is not supported on the device,
421your app could let the user set their location manually. The app should do
422run-time checking for the hardware capability that it needs and handle as needed.</p>
423
424<table>
425<tr>
426<td><p>Related resources:</p>
427<ul style="margin-top:-.5em;">
428<li><strong><a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">Permissions that Imply Feature Requirements</a></strong> &mdash; A list of permissions that may cause unwanted filtering if declared in your app's manifest.</li>
429<li><strong><a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a></strong> &mdash; Description and reference documentation for the <code>&lt;uses-feature&gt;</code> manifest element.</li>
430<li><strong><a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#testing">Testing the features required by your application</a></strong> &mdash; Description of how to determine the actual set of hardware and software requirements (explicit or implied) that your app requires.</li>
431</ul>
432</td>
433</tr>
434</table>
435
436
437<h2 id="support-screens">9. Declare support for tablet screen configurations</h2>
438
439<p>To ensure that you can distribute your app to a broad range of tablets,
440declare all the screen sizes that your app supports in its manifest:</p>
441
442<ul>
443<li>Declare a <a
444href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a> element
445with appropriate attributes, as needed.</li>
446<li>If the app declares a <code>&lt;compatible-screens&gt;</code> element in the
447manifest, the element must include attributes that specify <em>all of the size and
448density combinations for tablet screens</em> that the app supports. Note that, if possible,
449you should avoid using this element in your app.</li>
450</ul>
451
452<table>
453<tr>
454<td><p>Related resources:</p>
455<ul style="margin-top:-.5em;">
456<li><strong><a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a></strong>
457&mdash; Description and reference documentation for the <code>&lt;supports-screens&gt;</code>
458manifest element.</li>
459<li><strong><a href="{@docRoot}guide/practices/screens_support.html#DeclaringScreenSizeSupport">Declaring Screen Size
460Support</a></strong> &mdash; Developer documentation that explains the details of managing UI
461for best display on multiple screen sizes.</li>
462</ul>
463</td>
464</tr>
465</table>
466
467
468<h2 id="google-play">10. Follow best practices for publishing in Google Play</h2>
469
470<ul>
471<li>Publish your app as a single APK for all screen sizes (handsets
472and tablets), with a single Google Play listing:
473 <ul style="margin-top:.25em;">
474 <li>Easier for users to find your app from search, browsing, or promotions</li>
475 <li>Easier for users to restore your app automatically if they get a new device.</li>
476 <li>Your ratings and download stats are consolidated across all devices.</li>
477 <li>Publishing a tablet app in a second listing can dilute ratings for your brand.</li>
478 </ul>
479</li>
480<li>If necessary, you can alternatively choose to deliver your app using <a
481href="{@docRoot}guide/google/play/publishing/multiple-apks.html">Multiple APK Support</a>,
482although in most cases using a single APK to reach all devices is strongly recommended.</li>
483
484<li>Highlight your app’s tablet capabilities in the product details page:
485 <ul style="margin-top:.25em;">
486 <li>Add <strong>at least one screenshot taken while the app is running on a
487 tablet</strong>. It's recommended that you add one screenshot of landscape orientation
488 and one of portrait orientation, if possible. These screenshots make it clear to users
489 that your app is designed for tablets and highlight all the effort you've put into designing
490 a great tablet app experience.</li>
491 <li>Mention tablet support in the app description.</li>
492 <li>Include information about tablet support in the app's release notes and update
493 information.</li>
494 <li>In your app's promo video, add shots of your app running on a tablet.</li>
495 </ul>
496</li>
497<li>Make sure you are distributing to tablet devices. Check the app's Supported Devices
498list in the <a href="https://play.google.com/apps/publish/">Developer Console</a>
499to make sure your app is not filtered from tablet devices that you want to target.</li>
500
501<li>Let tablet users know about your app! Plan a marketing or advertising campaign that
502highlights the use of your app on tablets.</li>
503</ul>
504
505<table>
506<tr>
507<td><p>Related resources:</p>
508<ul style="margin-top:-.5em;">
Dirk Dougherty9aeb0a812012-08-20 11:07:36 -0700509<li><strong><a href="https://play.google.com/apps/publish/">Publishing Checklist</a></strong> &mdash; Recommendations on how to prepare your app for publishing, test it, and launch successfully on Google Play.</li>
Dirk Dougherty4473aba2012-10-03 17:43:04 -0700510<li><strong><a href="https://play.google.com/apps/publish/">Google Play Android Developer Console</a></strong> &mdash; The tools console for publishing your app to Android users.</li>
511</ul>
512</td>
513</tr>
514</table>
515
516<h2 id="test-environment">Setting Up a Test Environment for Tablets</h2>
517
518<p>To assess the quality of your app on tablets &mdash; both for core app quality
519and tablet app quality &mdash; you need to set up a suitable
520hardware or emulator environment for testing. </p>
521
522<p>The ideal test environment would
523include a small number of actual hardware devices that represent key form
524factors and hardware/software combinations currently available to consumers.
525It's not necessary to test on <em>every</em> device that's on the market &mdash;
526rather, you should focus on a small number of representative devices, even using
527one or two devices per form factor. The table below provides an overview of
528devices you could use for testing.</p>
529
530<p>If you are not able to obtain actual hardware devices for testing, you should
531set up emulated devices (AVDs) to represent the most common form factors and
532hardware/software combinations. See the table below for suggestions on the emulator
533configurations to use. </p>
534
535<p>To go beyond basic testing, you can add more devices, more form factors, or
536new hardware/software combinations to your test environment. For example, you
537could include mid-size tablets, tablets with more or fewer hardware/software
538features, and so on. You can also increase the number or complexity of tests
539and quality criteria. </p>
540
541<p class="table-caption"><strong>Table 1</strong>. A typical tablet test environment might
542include one or two devices from each row in the table below, with one of the
543listed chipsets, platform versions, and hardware feature configurations.</p>
544
545<table>
546<tr>
547<th>Type</th>
548<th>Size</th>
549<th>Density</th>
550<th>Version</th>
551<th>AVD Skin</th>
552</tr>
553
554<tr>
555<td>7-inch tablet</td>
556<td><span style="white-space:nowrap"><code>large</code> or</span><br /><code>-sw600</code></td>
557<td><code>hdpi</code>,<br /><code>tvdpi</code></td>
558<td>Android 4.0+</td>
559<td>WXGA800-7in</td>
560</tr>
561<tr>
562<td><span style="white-space:nowrap">10-inch</span> tablet</td>
563<td><span style="white-space:nowrap"><code>xlarge</code> or</span><br /><code>-sw800</code></td>
564<td><code>mdpi</code>,<br /><code>hdpi</code></td>
565<td>Android 3.2+</td>
566<td>WXGA800</td>
567</tr>
568</table>