diff --git a/docs/html/distribute/essentials/quality/tv.jd b/docs/html/distribute/essentials/quality/tv.jd index 8e1715763b180..b13307e8c04fe 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
- 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. (Learn how)
@@ -291,8 +291,8 @@ data-sortorder="-timestamp" data-cardsizes="9x3" data-maxresults="6">- 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}. (Learn how)
- 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 {@code <uses-feature>} manifest tag. (Learn how)
- If the app provides user instructions for use of game controllers, the instructions - do not include a controller with any branding. - (Learn how) + If the app provides visual instructions for using game controllers, the instructions should + be free of branding and show a compatible button layout. + (Learn how)
- App enables interaction with any advertising using D-pad controls. + App allows interaction with advertising using D-pad controls. (Learn how)
- 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.
- 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.
- 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.
A living-room TV poses design challenges for multiplayer games, in that all players can see @@ -57,7 +57,7 @@ page.article=true -
A TV is always sideways: You can’t turn it, and there is no portrait orientation. Always design @@ -69,19 +69,19 @@ page.article=true
TVs don't have touch interfaces, so it's even more important to get your controls right and make - sure that players find them intuitive and fun to use. The separation of controller from device - also introduces some other issues to pay attention to, like keeping track of multiple players' + sure players find them intuitive and fun to use. Handling controllers + also introduces some other issues to pay attention to, like keeping track of multiple controllers, and handling disconnects gracefully.
-Plan your control scheme around a directional pad (D-pad) control, since this control set is the default for Android TV devices. The player needs to be able to use a D-Pad in all aspects of the - game–not just controlling core gameplay, but also navigating menus and ads. For this reason, you - should also ensure that your Android TV game does not refer to a touch interface: For example, an - Android TV game should not tell a player to Tap here to skip. + game—not just controlling core gameplay, but also navigating menus and ads. For this reason, you + should also ensure that your Android TV game does not refer to a touch interface. For example, an + Android TV game should not tell a player to "Tap here to continue."
@@ -91,35 +91,35 @@ page.article=true
Accept, and the B button to Cancel. You can also offer flexibility
- in the form of remappability. For more information on button mapping, see Use Consistent Button Mapping. Intuitive and flexible button mapping is key
+ to a good user experience. For example, you should adhere to accepted customs by using the A button
+ to Accept, and the B button to Cancel. You can also offer flexibility
+ in the form of remappability. For more information about button mapping, see Handling
Controller Actions.
The Back button should never act as a toggle. For example, do not use it to both open and close a @@ -139,18 +139,18 @@ page.article=true
-When multiple players are playing a game, each with his or her own controller, it is important to - map each player-controller pair. For information on how to implement controller-number + map each player-controller pair. For information about how to implement controller-number identification, see Input Devices.
-When a controller is disconnected in the middle of gameplay, the game should pause, and a dialog @@ -159,7 +159,7 @@ page.article=true
The dialog should also offer troubleshooting tips (for example, a pop-up dialog telling the
- player to "Check your Bluetooth connection"). For more information on implementing input-device
+ player to "Check your Bluetooth connection"). For more information about implementing input-device
support, see Handling Controller
Actions. Specific information about Bluetooth connections is at
+ If your game provides visual game control instructions, the
+controller image should be free of branding and include only buttons compatible with Android. For sample images of an Android-compatible controller, download the
+Android TV Gamepad Template (ZIP).
+It includes a white controller on black background and a black controller on white background
+(shown in figure 1), as a PNG file and an Adobe® Illustrator® file. Figure 1. Example controller instructions using the
+Android TV Gamepad Template (ZIP).
+
+
+
+
There are a some special things games should include in the Android manifest.
- The Android TV launcher home screen displays games in a separate row from regular apps. The TV
- framework uses the
Games controllers may not be available or active for users of a TV device. In order to properly
@@ -215,7 +243,9 @@ page.article=true
- If your game integrates Google Play Game Services, you should keep in mind a number of
+ If your game integrates Google Play Game services,
+ you should keep in mind a number of
considerations pertaining to achievements, sign-in, saving games, and multiplayer play.
Your game should include at least five (earnable) achievements. Only a user controlling gameplay
- from a supported input device should be able to earn achievements. For more information on
+ from a supported input device should be able to earn achievements. For more information about
achievements and how to implement them, see Achievements in Android.
A game offering a multiplayer experience must allow at least two players to enter a room. For
- further information on multiplayer games in Android, see the Real-time
Multiplayer and Turn-based Multiplayer documentation on the Android developer
site.
Show controller instructions
+
+
+Manifest
+Show your game in the launcher
android:isGame manifest attribute to differentiate games from
- non-game apps. Set this value to true in your game's app manifest, as shown in the
- following code example:
+ The Android TV launcher home screen displays games in a separate row from regular apps.
+ To make your game appear in the list of games, add the
+ <meta-data> tag in your app manifest with android:name
+ set to "isGame" and android:value
+ set to "true". For example:
<application>
...
- < meta-data android:name="isGame" android:value="true" >
+ <meta-data android:name="isGame" android:value="true" >
...
</application>
-Game Controllers
+Declare support for game controllers
Google Play Game Services