diff options
Diffstat (limited to 'docs/html/distribute/essentials')
-rw-r--r-- | docs/html/distribute/essentials/essentials_toc.cs | 6 | ||||
-rw-r--r-- | docs/html/distribute/essentials/quality/tv.jd | 25 | ||||
-rw-r--r-- | docs/html/distribute/essentials/quality/wear.jd | 387 |
3 files changed, 406 insertions, 12 deletions
diff --git a/docs/html/distribute/essentials/essentials_toc.cs b/docs/html/distribute/essentials/essentials_toc.cs index 4e53468..a1c9575 100644 --- a/docs/html/distribute/essentials/essentials_toc.cs +++ b/docs/html/distribute/essentials/essentials_toc.cs @@ -17,6 +17,12 @@ </div> </li> <li class="nav-section"> + <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/essentials/quality/wear.html"> + <span class="en">Wear App Quality</span> + </a> + </div> + </li> + <li class="nav-section"> <div class="nav-section empty" style="font-weight:normal"><a href="<?cs var:toroot?>distribute/essentials/optimizing-your-app.html"> <span class="en">Optimize Your App</span> </a> diff --git a/docs/html/distribute/essentials/quality/tv.jd b/docs/html/distribute/essentials/quality/tv.jd index 8e17157..b13307e 100644 --- a/docs/html/distribute/essentials/quality/tv.jd +++ b/docs/html/distribute/essentials/quality/tv.jd @@ -234,7 +234,7 @@ page.image=/distribute/images/gp-tv-quality.png </td> <td> <p style="margin-bottom:.5em;"> - App does not depend on a remote controller having a menu button to access user interface + App does not depend on a remote controller having a Menu button to access user interface controls. (<a href="{@docRoot}training/tv/start/navigation.html#d-pad-navigation">Learn how</a>) </p> @@ -291,8 +291,8 @@ data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> </td> <td> <p style="margin-bottom:.5em;"> - App manifest sets an intent type of {@code ACTION_MAIN} with category - {@code CATEGORY_LEANBACK_LAUNCHER}. + App manifest sets an intent type of {@link android.content.Intent#ACTION_MAIN} with category + {@link android.content.Intent#CATEGORY_LEANBACK_LAUNCHER}. (<a href="{@docRoot}training/tv/start/start.html#tv-activity">Learn how</a>) </p> </td> @@ -321,8 +321,9 @@ data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> </td> <td> <p style="margin-bottom:.5em;"> - If the app requires a game controller, the app manifest sets the {@code uses-feature} setting - {@code android.hardware.gamepad} to {@code required="true"}. + If the app uses a game controller as it's primary input method, it declares the appropriate + requirement with the <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html" + >{@code <uses-feature>}</a> manifest tag. (<a href="{@docRoot}training/tv/games/index.html#gamepad">Learn how</a>) </p> </td> @@ -334,9 +335,9 @@ data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> </td> <td> <p style="margin-bottom:.5em;"> - If the app provides user instructions for use of game controllers, the instructions - do not include a controller with any branding. - (<a href="{@docRoot}training/tv/games/index.html#generic-controllers">Learn how</a>) + If the app provides visual instructions for using game controllers, the instructions should + be free of branding and show a compatible button layout. + (<a href="{@docRoot}training/tv/games/index.html#ControllerHelp">Learn how</a>) </p> </td> </tr> @@ -351,7 +352,7 @@ data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> </td> <td> <p style="margin-bottom:.5em;"> - App enables interaction with any advertising using D-pad controls. + App allows interaction with advertising using D-pad controls. (<a href="{@docRoot}training/tv/start/navigation.html#d-pad-navigation">Learn how</a>) </p> </td> @@ -363,7 +364,7 @@ data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> </td> <td> <p style="margin-bottom:.5em;"> - For advertising that uses full-screen, non-video ads, the app allows the user to + For advertising that uses fullscreen, non-video ads, the app allows the user to immediately dismiss the ad with D-pad controls. </p> </td> @@ -375,7 +376,7 @@ data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> </td> <td> <p style="margin-bottom:.5em;"> - For advertising that uses clickable, non-full screen, non-video ads, the app does not allow + For advertising that uses clickable, non-fullscreen, non-video ads, the app does not allow ads to link to a web URL. </p> </td> @@ -387,7 +388,7 @@ data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> </td> <td> <p style="margin-bottom:.5em;"> - For advertising that uses clickable, non-full screen, non-video ads, the app does not allow + For advertising that uses clickable, non-fullscreen, non-video ads, the app does not allow ads to link to another app that is not available on TV devices. </p> </td> diff --git a/docs/html/distribute/essentials/quality/wear.jd b/docs/html/distribute/essentials/quality/wear.jd new file mode 100644 index 0000000..667e945 --- /dev/null +++ b/docs/html/distribute/essentials/quality/wear.jd @@ -0,0 +1,387 @@ +page.title=Wear App Quality +page.tags="wear","wearables","quality","guidelines" +page.metaDescription=Wearables are small factor devices that are built for glanceability and require unique design and functionality. +page.image=/distribute/images/gp-wear-quality.png +@jd:body + +<div id="qv-wrapper"><div id="qv"> +<h2>Quality Criteria</h2> + <ol> + <li><a href="#ux">Design and Interaction</a></li> + <li><a href="#fn">Functionality</a></li> + <li><a href="#faq">Frequently Asked Questions</a></li> + </ol> + + <h2>You Should Also Read</h2> + <ol> + <li><a href="{@docRoot}distribute/essentials/quality/core.html"> + Core App Quality</a></li> + <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html"> + Optimize Your App</a></li> + <li><a href="{@docRoot}design/patterns/notifications.html"> + Notifications</a></li> + </ol> +</div> +</div> + +<img src="{@docRoot}distribute/images/gp-wear-quality.png" style="width:480px;"> + +<p> + Android Wear aims to provide users with just the right information at just the right time. Great + Android Wear experiences are launched automatically, glanceable, and require zero or low user + interaction. Designing apps for wearables is substantially different than designing for phones or + tablets. There are different strengths and weaknesses, different use cases, and different + ergonomics to take into consideration. +</p> + +<p> + The first step toward creating a great experience for users on Wear is to read the + <a href="{@docRoot}design/wear/index.html">Android Wear design guidelines</a>, which provides + instructions on how to build the best user experience for Wear apps. You should also review the + <a href="{@docRoot}training/building-wearables.html">Building Apps for Wearables</a> training, to + understand the basic implementation requirements for a Wear app. +</p> + +<p class="caution"> + <strong>Important:</strong> To ensure a great user experience, apps for wearables must meet + specific requirements for usability. Only apps that meet the following quality criteria will + qualify as an Android Wear app on Google Play. Qualifying as a Wear app will make it easier for + Android Wear users to discover your app on Google Play. +</p> + +<p class="note"> + <strong>Note:</strong> You will be able to submit your apps for Android Wear review when the + public release of Android 5.0 launches on November 3. Stay tuned for more information about how to + submit your apps for Android Wear review through the <a href="https://play.google.com/apps/publish/signup/">Google Play Developer Console</a>. +</p> + +<div class="headerLine"> + <h2 id="fn"> + Functionality + </h2> + + +</div> + +<p> + These criteria ensure that your app is configured correctly and provides the expected + functional behavior. +</p> + + +<table> +<tr> + <th style="width:2px;"> + Type + </th> + <th style="width:54px;"> + ID + </th> + <th> + Description + </th> +</tr> + +<tr> + <td rowspan="1" id="general"> + General + </td> + + <td id="WR-GL"> + WR-GL + </td> + <td> + <p style="margin-bottom:.5em;"> + Handheld app includes either notifications with wearable-specific functionality or a wearable + app that runs directly on the Wear device. + (<a href="{@docRoot}training/building-wearables.html">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td rowspan="1" id="packaging"> + Packaging + </td> + + <td id="WR-PK"> + WR-PK + </td> + <td> + <p style="margin-bottom:.5em;"> + Wearable apps that run directly on the device are packaged inside the primary handheld app. + (<a href="{@docRoot}training/wearables/apps/packaging.html">Learn how</a>) + </p> + </td> +</tr> + + +<tr> + <td rowspan="3" id="functional-notifications"> + Notifications + </td> + + <td id="WR-FW"> + WR-FW + </td> + <td> + <p style="margin-bottom:.5em;"> + Notifications with wearable-specific functionality use a {@code RemoteInput} or + {@code WearableExtender}. + (<a href="{@docRoot}training/wearables/notifications/index.html">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td id="WR-FR"> + WR-FR + </td> + <td> + <p style="margin-bottom:.5em;"> + Notifications for messaging apps allow users to reply via voice input or quick responses. + (<a href="{@docRoot}training/wearables/notifications/voice-input.html">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td id="WR-FG"> + WR-FG + </td> + <td> + <p style="margin-bottom:.5em;"> + Similar notifications are grouped together in a stack. + (<a href="{@docRoot}training/wearables/notifications/stacks.html">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td rowspan="1" id="gestures"> + Gestures + </td> + + <td id="WR-GP"> + WR-GP + </td> + <td> + <p style="margin-bottom:.5em;"> + Full-screen activities use long press for the sole purpose of prompting to quit. + <br/> + (<a href="{@docRoot}training/wearables/ui/exit.html">Learn how</a>) + </p> + </td> +</tr> + +</table> + + +<h3 class="rel-resources clearfloat">Related resources</h3> + +<div class="resource-widget resource-flow-layout col-13" data-query= +"collection:distribute/essentials/wearqualityguidelines/functionality" +data-sortorder="-timestamp" data-cardsizes="6x2" data-maxresults="6"> +</div> + +<div class="headerLine"> + <h2 id="ux"> + Visual Design and User Interaction + </h2> + + +</div> + +<p> + These criteria ensure that your app follows critical design and interaction patterns to provide a + consistent, intuitive, and enjoyable user experience on wearables. +</p> + +<table> + +<tr> + <th style="width:2px;"> + Type + </th> + <th style="width:54px;"> + ID + </th> + <th> + Description + </th> +</tr> + +<tr> + <td rowspan="2" id="layout"> + Layout + </td> + + <td id="WR-LL"> + WR-LL + </td> + <td> + <p style="margin-bottom:.5em;"> + App user interface is formatted appropriately for both square and round displays. + (<a href="{@docRoot}training/wearables/ui/layouts.html">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td id="WR-TC"> + WR-TC + </td> + <td> + <p style="margin-bottom:.5em;"> + App text is large and glanceable with a suggested minimum size of 16sp. + (<a href="{@docRoot}design/wear/style.html#Typography">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td rowspan="1" id="launcher"> + Launcher + </td> + + <td id="WR-LN"> + WR-LN + </td> + <td> + <p style="margin-bottom:.5em;"> + App launcher string is the app name, not a command phrase. + (<a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td rowspan="5" id="notifications"> + Notifications + </td> + + <td id="WR-NC"> + WR-NC + </td> + <td> + <p style="margin-bottom:.5em;"> + App displays confirmation animations when appropriate. + (<a href="{@docRoot}design/wear/patterns.html#Countdown">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td id="WR-NR"> + WR-NR + </td> + <td> + <p style="margin-bottom:.5em;"> + Notification cards have the app icon visible at the top right edge. The one exception is if the + notification card has single-action controls, for example a media playback card. + <br/> + (<a href="{@docRoot}design/wear/style.html#Assets">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td id="WR-WI"> + WR-WI + </td> + <td> + <p style="margin-bottom:.5em;"> + Notification actions have a white icon, action title, and transparent background. + <br/> + (<a href="{@docRoot}training/wearables/notifications/creating.html#ActionButtons">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td id="WR-PB"> + WR-PB + </td> + <td> + <p style="margin-bottom:.5em;"> + Notification photo backgrounds are used only to convey information, not to brand a card. + (<a href="{@docRoot}design/wear/style.html#Branding">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td id="WR-PR"> + WR-PR + </td> + <td> + <p style="margin-bottom:.5em;"> + Notification photo backgrounds have a resolution of at least 400x400. + (<a href="{@docRoot}training/wearables/notifications/creating.html#AddWearableFeatures">Learn how</a>) + </p> + </td> +</tr> + +<tr> + <td rowspan="1" id="googleplay"> + Google Play + </td> + + <td id="WR-GS"> + WR-GS + </td> + <td> + <p style="margin-bottom:.5em;"> + App includes at least one Wear screenshot in its Play Store Listing. + (<a href="https://support.google.com/googleplay/android-developer/answer/1078870?hl=en">Learn how</a>) + </p> + </td> +</tr> + +</table> + + +<h3 class="rel-resources clearfloat">Related resources</h3> + +<div class="resource-widget resource-flow-layout col-13" data-query= +"collection:distribute/essentials/wearqualityguidelines/visualdesign" +data-sortorder="-timestamp" data-cardsizes="6x2" data-maxresults="6"> +</div> + +<div class="headerLine"> + <h2 id="faq"> + Frequently Asked Questions + </h2> +</div> + +<p style="margin-top:30px;"> + <strong>After I submit my app for Android Wear review, how will I find out if my app does not meet + all the requirements for Wear?</strong> +</p> +<p> + If your app does not meet the usability requirements described on this page, the Play Store team + will contact you through the email address specified in the <a href= + "https://play.google.com/apps/publish/">Google Play Developer Console</a> account associated with + the app. +</p> +<p class="caution"> + <strong>Caution:</strong> Make sure your app meets the <a href="#fn">functionality + requirements</a>, otherwise your app will not be considered a Wear app and will not be reviewed + for Wear <a href="#ux">design and interaction</a>. +</p> +<p class="note"> + <strong>Note:</strong> You will be able to submit your apps for additional Android Wear review when + the public release of Android 5.0 launches on November 3. +</p> + + +<p style="margin-top:30px;"> + <strong>If my app does not meet the Wear requirements, will my new or updated app still appear on + Google Play for phones and tablets and still be installable on wearables?</strong> +</p> +<p> + Yes. The requirements described above only determine whether your app will be identified as an + Android Wear app on Google Play and easier for Android Wear users to discover. If your app is not + accepted as a Wear app, it will still be available to other device types, such as phones and + tablets, and it will still be installable on wearables. +</p> |