1page.title=电视应用的质量 2page.metaDescription=电视是 Android 设备不断增长的一部分,需要特别关注应用的设计和功能才能创造优秀的体验。 3page.image=/distribute/images/gp-tv-quality.png 4@jd:body 5 6<div id="qv-wrapper"><div id="qv"> 7<h2>质量标准</h2> 8 <ol> 9 <li><a href="#ux">设计和交互</a></li> 10 <li><a href="#fn">功能</a></li> 11 <li><a href="#faq">常见问题</a></li> 12 </ol> 13 14 <h2>您还应阅读</h2> 15 <ol> 16 <li><a href="{@docRoot}distribute/essentials/quality/core.html"> 17核心的应用质量</a></li> 18 <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html"> 19优化您的应用</a></li> 20 </ol> 21</div> 22</div> 23 24<div class="top-right-float" style="padding-right:0;margin-bottom:1em;"> 25 <img src="{@docRoot}distribute/images/gp-tv-quality.png" style="width:480px;"> 26</div> 27 28<p> 29 与使用手机或平板电脑相比,用户在看电视时有一些不同的期望。 30 典型的电视用户坐在离屏幕约 10 英尺的位置,所以小细节没那么引起注意,小文本难以阅读。 31由于用户离电视较远,他们必须使用一种遥控装置来导航和进行选择,而不是触摸屏幕上的元素。 32这些差异大大改变了实现优秀电视用户体验的要求。 33 34</p> 35 36<p> 37 为电视用户创造优秀体验的第一步是查阅并遵循 38 <a href="{@docRoot}design/tv/index.html">Android TV 设计准则</a>,其中提供了关于如何为电视应用打造最佳用户体验的指导。 39您还应查看 40<a href="{@docRoot}training/tv/start/index.html">构建电视应用</a>培训,以了解电视应用的基本实现要求。 41 42</p> 43 44<p class="caution"> 45 <strong>重要说明:</strong>为确保优秀的用户体验,电视设备的应用必须满足一些特定的可用性要求。 46只有符合下列质量标准的应用才能有资格在 Google Play 上作为 Android TV 应用。 47 48</p> 49 50<p class="note"><strong>注意:</strong>有关如何在 Google Play 中发布电视应用的信息,请参见<a href="{@docRoot}distribute/googleplay/tv.html">分发到 Android TV</a>。 51</p> 52 53 54 55<div class="headerLine"> 56 <h2 id="ux"> 57 视觉设计和用户交互 58 </h2> 59 60 61</div> 62 63<p> 64 这些标准可确保您的应用遵循标准设计和交互模式,以确保在电视设备上实现一致、直观和愉悦的用户体验。 65 66</p> 67 68<table> 69 70<tr> 71 <th style="width:2px;"> 72 类型 73 </th> 74 <th style="width:54px;"> 75 测试 76 </th> 77 <th> 78 描述 79 </th> 80</tr> 81 82<tr> 83 <td rowspan="4" id="launcher"> 84 启动器 85 </td> 86 87 <td id="TV-LM"> 88 TV-LM 89 </td> 90 <td> 91 <p style="margin-bottom:.5em;"> 92 应用在安装后在 Android TV 启动器中显示一个启动器图标。 93 (<a href="{@docRoot}training/tv/start/start.html#tv-activity">了解方法</a>) 94 </p> 95 </td> 96</tr> 97 98<tr> 99 <td id="TV-LB"> 100 TV-LB 101 </td> 102 <td> 103 <p style="margin-bottom:.5em;"> 104 应用在 Android TV 启动器上显示 320px x 180px 的全尺寸横幅作为其启动器图标。 105 (<a href="{@docRoot}design/tv/patterns.html#banner">了解方法</a>) 106 </p> 107 </td> 108</tr> 109 110<tr> 111 <td id="TV-BN"> 112 TV-BN 113 </td> 114 <td> 115 <p style="margin-bottom:.5em;"> 116 应用的启动横幅包含应用的名称。 117 (<a href="{@docRoot}design/tv/patterns.html#banner">了解方法</a>) 118 </p> 119 </td> 120</tr> 121 122<tr> 123 <td id="TV-LG"> 124 TV-LG 125 </td> 126 <td> 127 <p style="margin-bottom:.5em;"> 128 如果应用是一款游戏,则出现在 Android TV 启动器的游戏行中。<br> 129 (<a href="{@docRoot}training/tv/games/index.html#manifest">了解方法</a>) 130 </p> 131 </td> 132</tr> 133 134<tr> 135 <td rowspan="5" id="layout"> 136 布局 137 </td> 138 139 <td id="TV-LO"> 140 TV-LO 141 </td> 142 <td> 143 <p style="margin-bottom:.5em;"> 144 所有应用界面以横向方向显示。 145 (<a href="{@docRoot}training/tv/start/layouts.html#structure">了解方法</a>) 146 </p> 147 </td> 148</tr> 149 150<tr> 151 <td id="TV-TC"> 152 TV-TC 153 </td> 154 <td> 155 <p style="margin-bottom:.5em;"> 156 应用以 16sp 或更大的字号显示核心文本。 157 (<a href="{@docRoot}design/tv/style.html#typography">了解方法</a>) 158 </p> 159 </td> 160</tr> 161 162<tr> 163 <td id="TV-TA"> 164 TV-TA 165 </td> 166 <td> 167 <p style="margin-bottom:.5em;"> 168 应用以 12sp 或更大的字号显示所有文本。 169 (<a href="{@docRoot}design/tv/style.html#typography">了解方法</a>) 170 </p> 171 </td> 172</tr> 173 174<tr> 175 <td id="TV-OV"> 176 TV-OV 177 </td> 178 <td> 179 <p style="margin-bottom:.5em;"> 180 应用显示的任何文本或功能不会被屏幕边缘部分切断。 181 182 (<a href="{@docRoot}training/tv/start/layouts.html#overscan">了解方法</a>) 183 </p> 184 </td> 185</tr> 186 187<tr> 188 <td id="TV-TR"> 189 TV-TR 190 </td> 191 <td> 192 <p style="margin-bottom:.5em;"> 193 应用不会部分遮住其他应用。应用填充整个屏幕并且采用非透明背景。 194 195 </p> 196 </td> 197</tr> 198 199<tr> 200 <td rowspan="3" id="navigation"> 201 导航 202 </td> 203 204 <td id="TV-DP"> 205 TV-DP 206 </td> 207 <td> 208 <p style="margin-bottom:.5em;"> 209 应用的功能可使用 5 向方向键来进行导航,除非此应用需要 <a href="#TV-GP">TV-GP</a> 中指定的手柄控制器。 210 211 (<a href="{@docRoot}training/tv/start/navigation.html#d-pad-navigation">了解方法</a>) 212 </p> 213 </td> 214</tr> 215 216<tr> 217 <td id="TV-DK"> 218 TV-DK 219 </td> 220 <td> 221 <p style="margin-bottom:.5em;"> 222 如果应用需要 <a href="#TV-GP">TV-GP</a> 指定的游戏手柄,则所有功能均可使用标准的 Android 游戏手柄键来进行导航。 223 224 (<a href="{@docRoot}training/game-controllers/controller-input.html#button">了解方法</a>) 225 </p> 226 </td> 227</tr> 228 229<tr> 230 <td id="TV-DM"> 231 TV-DM 232 </td> 233 <td> 234 <p style="margin-bottom:.5em;"> 235 应用不依赖有菜单按钮的遥控器来访问用户界面的控件。 236 237 (<a href="{@docRoot}training/tv/start/navigation.html#d-pad-navigation">了解方法</a>) 238 </p> 239 </td> 240</tr> 241 242 243</table> 244 245 246<h3 class="rel-resources clearfloat">相关资源</h3> 247 248<div class="resource-widget resource-flow-layout col-13" data-query= 249"collection:distribute/essentials/tvqualityguidelines/visualdesign" 250data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> 251</div> 252 253 254 255<div class="headerLine"> 256 <h2 id="fn"> 257 功能 258 </h2> 259 260 261</div> 262 263<p> 264 遵循这些标准可确保您的应用进行正确配置,提供预期的功能行为。 265 266</p> 267 268 269<table> 270<tr> 271 <th style="width:2px;"> 272 类型 273 </th> 274 <th style="width:54px;"> 275 测试 276 </th> 277 <th> 278 描述 279 </th> 280</tr> 281 282<tr> 283 <td rowspan="2" id="manifest"> 284 清单文件 285 </td> 286 287 <td id="TV-ML"> 288 TV-ML 289 </td> 290 <td> 291 <p style="margin-bottom:.5em;"> 292 应用的清单文件设置一个带有类别{@link android.content.Intent#CATEGORY_LEANBACK_LAUNCHER}的意图类型{@link android.content.Intent#ACTION_MAIN}。 293 294 (<a href="{@docRoot}training/tv/start/start.html#tv-activity">了解方法</a>) 295 </p> 296 </td> 297</tr> 298 299</tr> 300 <td id="TV-MT"> 301 TV-MT 302 </td> 303 <td> 304 <p style="margin-bottom:.5em;"> 305 应用的清单文件将硬件功能{@code android.hardware.touchscreen}设置为不需要。 306 (<a href="{@docRoot}training/tv/start/hardware.html#declare-hardware-requirements">了解方法</a>) 307 308 </p> 309 </td> 310</tr> 311 312<tr> 313 <td rowspan="2" id="game-controllers"> 314 游戏手柄 315 </td> 316 317 <td id="TV-GP"> 318 TV-GP 319 </td> 320 <td> 321 <p style="margin-bottom:.5em;"> 322 如果应用使用游戏手柄作为主要输入方法,则要通过 323<a href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code <uses-feature>}</a>清单文件标记来声明相应的要求。 324 (<a href="{@docRoot}training/tv/games/index.html#gamepad">了解方法</a>) 325 </p> 326 </td> 327</tr> 328 329<tr> 330 <td id="TV-GC"> 331 TV-GC 332 </td> 333 <td> 334 <p style="margin-bottom:.5em;"> 335 如果应用提供了有关使用游戏手柄的可视说明,说明应没有品牌信息并显示兼容的按钮布局。 336 337 (<a href="{@docRoot}training/tv/games/index.html#ControllerHelp">了解方法</a>) 338 </p> 339 </td> 340</tr> 341 342<tr> 343 <td rowspan="4" id="advertising"> 344 广告 345 </td> 346 347 <td id="TV-AP"> 348 TV-AP 349 </td> 350 <td> 351 <p style="margin-bottom:.5em;"> 352 应用允许使用方向键与广告进行交互。 353 (<a href="{@docRoot}training/tv/start/navigation.html#d-pad-navigation">了解方法</a>) 354 </p> 355 </td> 356</tr> 357 358<tr> 359 <td id="TV-AD"> 360 TV-AD 361 </td> 362 <td> 363 <p style="margin-bottom:.5em;"> 364 对于非视频全屏广告,应用允许用户立即用方向键忽略广告。 365 366 </p> 367 </td> 368</tr> 369 370<tr> 371 <td id="TV-AU"> 372 TV-AU 373 </td> 374 <td> 375 <p style="margin-bottom:.5em;"> 376 对于可点击的非全屏、非视频广告,应用不允许将广告链接到网页 URL。 377 378 </p> 379 </td> 380</tr> 381 382<tr> 383 <td id="TV-AA"> 384 TV-AA 385 </td> 386 <td> 387 <p style="margin-bottom:.5em;"> 388 对于可点击的非全屏、非视频广告,应用不允许将广告链接到电视设备上不可用的另一个应用。 389 390 </p> 391 </td> 392</tr> 393 394<tr> 395 <td rowspan="1" id="web"> 396 Web 内容 397 </td> 398 399 <td id="TV-WB"> 400 TV-WB 401 </td> 402 <td> 403 <p style="margin-bottom:.5em;"> 404 对于 Web 内容,应用使用{@link android.webkit.WebView}组件,并且不要尝试启动网络浏览器应用。 405 406 </p> 407 </td> 408</tr> 409 410<tr> 411 <td rowspan="3" id="media-playback"> 412 媒体播放 413 </td> 414 415 <td id="TV-NP"> 416 TV-NP 417 </td> 418 <td> 419 <p style="margin-bottom:.5em;"> 420 如果应用在用户离开后继续播放声音,则要在主屏幕建议行上提供<em>正在播放</em>卡,以便用户返回该应用来控制播放。 421 422 423 (<a href="{@docRoot}training/tv/playback/now-playing.html">了解方法</a>) 424 </p> 425 </td> 426</tr> 427 428<tr> 429 <td id="TV-PA"> 430 TV-PA 431 </td> 432 <td> 433 <p style="margin-bottom:.5em;"> 434 如果应用提供<em>正在播放</em>卡,则选择此卡可让用户进入一个允许暂停播放的屏幕。 435 436 (<a href="{@docRoot}training/tv/playback/now-playing.html">了解方法</a>) 437 </p> 438 </td> 439</tr> 440 441<tr> 442 <td id="TV-PP"> 443 TV-PP 444 </td> 445 <td> 446 <p style="margin-bottom:.5em;"> 447 如果应用播放视频或音乐内容,当播放期间发送了播放或暂停键事件时,应用在媒体播放和暂停之间切换。 448<br> 449 (<a href="{@docRoot}reference/android/view/KeyEvent.html#KEYCODE_MEDIA_PLAY_PAUSE">了解方法</a>) 450 451 </p> 452 </td> 453</tr> 454 455 456</table> 457 458 459<h3 class="rel-resources clearfloat">相关资源</h3> 460 461<div class="resource-widget resource-flow-layout col-13" data-query= 462"collection:distribute/essentials/tvqualityguidelines/functionality" 463data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6"> 464</div> 465 466 467<div class="headerLine"> 468 <h2 id="faq"> 469 常见问题 470 </h2> 471</div> 472 473<p style="margin-top:30px;"> 474 <strong>在提交我的应用后,怎样发现应用是否符合电视设备的所有要求?</strong> 475 476</p> 477<p> 478 如果您的应用不符合本页所述的可用性要求,Play 商店团队将通过与应用关联的 <a href="https://play.google.com/apps/publish/">Google Play 开发者控制台</a>主帐户中指定的电子邮件地址与您联系。 479 480 481</p> 482<p class="caution"> 483 <strong>注意:</strong>确保您的应用包括电视设备<a href="{@docRoot}preview/tv/start/index.html#tv-activity">所需的清单条目</a>,否则应用不会被视为电视应用,并且不会审查电视可用性要求。 484 485 486</p> 487 488 489<p style="margin-top:30px;"> 490 <strong>我的应用不仅仅针对电视设备。如果我的应用不符合电视设备的要求,是否仍会在 Google Play 上向手机和平板电脑显示我的新应用或更新版本?</strong> 491 492 493</p> 494<p> 495 是。上述要求只限制向电视设备 Google Play 商店分发应用。 496不影响向其他设备类型分发应用,如手机、平板电脑和其他设备。 497 498</p> 499 500 501<p style="margin-top:30px;"> 502 <strong>如果我的应用符合这些发布要求,何时才能出现在电视设备的 Google Play 商店上?</strong> 503 504</p> 505 506<p> 507 符合电视要求的应用将在官方发布 Android 5.0 <em>之后</em>出现在电视设备的 Google Play 商店上。 508 509</p>