Read the best practices for publishing your app to the Google Play Store.
Google TV Android applications are distributed with the same Google Play Store software as mobile applications, so the same guidelines apply. The overall publishing guidelines for the Google Play Store are described in the topic Preparing for Release.
To ensure your app is compiled against the Honeycomb platform API, set your
project's minimum SDK level to 11 or higher. To do this in Eclipse, right-click
the project in the Project Explorer, select Properties, and then select the
Honeycomb API 11 target. To do this from the command line, navigate to your
project directory, then edit the file
default.properties and ensure that the
target is set to
android-11 or higher.
- Ensure that you are using the correct media key codes in your app. To learn more about this, read the section Handling Media Keys.
- Verify that all of your UI is navigable via the D-pad. If necessary, add explicit settings for: nextFocusForward (for TAB key), nextFocusDown, nextFocusLeft, nextFocusRight and nextFocusUp in your layout. To learn how to do this, read the section Handling Navigation and Focus.
- Ensure that the media formats you're using are supported by Google TV. You can see a list of the supported formats in the topic Supported Media Formats.
Set the following <uses-sdk> element in your manifest file:
<uses-sdk android:minSdkVersion="11" < -- Set the appropriate value for your app -- > android:targetSdkVersion="12" />
Remove <uses-feature> elements for features that Google TV doesn't have. See the
section Unsupported hardware
for a list of these features.
Note: The feature
com.google.android.tvis only supported by Google TV. If you use it in a <uses-feature> element in your manifest, your app will only install on a Google TV device. For example, this element will prevent your app from installing on non-Google TV devices:
<uses-feature android:name="com.google.android.tv" />
To support other devices, you must specify the following element in your manifest:
<uses-feature android:name="android.hardware.touchscreen" required="false" />
Please note that
"required = false"doesn't exclude your application from devices which have a physical touch screen, so an app that you want to offer on a on a mobile device and Google TV should declare
Ensure that your activities do not request portrait orientation.
The Android system warns the user if an activity requires portrait mode, or
if code tries to force it to portrait mode at runtime using
Layouts and Resources
- Remember that for a Google TV device, the display is not exactly 1920x1080 or 1280x720. It may be smaller by as much as 12% because of overscan. This is described in more detail in the section Display resolution guidelines. Test your app with a minimum resolution of 1692x952 (for 1080p) and 1128x634 (for 720p) on the emulator or overscan adjusted to default on Google TV box.
- Since the display size may vary from unit to unit, it's best to use dynamic layouts, rather than absolute positioning. You should check your layout on different sized emulator screens. This is described in more detail in the section Layout guidelines.
Specifying your text sizes in
scale-independent pixes (sp) or setting the size with the
@android:style/TextAppearance.XXXX works well on all devices.
<TextView style="@android:style/TextAppearance.Small"> <TextView style="@android:style/TextAppearance.Medium"> <TextView style="@android:style/TextAppearance.Large">