Google TV

Frequently Asked Questions

    General Topics

  1. What is Google TV?
  2. What does Google TV mean for the developer community?
  3. Will Google TV work if I don't subscribe to a paid service?
  4. Does Google TV require Bluetooth support? Can I use Bluetooth keyboards and game pads with the devices announced?
  5. Can I download Google TV?
  6. Where can I report technical issues related to Google TV?
  7. Where can I get the latest news and updates on Google TV?
  8. Where can I ask technical questions related to Google TV application development?
  9. Android Developers

  10. Is there any way to turn a TV on or off [technically putting it to sleep] using a Google TV Android app and standard Android APIs?
  11. How can I install and debug my app on Google TV?
  12. How can you send an entire search request to Google TV or launch an app into a particular view?
  13. Can the same Android app be used for mobile phones, tablets and Google TV?
  14. How can I use the multiple APK feature for uploading Google TV APKs to Google Play Store?
  15. Can I use a WebView in my Google TV app to load Flash content?
  16. How should I encode content for Google TV using HLS?
  17. How difficult is it to port an existing webapp to Google TV?
  18. How to push notifications from a server to Google TV?
  19. What are the Android devices: asura, eagle, ka and cosmo?
  20. Does Google TV support NDK?
  21. Why does Google TV use Android's large screen size?
  22. What version of Android is Google TV running?
  23. What is the Google TV SDK add-on for Android?
  24. Will my existing Android apps work on Google TV?
  25. Where can I find the user interface guidelines for Google TV?
  26. Can I use the Android NDK to write apps for Google TV?
  27. Can I use the emulator to test Google TV apps?
  28. Can I use picture-in-picture (PIP) in my Google TV Android application?
  29. Web Developers

  30. Is the Google TV browser different than the one on my personal computer? Can I access the same content?
  31. What features of HTML5 does the Google TV Chrome browser support?
  32. Which version of Chrome does Google TV ship with?
  33. Will Flash websites work with Google TV?
  34. Is this yet another browser platform that I need to test my site on?
  35. What is the User Agent string from the Google TV browser?
  36. How can I detect when users are visiting from the Google TV browser?
  37. Can I detect my user’s location using HTML5’s Geolocation API?
  38. Does the Google TV Chrome browser support H.264 and MPEG-4 video codecs?
  39. Can I set and use browser cookies on Google TV?
  40. Does the Google TV Chrome browser support WebGL?

Google TV

What is Google TV?

Google TV is an open platform for TV-related devices that brings together the best of TV and the best of the web to deliver a premier entertainment experience for the living room. It is built on Android and runs the Google Chrome web browser.

What does Google TV mean for the developer community?

The Google TV platform brings developers' apps into the living room. Web developers can take advantage of the big TV screen to deliver compelling web apps using HTML5 on Chrome. Android developers can port their existing apps or create new apps for Google TV and distribute them through the Google Play Store.

Will Google TV work if I don't subscribe to a paid service?

Google TV is a platform built on top of Android. It will function as an Android device for TV even if you do not have cable service.

Does Google TV have Bluetooth support? Can I use Bluetooth keyboards and game pads with a Google TV?

Bluetooth is supported on some ARM-based Google TV devices. Google TV device manufactures make their own decision about bluetooth support.

Can I download Google TV?

You can't download Google TV itself, but Google TV hardware manufacturers provide over-the-air (OTA) updates.

Where can I report technical issues related to Google TV application development?

Report them using the Google TV Issue Tracker.

Where can I get the latest news and updates on Google TV APIs?

Follow the Google TV Developers Google+ Page.

Where can I ask technical questions related to Google TV application development?

On Stack Overflow, ask Google TV application development questions using the 'google-tv' tag. You can also look for Google TV topics by visiting the google-tv page.

Android Developers

Is there any way to turn a TV on or off [technically putting it to sleep] using a Google TV Android app and standard Android APIs??

No. This feature is not supported at this time.

How can I install and debug my app on Google TV??

See Using Google TV Hardware Devices

How can you send an entire search request to Google TV or launch an app into a particular view?

See answer here.

Can the same Android app be used for mobile phones, tablets and Google TV?

