summaryrefslogtreecommitdiffstats
path: root/docs/html/distribute
diff options
context:
space:
mode:
authorDirk Dougherty <ddougherty@google.com>2013-04-20 12:01:29 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-04-20 12:01:29 -0700
commit3fd1a8926ebfaaeccbaad86b7584fa534f725996 (patch)
tree926dd8e4638b52e1c794ee1faa1dfb98d7ce20b8 /docs/html/distribute
parenta6ca0a6b2662e06cefcdbb5eb763e79f9b798018 (diff)
parent94ca86e8a019225ff376e5683e87ee3a29713f05 (diff)
downloadframeworks_base-3fd1a8926ebfaaeccbaad86b7584fa534f725996.zip
frameworks_base-3fd1a8926ebfaaeccbaad86b7584fa534f725996.tar.gz
frameworks_base-3fd1a8926ebfaaeccbaad86b7584fa534f725996.tar.bz2
am 94ca86e8: Merge "Doc change: updates for tablet checklist." into jb-mr1-dev
* commit '94ca86e8a019225ff376e5683e87ee3a29713f05': Doc change: updates for tablet checklist.
Diffstat (limited to 'docs/html/distribute')
-rw-r--r--docs/html/distribute/googleplay/quality/tablet.jd381
1 files changed, 75 insertions, 306 deletions
diff --git a/docs/html/distribute/googleplay/quality/tablet.jd b/docs/html/distribute/googleplay/quality/tablet.jd
index 6d7e3e2..a54348b 100644
--- a/docs/html/distribute/googleplay/quality/tablet.jd
+++ b/docs/html/distribute/googleplay/quality/tablet.jd
@@ -12,15 +12,15 @@ page.title=Tablet App Quality Checklist
<li><a href="#adjust-font-sizes">5. Adjust fonts and touch targets</a></li>
<li><a href="#adjust-widgets">6. Adjust homescreen widgets</a></li>
<li><a href="#offer-full-feature-set">7. Offer the app's full feature set</a></li>
-<li><a href="#hardware-requirements">8. Don’t require hardware features</a></li>
-<li><a href="#support-screens">9. Declare tablet screen support</a></li>
-<li><a href="#google-play">10. Showcase your tablet UI</a></li>
-<li><a href="#google-play-bp">11. Follow publishing best practices</a></li>
+<li><a href="#android-versions">8. Target Android versions properly</a></li>
+<li><a href="#hardware-requirements">9. Declare dependencies properly</a></li>
+<li><a href="#support-screens">10. Declare tablet screens support</a></li>
+<li><a href="#google-play">11. Showcase your tablet UI</a></li>
+<li><a href="#google-play-bp">12. Follow publishing best practices</a></li>
</ol>
<h2>Testing</h2>
<ol>
-<li><a href="#basic-technical-checks">Basic Technical Checks for Tablets</a></li>
<li><a href="#test-environment">Setting Up a Test Environment</a></li>
</ol>
</div></div>
@@ -47,12 +47,7 @@ to the greatest extent possible. </p>
that can help you address the topics raised in each task.</p>
-<h2 id="core-app-quality">1. Test for Core Tablet App Quality</h2>
-
-<p>Before publishing, make sure that your app and it's store listing meet the
- core quality guidlines below. </p>
-
-<h5>Core app quality</h5>
+<h2 id="core-app-quality" style="margin-top:1.5em;">1. Test for basic tablet app quality</h2>
<p>The first step in delivering a great tablet app experience is making sure
that it meets the <em>core app quality criteria</em> for all of the devices
@@ -60,68 +55,22 @@ and form factors that the app is targeting. For complete information, see the <a
href="{@docRoot}distribute/googleplay/quality/core.html">Core App Quality Guidelines</a>.
</p>
-<h5>Basic technical checks for tablets</h5>
<p>
- Before publishing, you should also ensure that your app passes several basic
- technical checks, such as:
+ Before publishing, also ensure that your app passes several basic
+ technical checks and launch criteria, such as:
</p>
<ul>
- <li>Targeting appropriate Android versions</li>
- <li>Specifying any feature dependencies properly</li>
- <li>Declaring support for appropriate screens</li>
+ <li><a href="#android-versions">Targets appropriate Android versions</a></li>
+ <li><a href="#hardware-requirements">Specifies any hardware dependencies properly</a></li>
+ <li><a href="#support-screens">Declares support for appropriate screens</a></li>
+ <li><a href="#use-extra-space">Uses all of the available screen space</a></li>
+ <li><a href="#google-play">Screenshots are uploaded to Google Play</a></li>
</ul>
-<p>
- For details, see <a href="#basic-technical-checks">Basic Technical
- Checks</a>.
-</p>
-
-<h5>Tablet screenshots and other promotional tools</h5>
-
-<p>Make sure that you upload screenshots of your tablet UI to the
- Developer Console and highlight your tablet experience in your app description,
- video, and promotional campaigns. For details, see <a href="#google-play">Showcase your
- tablet UI in Google Play.</a></p>
-
-<h5>Test environment</h5>
-
-<p>
- To assess the quality of your app on tablets, you need to set up a suitable
- hardware or emulator environment for testing. For more information, see
- <a href="#test-environment">Setting Up a Test Environment</a>.
-</p>
-<p>
- Note that a successful tablet app will go <em>well beyond the core and tablet
- app quality criteria</em> to offer a custom tablet experience to users. Read
- the sections below for ideas on how to plan and develop a great tablet UI for
- your app.
-</p>
-
+<p>The sections that follow provide more information about these and other
+quality guidelines for tablet apps.</p>
-<div class="rel-resources">
- <h3>
- Related resources
- </h3>
-
- <ul>
- <li>
- <a href="{@docRoot}distribute/googleplay/quality/core.html">Core App
- Quality</a>&mdash;A set of core quality criteria that all Android apps
- should meet on all targeted devices.
- </li>
-
- <li>
- <a href="#basic-technical-checks">Basic Technical Checks for
- Tablets</a>&mdash;Additional quality criteria for any app that is
- targeting, designed for, or distributable to Android tablets.
- </li>
- <li>
- <a href="#google-play">Showcase your tablet UI on Google Play</a>&mdash;Information
- on how to upload tablet screenshots and promote your tablet app.
- </li>
- </ul>
-</div>
<h2 id="optimize-layouts">2. Optimize your layouts for larger screens</h2>
@@ -288,7 +237,7 @@ different layouts in the appropriate screen size buckets (such as
<li>
<a href=
- "/training/design-navigation/multiple-sizes.html">Planning for Multiple
+ "{@docRoot}training/design-navigation/multiple-sizes.html">Planning for Multiple
Touchscreen Sizes</a>&mdash;Android Training class that walks you through
the essentials of planning an intuitive, effective navigation for tablets
and other devices.
@@ -304,7 +253,8 @@ different layouts in the appropriate screen size buckets (such as
</div>
-<h2 id="use-tablet-icons">4. Use Icons and other assets that are designed for tablet screens</h2>
+<h2 id="use-tablet-icons">4. Use Icons and other assets that are designed
+for tablet screens</h2>
<p>So that your app looks its best, make sure to use icons and other bitmap
assets that are created specifically for the densities used by tablet screens.
@@ -362,6 +312,8 @@ resource qualifiers</a> to ensure that the proper set of alternative resources
gets loaded.</li>
</ul>
+<p>At a minimum, your app should supply custom drawables and assets for common tablet screen densities, tagged with the qualifiers <code>hdpi</code>, <code>xhdpi</code>, or <code>xxhdpi</code>.</p>
+
<div class="rel-resources">
<h3>
Related resources
@@ -375,7 +327,7 @@ gets loaded.</li>
<li>
<a href=
- "/guide/topics/resources/providing-resources.html">Providing
+ "{@docRoot}guide/topics/resources/providing-resources.html">Providing
Resources</a>&mdash;Developer documentation on how to provide
sets of layouts and drawable resources for specific ranges of device
screens.
@@ -390,7 +342,7 @@ gets loaded.</li>
<li>
<a href=
- "/training/basics/supporting-devices/screens.html">Supporting Different
+ "{@docRoot}training/basics/supporting-devices/screens.html">Supporting Different
Screens</a>&mdash;Android Training class that takes you
through the process of optimizing the user experience for different
screen sizes and densities.
@@ -527,9 +479,25 @@ that it is not accessible to users or that it offers “graceful degradation”
to a replacement feature (also see the section below on hardware features).</li>
</ul>
+<h2 id="android-versions">8. Target Android versions properly</h2>
+
+<p>To ensure the broadest possible distribution to tablets, make sure that your
+app is targeting the Android versions that support tablets. You can declare
+the targeted range of Android versions in the
+<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>&lt;uses-sdk&gt;</code></a>
+element in the app manifest.</p>
-<h2 id="hardware-requirements">8. Don’t require hardware features that might not be
- available on tablets</h2>
+<p>At a minimum, your app's
+<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>&lt;uses-sdk&gt;</code></a>
+should declare support for Android versions as follows:</p>
+
+ <ul>
+ <li>If a <code>targetSdkVersion</code> attribute is declared, it should have a value of 11 or higher, OR</li>
+ <li>If a <code>minSdkVersion</code> attribute is declared, it should have a value of 11 or higher.</li>
+ <li>Also, if a <code>maxSdkVersion</code> attribute is declared, it must have a value of 12 or higher. Note that, in most cases, the use of <code>maxSdkVersion</code> is <em>not recommended</em>.</li>
+</ul>
+
+<h2 id="hardware-requirements">9. Declare hardware feature dependencies properly</h2>
<p>Handsets and tablets typically offer slightly different hardware support for
sensors, camera, telephony, and other features. For example, many tablets are
@@ -579,13 +547,13 @@ run-time checking for the hardware capability that it needs and handle as needed
<ul>
<li>
<a href=
- "/guide/topics/manifest/uses-feature-element.html#permissions">Permissions
+ "{@docRoot}guide/topics/manifest/uses-feature-element.html#permissions">Permissions
that Imply Feature Requirements</a>&mdash;A list of permissions that may
cause unwanted filtering if declared in your app's manifest.
</li>
<li>
<a href=
- "/guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>&mdash;Description
+ "{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>&mdash;Description
and reference documentation for the <code>&lt;uses-feature&gt;</code>
manifest element.
</li>
@@ -599,23 +567,32 @@ run-time checking for the hardware capability that it needs and handle as needed
</ul>
</div>
-<h2 id="support-screens">9. Declare support for tablet screen configurations</h2>
+<h2 id="support-screens">10. Declare support for tablet screens</h2>
-<p>To ensure that you can distribute your app to a broad range of tablets,
-declare all the screen sizes that your app supports in its manifest:</p>
+<p>To ensure that you can distribute your app to a broad range of tablets, your app should
+declare support for tablet screen sizes in the
+<a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
+element in the app manifest, as follows:</p>
<ul>
-<li>Declare a <a
-href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a> element
-with appropriate attributes, as needed. For details, see <a
-href="#basic-technical-checks">Basic Technical Checks</a>
-later in this document.</li>
-<li>If the app declares a <code>&lt;compatible-screens&gt;</code> element in the
-manifest, the element must include attributes that specify <em>all of the size and
-density combinations for tablet screens</em> that the app supports. Note that, if possible,
-you should avoid using this element in your app.</li>
+ <li>A
+ <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
+ element, if declared, must not specify <code>android:largeScreens="false"</code>
+ or <code>android:xlargeScreens="false"</code>.</li>
+ <li>For apps targeting <code>minSdkVersion</code> value less than 13, a
+ <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
+ element must be declared with both <code>android:largeScreens="true"</code> and
+ <code>android:xlargeScreens="true"</code>.</li>
</ul>
+<p>If the app declares a
+<a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html"><code>&lt;compatible-screens&gt;</code></a>
+element in the manifest, the element should include attributes that specify
+<em>all of the size and density combinations for tablet screens</em> that the
+app supports. Note that, if possible, you should avoid using the
+<a href="{@docRoot}guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>
+element in your app.</p>
+
<div class="rel-resources">
<h3>
Related resources
@@ -623,21 +600,8 @@ you should avoid using this element in your app.</li>
<ul>
<li>
- <a href="#basic-technical-checks">Basic Technical
- Checks</a>&mdash;Includes details (see <a href="#TB-R4">TB-R4</a>) on how
- to properly declare screens support for tablet screen sizes.
- </li>
-
- <li>
- <a href=
- "/guide/topics/manifest/supports-screens-element.html"><code>&lt;supports-screens&gt;</code></a>&mdash;Description
- and reference documentation for the <code>&lt;supports-screens&gt;</code>
- manifest element.
- </li>
-
- <li>
<a href=
- "/guide/practices/screens_support.html#DeclaringScreenSizeSupport">Declaring
+ "{@docRoot}guide/practices/screens_support.html#DeclaringScreenSizeSupport">Declaring
Screen Size Support</a>&mdash;Developer documentation that explains the
details of managing UI for best display on multiple screen sizes.
</li>
@@ -645,7 +609,7 @@ you should avoid using this element in your app.</li>
</div>
-<h2 id="google-play">10. Showcase your tablet UI in Google Play</h2>
+<h2 id="google-play">11. Showcase your tablet UI in Google Play</h2>
<p>
After you've done the work to create an rich, optimized UI for your tablet
@@ -659,10 +623,9 @@ you should avoid using this element in your app.</li>
<p>
Tablet users want to know what your app is like on a tablet device, not on a
- phone. Capitalize on their interest by showing them screenshots of your
- tablet UI on your app's store listing page. You can upload tablet screenshots
- from the Developer Console. Here are some tips and guidelines:
-</p>
+ phone. If you developed a tablet app, make sure to upload screenshots
+ of your tablet UI to the Developer Console. Here are some guidelines:
+ </p>
<ul style="margin-top:0;">
<li>Your screenshots should show the core functionality of your app, not a
@@ -670,7 +633,7 @@ you should avoid using this element in your app.</li>
what you should show in your screenshots.
</li>
- <li>Add screenshots taken on both 7-inch and 10-inch tablets, if possible.
+ <li>Add screenshots taken on both 7-inch and 10-inch tablets.
</li>
<li>It's recommended that you add screenshots taken in both landscape and
@@ -796,26 +759,15 @@ you should avoid using this element in your app.</li>
</ul>
</div>
-<h2 id="google-play-bp">11. Follow best practices for publishing in Google Play</h2>
+<h2 id="google-play-bp">12. Follow best practices for publishing in Google Play</h2>
-<p>Make sure that your app follows key best practices that ensure broad
- distribution to tablet devices. </p>
+Here are some best practices to consider when publishing a tablet app on Google Play.</p>
-<h5>Verify basic technical checks</h5>
+<h5>Check the app's filtering</h5>
- <ul>
- <li>Verify that the app is targeting the proper Android versions and screen sizes
- for Android tablets. Follow the <a href="#basic-technical-checks">Basic Technical
- Checks for Tablets</a> listed in the next section. </li>
- <li>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></li>
- </ul>
+<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>
-<h5>
- Distribute as a single APK
-</h5>
+<h5>Distribute as a single APK</h5>
<p>
It's recommended that you publish your app as a single APK for all screen
@@ -841,7 +793,7 @@ you should avoid using this element in your app.</li>
<p>
If necessary, you can alternatively choose to deliver your app using <a href=
- "/google/play/publishing/multiple-apks.html">Multiple APK Support</a>,
+ "{@docRoot}google/play/publishing/multiple-apks.html">Multiple APK Support</a>,
although in most cases using a single APK to reach all devices is strongly
recommended.
</p>
@@ -858,189 +810,6 @@ you should avoid using this element in your app.</li>
</ul>
</div>
-<h2 id="basic-technical-checks">Basic Technical Checks for Tablets</h2>
-
-<p>
- This section lists specific details on basic technical checks that you should
- perform before publishing. The checks ensure that your app is properly targeted to a
- broad range of tablet devices. Make sure that the app meets all of the checks
- listed below.
-</p>
-
-<p>
- To verify the basic technical checks, follow the <a href="#tests">Test
- Procedures</a> listed below. Before you start, you need to obtain need the
- application source code.
-</p>
-
-<h5 id="criteria">
-Technical checks
-</h5>
-
-<table>
- <tr>
- <th style="width:2px;">
- Area
- </th>
- <th style="width:54px;">
- ID
- </th>
- <th>
- Description
- </th>
- <th style="width:54px;">
- Tests
- </th>
- </tr>
- <tr id="TB-R1">
- <td rowspan="2">Android Versions</td>
- <td>
- TB-R1
- </td>
- <td>
- <p style="margin-bottom:.5em;">App <em>does</em> target minimum Android versions
- that support tablets:</p>
- <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
- <li><code>targetSdkVersion</code> is declared with value 11 or higher, OR</li>
- <li><code>minSdkVersion</code> is declared with value 11 or higher.</li>
- </ol>
- </td>
- <td><a href="#tests">TA-1</a></td>
- </tr>
- <tr id="TB-R2">
- <td>
- TB-R2
- </td>
- <td>
- <p style="margin-bottom:.5em;">App <em>does not</em> limit targeting to
- exclude Android versions that support tablets:</p>
- <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
- <li><code>maxSdkVersion</code>, if declared, must have a value of 12
- or higher. </li>
- </ol>
- <p class="caution" style="margin-bottom:.25em;">Note that, in most cases, the use of <code>
- maxSdkVersion</code> is not recommended.</p>
- </td>
- <td><a href="#tests">TA-1</a></td>
- </tr>
- <tr id="TB-R3">
- <td rowspan="1">Feature Dependencies</td>
- <td>
- TB-R3
- </td>
- <td>
- <p style="margin-bottom:.5em;">App <em>does not</em> limit distribution to
- tablets by requiring hardware features not normally available on tablets,
- whether <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html#declared"
- declared explicitly</a> or <a href=
- "/guide/topics/manifest/uses-feature-element.html#permissions">implied by
- permissions</a>.
- </p>
- <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
- <li>the app must not declare a <code>&lt;uses-feature&gt;</code> element for
- <code>android.hardware.telephony</code> unless the element is specifically
- marked with the <code>android:required="false"</code> attribute.
- </li>
- </ol>
- <p>For details, see <a href="#hardware-requirements">Hardware Requirements</a>
- earlier in this document.</p>
- </td>
- <td><a href="#tests">TA-1</a></td>
- </tr>
- <tr id="TB-R4">
- <td rowspan="2">Screens Support</td>
- <td>
- TB-R4
- </td>
- <td>
- <p style="margin-bottom:.5em;">App <em>does not</em> limit distribution to common
- tablet screen sizes:</p>
- <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
- <li>If declared, <code>&lt;supports-screens&gt;</code> element must not specify
- <code>android:largeScreens="false"</code> or <code>android:xlargeScreens="false"</code>.</li>
- <li>For a <code>minSdkVersion</code> value less than 13, a <code>&lt;supports-screens&gt;</code>
- element must be declared with both <code>android:largeScreens="true"</code>
- and <code>android:xlargeScreens="true"</code>.</li>
- </ol>
- </td>
- <td><a href="#tests">TA-1</a></td>
- </tr>
- <tr id="TB-R5">
- <td>
- TB-R5
- </td>
- <td>
- <p style="margin-bottom:.5em;">App <em>does</em> supply custom drawables and
- assets for common tablet screen densities. Specifically, the APK must include
- corresponding resource directories tagged with these qualifiers:</p>
- <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
- <li>An <code>hdpi</code> qualifier, OR</li>
- <li>An <code>xhdpi</code> qualifier, OR</li>
- <li>An <code>xxhdpi</code> qualifier</li>
- </ol>
-
- <p>For details, see <a href="#use-tablet-icons">Icons and Other Assets</a>
- earlier in this document.</p>
- </td>
- <td><a href="#tests">TA-2</a></td>
- </tr>
-</table>
-
-<p>If you use <a href="{@docRoot}google/play/publishing/multiple-apks.html">multiple APK
- support</a> to deliver size- or version-specific APKs, the APKs and their
- characteristics must meet all of the criteria listed above, either individually
- or as a cumulative set.</p>
-
-<h5 id="tests">
- Test procedures
-</h5>
-
-<table>
- <tr>
- <th style="width:54px;">
- Procedure
- <th>
- Description
- </th>
- </tr>
- <td>
- TA-1
- </td>
- <td>
- <p style="margin-bottom:.5em;">Obtain the APK and inspect the manifest.xml file. Check for the required attribute values.</p>
- </td>
- </tr>
- <tr id="ta2">
- <td>
- TA-2
- </td>
- <td>
- <p style="margin-bottom:.5em;">Obtain the APK and inspect the resources
- directories. Make sure that the app includes custom drawables and assets
- directories tagged with the required qualifiers.</p>
- </td>
- </tr>
-</table>
-
-<div class="rel-resources">
- <h3>
- Related resources
- </h3>
-
- <ul>
- <li>
- <a href="{@docRoot}distribute/googleplay/quality/core.html">Core App
- Quality</a>&mdash;A set of core quality criteria that all Android apps
- should meet on all targeted devices.
- </li>
-
- <li>
- <a href="#test-environment">Setting up a Test
- Environment</a>&mdash;Information on how to set up an environment to test
- your app on tablets.
- </li>
- </ul>
-</div>
<h2 id="test-environment">Setting Up a Test Environment for Tablets</h2>