Per user feedback--at times it was unclear whether app was running on Auto or on a mobile device connected to Auto. Clarified that it's always/only about an app on a phone or tablet that's plugged in to Auto. Also fixed a broken link while I had it open. See first comment for doc stage location. bug: 20827220 Change-Id: I52f38674fbdadb6b244af92b66e841b795340fec
553 lines
13 KiB
Plaintext
553 lines
13 KiB
Plaintext
|
||
page.title=Auto App Quality
|
||
page.metaDescription=Auto apps integrate with the vehicle's input controls and display and minimize driver distraction to create a great experience.
|
||
page.image=/distribute/images/gp-auto-quality.png
|
||
@jd:body
|
||
|
||
<div id="qv-wrapper"><div id="qv">
|
||
<h2>Quality Criteria</h2>
|
||
<ol>
|
||
<li><a href="#core">Core App Quality</a></li>
|
||
<li><a href="#ux">Visual 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}shareables/auto/AndroidAuto-audio-apps.pdf">Android Auto UX Guidelines
|
||
for Audio Applications</a></li>
|
||
<li><a href="{@docRoot}shareables/auto/AndroidAuto-messaging-apps.pdf">Android Auto UX Guidelines
|
||
for Messaging Applications</a></li>
|
||
</ol>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<img src="{@docRoot}distribute/images/gp-auto-quality.png" style="width:480px;">
|
||
|
||
|
||
<p>When designing support for Android Auto in your app, avoid driver distraction above all else.
|
||
Apps that work with the Auto user interface should minimize distractions faced by the driver
|
||
through best practices such as voice commands and very simple visual design.
|
||
</p>
|
||
|
||
<p>
|
||
Great auto experiences are predictive and predictable. Apps that support Android Auto
|
||
should show timely information to the driver only when it is relevant, and use
|
||
simple, predictable patterns for common tasks.
|
||
</p>
|
||
|
||
<p>
|
||
It's important that you test your auto app for the criteria listed on this page prior to
|
||
submitting to Google Play for review. There are two ways to test your app:
|
||
</p>
|
||
|
||
<ol>
|
||
<li> Use the Android Auto simulator to validate each checklist item. The simulator allows you to
|
||
sideload your app for testing. For more information on the simulator, see
|
||
<a href="{@docRoot}training/auto/start/index.html#test-it-dhu">Run and Test Auto Apps</a>.</li>
|
||
<li>Test your app in a vehicle by uploading your app to the alpha/beta channel on Google Play.
|
||
Apps will not work on Auto in vehicles unless they are installed from the Play Store.
|
||
For more information, see <a
|
||
href="{@docRoot}distribute/googleplay/developer-console.html#alpha-beta">Alpha and Beta Testing</a>.
|
||
</li>
|
||
</ol>
|
||
|
||
<p class="caution">
|
||
<strong>Important:</strong> The criteria listed in this page apply to your app's user interface
|
||
and behavior when running on devices connected to an Android Auto screen. Apps must meet these
|
||
criteria to qualify as an Android Auto app on Google Play.
|
||
</p>
|
||
|
||
<div class="headerLine">
|
||
<h2 id="core">
|
||
Core App Quality
|
||
</h2>
|
||
|
||
<p>
|
||
In addition to the Auto-specific criteria listed below, Auto apps should meet all relevant core app
|
||
quality criteria for the Android platform, as detailed in the
|
||
<a href="{@docRoot}distribute/essentials/quality/core.html">Core App Quality</a> criteria. Test
|
||
your app against those criteria to ensure that they meet Android standards for navigation and
|
||
design. Then test your app against all Auto-specific criteria, keeping in mind
|
||
that, when running on a device connected to Android auto, your app must meet the requirements
|
||
listed in this page.
|
||
|
||
|
||
|
||
<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 ensure a consistent, intuitive, and enjoyable user experience on Android Auto. Many elements,
|
||
such as the navigation drawer, card backgrounds, fonts and icon colors, are set and rendered by
|
||
the system. Your own app-specific design elements must meet the following criteria when running
|
||
on a device connected to Android Auto.
|
||
</p>
|
||
|
||
<table>
|
||
|
||
<tr>
|
||
<th style="width:2px;">
|
||
Type
|
||
</th>
|
||
<th style="width:54px;">
|
||
Test
|
||
</th>
|
||
<th>
|
||
Description
|
||
</th>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td rowspan="5" id="safety">
|
||
Driver Attention
|
||
</td>
|
||
|
||
<td id="AU-MV">
|
||
AU-MV
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App does not display on the Auto screen animated elements such as animated graphics,
|
||
video, or progress bars.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-VA">
|
||
AU-VA
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App does not display any form of visual or text advertising on the Auto screen. Only audio
|
||
ads are acceptable.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-IM">
|
||
AU-IM
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App elements do not display any images on the Auto screen. Exceptions include: app may display
|
||
a single static image for
|
||
content context in the background of the consumption screen, such as album art, and app may
|
||
display icons in the content navigation drawer.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-DS">
|
||
AU-DS
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App does not include games or other features outside of the intended app types supported
|
||
by Auto.
|
||
(<a href="{@docRoot}training/auto/start/index.html">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-VI">
|
||
AU-VI
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App never activates the phone screen to present any form of visual information (notifications,
|
||
toasts, video, images, advertising, etc.) on the phone screen while the app is interacting
|
||
with the Android Auto dashboard unit.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
|
||
|
||
<tr>
|
||
<td rowspan="1" id="layout">
|
||
Layout
|
||
</td>
|
||
|
||
<td id="AU-SC">
|
||
AU-SC
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App does not display automatically scrolling text.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td rowspan="4" id="contrast">
|
||
Visual Contrast
|
||
</td>
|
||
|
||
<td id="AU-DM">
|
||
AU-DM
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App supports day mode, which renders dark text and controls on a light background.
|
||
(<a href="//google.com/design/spec-auto/colors-branding/day-night-colors.html">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-NM">
|
||
AU-NM
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App supports night mode, which renders light text and controls on a dark background.
|
||
(<a href="//google.com/design/spec-auto/colors-branding/day-night-colors.html">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-WI">
|
||
AU-WI
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App provides white icon sets that the system colorizes to provide automatic
|
||
contrast compensation.
|
||
(<a href="//google.com/design/spec-auto/colors-branding/color-themes.html">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-OC">
|
||
AU-OC
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App provides colors that the system can optimize for easy in-vehicle readability.
|
||
(<a href="//google.com/design/spec-auto/colors-branding/color-themes.html">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td rowspan="2" id="interaction">
|
||
Interaction
|
||
</td>
|
||
|
||
<td id="AU-VC">
|
||
AU-VC
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App must support voice commands in audio apps.
|
||
(<a href="{@docRoot}training/auto/audio/index.html#support_voice">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-AB">
|
||
AU-AB
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App-specific buttons respond to user actions with no more than a two-second delay.
|
||
</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/autoqualityguidelines/visualdesign"
|
||
data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6">
|
||
</div>
|
||
|
||
|
||
|
||
<div class="headerLine">
|
||
<h2 id="fn">
|
||
Functionality
|
||
</h2>
|
||
|
||
|
||
</div>
|
||
|
||
<p>
|
||
These criteria ensure that your app is configured correctly and provides expected
|
||
functional behavior when running on a device connected to Android Auto.
|
||
</p>
|
||
|
||
|
||
<table>
|
||
<tr>
|
||
<th style="width:2px;">
|
||
Type
|
||
</th>
|
||
<th style="width:54px;">
|
||
Test
|
||
</th>
|
||
<th>
|
||
Description
|
||
</th>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td rowspan="6" id="general">
|
||
General
|
||
</td>
|
||
|
||
<td id="AU-LT">
|
||
AU-LT
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App launches in no more than 10 seconds.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-LC">
|
||
AU-LC
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App loads content in no more than 10 seconds.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-FP">
|
||
AU-FP
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
Auto app functionality works as expected or described in the app's Google Play Store listing.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-RL">
|
||
AU-RL
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
When the app is relaunched from the home screen, the app restores the app state as closely as
|
||
possible to the previous state.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-SS">
|
||
AU-SS
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
No tasks in the app take more than six steps to complete.
|
||
(<a href="//google.com/design/spec-auto/system-overview/drawer.html#drawer-drawer-content-patterns">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-GO">
|
||
AU-GO
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
Interactive elements that are intentionally grayed-out must be non-functional.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
|
||
<tr>
|
||
<td rowspan="1" id="media">
|
||
Media
|
||
</td>
|
||
|
||
|
||
<td id="AU-MT">
|
||
AU-MT
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
Media apps do not autoplay on startup of Android Auto or without user initiated action to
|
||
select the app or app media.
|
||
(<a href="{@docRoot}training/auto/audio/index.html#playback-commands">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td rowspan="2" id="notifications">
|
||
Notifications
|
||
</td>
|
||
|
||
<td id="AU-NA">
|
||
AU-NA
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App does not present advertisements through notifications.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-NT">
|
||
AU-NT
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App displays notifications only when relevant to the driver’s needs.
|
||
</p>
|
||
<p>
|
||
Examples:<br />
|
||
Good: Notifying the user that a new message has arrived.<br />
|
||
Bad: Notifying the user about a new album release.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td rowspan="5" id="messages">
|
||
Messaging
|
||
</td>
|
||
|
||
<td id="AU-MI">
|
||
AU-MI
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
App is able to successfully receive incoming messages.
|
||
(<a href="{@docRoot}training/auto/messaging/index.html">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-MG">
|
||
AU-MG
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
Messages are properly grouped and displayed in the correct order.
|
||
(<a href="{@docRoot}training/auto/messaging/index.html#build_conversation">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-MR">
|
||
AU-MR
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
User is able to successfully reply to a message.
|
||
(<a href="{@docRoot}training/auto/messaging/index.html">Learn How</a>)
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-MS">
|
||
AU-MS
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
Apps use short-form messaging app design patterns. Traditional long-form messaging apps, such
|
||
as apps for email, are not permitted.
|
||
</p>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td id="AU-MP">
|
||
AU-MP
|
||
</td>
|
||
<td>
|
||
<p style="margin-bottom:.5em;">
|
||
Apps are peer-to-peer messaging services and not notification service apps such as weather,
|
||
stocks, and sport scores apps.
|
||
</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/autoqualityguidelines/functionality"
|
||
data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6">
|
||
</div>
|
||
-->
|
||
|
||
<div class="headerLine">
|
||
<h2 id="faq">
|
||
Frequently Asked Questions
|
||
</h2>
|
||
</div>
|
||
|
||
<p style="margin-top:30px;">
|
||
<strong>After submitting my app, how will I find out if my app does not meet all
|
||
the requirements for Android Auto?</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="note">
|
||
<strong>Note:</strong> For information about how to publish your Auto app in Google Play, see <a
|
||
href="{@docRoot}distribute/googleplay/auto.html">Distributing to Android Auto</a>.
|
||
</p>
|
||
|
||
|
||
<p style="margin-top:30px;">
|
||
<strong>My app targets more than just Android Auto. If my app does not meet the Auto
|
||
requirements, will my new or updated app still appear on Google Play for phones and
|
||
tablets?</strong>
|
||
</p>
|
||
<p>
|
||
No. When Google begins the approval process, your Auto app will undergo a driver safety
|
||
review, and will not be
|
||
available for distribution until the app is approved. Because this is the same APK as
|
||
for phones and tablets, your Play Store updates for those devices will not be available until the
|
||
Auto app approval process is complete.
|
||
</p>
|
||
|
||
<p class="caution">
|
||
<strong>Important:</strong> Due to this restriction, you should not use your production APK
|
||
for Auto support prototyping.
|
||
</p>
|
||
|