Yes. Optimize the layouts of your application for Google TV and place them in res/layouts/layout-large-long-land-television. At runtime, avoid using features that are not supported by Google TV by checking for the presence of system features, such as com.google.android.tv. This feature is unique to the Google TV platform. The following code snippet demonstrates how to detect the feature using the PackageManager:

                    if (getPackageManager().hasSystemFeature("com.google.android.tv")) {
                    Log.d("TV Test", "Running on Google TV!");
                  }
                

How can I use the multiple APK feature for uploading Google TV APKs to the Google Play Store?

If you have existing Android applications that you migrated to Google TV, we believe you should take advantage of the the multiple APK feature to publish your Google TV APK, and preserve your current ratings, search ranking, etc. on Google TV. Here are the steps to follow:

  1. Make the com.google.android.tv feature required for the Google TV APK:
                         <uses-feature android:name="com.google.android.tv" android:required="true"/>
                       
    Reason: Play filtering will prevent it from appearing on non-Google TV devices.
  2. Set the non-Google TV APK to use any of the features that are not supported on Google TV but supported on mobile devices and tablets like touchscreen, gps, camera etc.
    Reason: Play filtering will prevent it from appearing on Google TV devices.
  3. Set the min-sdk of both APKs to be different, for example the Google TV APK could be min-sdk = 12 and the other APK could be min-sdk = 3 (or anything other than 12).
    Reason: API level is one of the attributes recognized by the multiple APK feature.
You should then be able to upload both the non-Google TV and Google TV APKs under the same package name and market listing.

See answer here.

Can I use a WebView in my Google TV app to load Flash content?

No.

How should I encode content for Google TV using HLS?

See How to Implement HLS for Google TV.

How difficult is it to port an existing webapp to Google TV?

See Moving Web Content to Google TV Android apps.

How to push notifications from a server to Google TV?

Google Cloud Messaging is the preffered way. Please see Google Cloud Messaging Framework.

What are the Android devices: asura, eagle, ka and cosmo?

See answer here.

Does Google TV support NDK?

The upcoming generation Google TVs will support NDK. Current generation devices will get support for NDK when updated by the device manufaturers.

Why does Google TV use Android's large screen size?

Although the physical screen size of a TV attached to a Google TV device appears to be quite large, the viewing distance is also much larger than that for a mobile device. The apparent size of the average sized TV turns out to be only slightly different from a mobile phone's screen. The large setting ensures that Android does not display a UI that is too spread out and too small to see.

To understand the effective size of the screen more clearly, sit ten feet away from a Google TV screen, hold up an Android mobile phone at a normal viewing distance, and compare the sizes. You'll likely see that the two apparent sizes are very close to each other.

What version of Android is Google TV running?

The next generation of Google TV devices run Android 4.2.2 (API level 17) and will roll out to newer ARM based devices in 2013. Current generation Google TV devices run Android 3.2 (API level 13) and all devices that have received updates as of June 9th, 2012. Some older generation Google TV devices run Android 3.1 (API level 12) and will no longer receive updates.

What is the Google TV SDK add-on for Android?

The Google TV add-on is not required for development. It has been deprecated.

Will my existing Android apps work on Google TV?

Your applications will work on Google TV unless they require a hardware or software feature not supported by Google TV. However, we hope developers will optimize their applications for TV to tap into the opportunities provided by a big screen and TV content. For more information, please read the topic Migrating Existing applications.

Key differences: Google TV devices do not support touchscreen, so the application layout should be d-pad navigable, the application manifest should explicitly declare that the touchscreen feature is not required. Also, all layouts should always be in landscape orientation. See details on supported features.

Where can I find the user interface guidelines for Google TV?

UI guidelines for Google TV applications are described in the topic Designing and Developing.

Can I use the Android NDK to write apps for Google TV?

The Android NDK is available on Android 4.2.2 based devices that ship in 2013. Google TV devices running on Honeycomb and lower do not have support for NDK.

Can I use an emulator to test Google TV apps?

We recomend that you use a real device to test your application as there are many aspects of TV app developement that do not function in an emulated environment.

Can I use picture-in-picture (PIP) in my Google TV Android application?

No. The picture-in-picture (PIP) feature is only available for live TV. You can't use it in your Android application, nor can you run an Android application in the PIP window.

Web Developers

Is the Google TV browser different than the one on my personal computer? Can I access the same content?

The next generation of Google TV devices ship with Chrome for Android and will receive updates when Chrome for Android does. Users can also download and run the beta-channel Chrome.

The browser on Honeycomb versions Google TVs is the Linux version of Google Chrome 11. While the user interface is modified slightly for the TV form factor, most of the rendering and web platform capabilities are consistent with desktop versions of Google Chrome and you will receive the latest updates automatically.

What features of HTML5 does the Google TV Chrome browser support?

The next generation of Google TV devices run Chrome for Android you can see the list of supported features by opening Chrome on your device and pointing your Google TV browser to html5test.com

The Chrome browser on current generation Google TV devices supports many but not all of the HTML features such as canvas, SVG, video and audio tags, File API, Storage API. Point your Google TV browser to html5test.com to see a list of supported HTML5 features.

Which version of Chrome does Google TV ship with?

Google TV on Jellybean Android 4.2.2 based devices runs Chrome for Android.

Google TV on Honeycomb based devices ships with Chrome 11, as can be seen from the html5test.com site.

Will Flash websites work with Google TV?

Google TV on Jellybean Android 4.2.2 based devices has moved to align with Android and does not support Flash.

Google TV on Honeycomb based devices support Flash 10.1, so Flash websites will work unless a higher version of Flash is utilized.

Is this yet another browser platform that I need to test my site on?

Google TV utilizes Google Chrome as the browser, so most websites that function in Google Chrome should operate correctly on Google TV.

What is the User Agent string from the Google TV browser?

The following is an example of a typical User Agent string from Google TV on Jellybean Android 4.2.2:

              Mozilla/5.0 (Linux; Android 4.2.2; <Build Tag>) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1480.0 Safari/537.36
            

The following is an example of a typical User Agent string from Google TV prior to Jellybean:

              Mozilla/5.0 (Linux; GoogleTV 4.0.4; <Build Tag>) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Safari/534.24
            

Note that the build tag above is typically supplied by Google TV makers and can vary. Note also that in prior releases of Google TV user agent string had a slightly different format like the example given below:

              Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/000000
            

The only change is in the placement position of the signature string GoogleTV. If your app depends on how user agent provides information about user's device, be sure to validate and double check. We recommend that you search for the signature GoogleTV irrespective of its placement position in user agent so that your app will continue to work against both the new and old formats of user agent.

To see the exact User Agent string from your Google TV, go to http://whatsmyuseragent.com/ using your Google TV browser.

How can I detect when users are visiting from the Google TV browser (prior to Google TV on Jellybean Android 4.2.2)?

Traffic coming from Google TV devices contains a unique User Agent string (Unless the user has modified the user agent string) which contains the word “GoogleTV” within. This enables you to detect if a user comes from a Google TV device.

If you are parsing user agent strings using regular expressions, the following can be used to check against Chrome for Google TV devices:

              ’GoogleTV’ + 'Chrome/[.0-9]*’
            

If you need to know specific product models of Google TV devices, the following can be used to extract them:

              ’GoogleTV [.0-9]*;  Build/’
            

Direct your users to the most optimal interface for viewing on desktop vs Google TV or even by specific product models.

To read the User Agent string, reference the navigator.userAgent property using JavaScript.

              var userAgent = navigator.userAgent;
            

Below is a simple JavaScript function that returns whether this User Agent string is generated by Google TV:

              function isGoogleTvBrowser(useragent) {
              return Boolean(useragent.match(/GoogleTV/i));
            }
          
Can I detect my user's location using HTML5’s Geolocation API?

HTML5’s Geolocation API is currently available on Google TV Chrome browser but only up to an accuracy level of US zip code. Use html5demos.com/geo to see if your Google TV Chrome browser yields a coarse level location. Note: This approach will only work within the US. In general there are other techniques you can use to capture the user’s location.

One option is to use an external IP address geolocation service to query location information from user IP addresses. There are a number of services available to do this.

Another option is to create a simple form to capture a user’s zipcode or address. Since Google TV devices typically remain in one location, this action may need to be done at most once by the user. Once captured, you may use browser cookies to store keep this information persistent.

Does the Google TV Chrome browser support H.264 and MPEG-4 video codecs?

Yes. All Google TV browsers support the H.264 and MPEG-4 video codecs for streaming video using the HTML5 <video> tag.

Can I set and use browser cookies on Google TV?

Yes. All Google TV browsers supports the ability to store and retrieve data in the form of browser cookies. This can be done using standard properties and methods available in modern browsers today.

Does the Google TV Chrome browser support WebGL?

No. WebGL is not supported on Google TV.

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.