Google Cast allows Android, iOS, and Chrome web apps to "stream" content — like video, audio and screen sharing (mirroring) — to Cast-ready devices like:
- Google Chromecast
- TVs that work with Google Cast
- Speakers that work with Google Cast
- Smart Displays (a portable touchscreen LCD monitor used as a thin client)
- Android Tablets
In the Google Cast interaction model, the mobile phone, tablet or laptop is the sender which acts as a remote control to control the playback, and the TV, display or docked tablet is the receiver which receives instructions from the sender and displays the content from the receiver's Internet connection. All the user actions (taps and swipes) can take place on both the sender device or the Web Receiver.
Casting relies on the coordination between two or more screens; the sender UI and the receiver UI — they must work together. For example, if you press a button on a mobile device to pause the content, the TV should indicate that it is paused, while the mobile device should provide a play button to resume playback.
Considerations
Due to hardware and resource limitations, there are certain restrictions placed on Google Cast-enabled applications:
- The Cast device is a low-power device with memory, CPU and GPU limitations, so the Web Receiver application should be as lightweight as possible.
- For Cast and Google Cast interaction models, tabs, windows or popups can be created in both the Web Receiver or sender app, as well as directly accept user input, such as taps or swipes. For example, the Web Receiver app on a docked tablet or display can display a pause button and receive a user's tap. In this way, all actions on the application must be triggered from either a Web Receiver or sender application.
- Smart Displays support user input through a sender app or via touch on the UI.
- The Web Receiver is a Chrome browser optimized for video playback. As such, WebGL and Chrome Native Client (NaCL) are not currently supported, nor are Chrome extensions.
- Cast supports a single concurrent media stream playback in the
<audio>
and<video>
tags, or multiple audio tracks using the WebAudio API. Only one video element may be active in the DOM at any time. Additionally, video compositing, manipulation, transformations, rotations or zooming are not supported.
Overall design principles
Keep the following in mind as you develop your user interface.
Web Receiver interface:
- The Web Receiver can have both interactive elements and informational elements to describe the state of the app, such as paused or playing, or error messages. User interaction can take place on the Cast sender (phone, tablet, or Chrome browser) or the Web Receiver (TV, displays, or tablets).
- Remember that the video action is happening in the middle of the TV screen, and your UI elements should not interfere with the presentation. Place UI elements within the lower third of the Web Receiver display, leaving a 10% margin from the edges of the screen for possible overscan.
- When possible, transitions from one screen state to another should be smooth and feel cinematic. Rather than abrupt moves from state to state, use transitions like fade-in and fade-out. For example, the content-loading state lingers on-screen and fades into the media playing experience.
Sender interface:
- The sender supports user actions and the Web Receiver displays state information. For example, if content is paused, the TV should indicate that it is paused, while the mobile device indicates it is ready to start playing (for example, showing the user a play button).
- Speed matters. Users need to be able to quickly locate the casting control and see content start playing immediately on the large screen. While content is loading, provide animated loading indicators and use transitions to help make things feel faster.
The easiest way to ensure that your Cast application follows these principles is to review your user interface with the Cast Design Checklist and test your Cast applications.
Brand guidelines
The following Google Cast brand guidelines are for app developers and focus on the additional requirements you must comply with to describe your app in text. For Cast devices brand guidelines see the Partner Marketing Hub. You can let others know that your app works with Google Cast by using the term "Google Cast-enabled". However be sure that your app complies with the Cast SDK Additional Developer Terms of Service and the Design Checklist, and that your use of "Google Cast-enabled" complies with our branding guidelines.
You can similarly use a Google Cast badge as long as your app or device complies with our badging guidelines. Google reserves the right to request that you modify or cease your use of the badge if it does not comply with the brand guidelines.
"Google Cast" in text
- When describing an app (not a hardware product) as being Cast-enabled, use the phrase "Google Cast-enabled". For example: "This app is Google Cast-enabled".
- When describing a Cast compatible third-party hardware product, use "This {TV} works with Google Cast", "These {speakers} work with Google Cast".
- When written in text, "Google" and "Cast" should be capitalized.
- In any marketing asset that uses "Google Cast" in text or the badge/logo, you must include the following legal attribution: Google Cast is a trademark of Google LLC.
- Don't put Google Cast in the title of the app (such as XYZ Google Cast App).
Google Cast-enabled app messaging
You can promote your app as follows:
- "XYZ is a Google Cast-enabled app which lets you stream your favorite entertainment from your mobile device to your TV."
- "The XYZ app is now available for TVs that work with Google Cast."
- "The XYZ app is now available for all Google Cast products including Google Chromecast, Google Cast Audio, and TVs and speakers that work with Google Cast."
- "The XYZ app is Google Cast-enabled, allowing you to enjoy all your favorite shows/movies/music/games on your TV that works with Google Cast."
- "The XYZ app now has Google Cast support, allowing users to stream content from their phone to their TV that works with Google Cast."
Google Cast badge
You can use the "Google Cast" badges on your website, app store listing, marketing materials and promotional materials to display compatibility with devices that use the Cast protocol.
- Don't modify the color, proportions, spacing or any other aspect of the badge image.
- When used alongside logos for other ingredient technologies (for example, Bluetooth, Spotify Connect, AirPlay, etc.), the Google Cast badge must be of equal or greater size.
- Don't make the badge the primary element on your page.
- Keep some distance between the badge and other logos and icons on your page.
- When used on white, light, or medium-toned background, use a black badge.
- When used on a black or dark-toned background, use the white badge.
- Don't use the badge on a page that contains or displays adult content, promotes gambling, promotes violence, contains hate speech, involves the sale of tobacco or alcohol to persons under twenty-one years of age, violates other applicable laws or regulations or is otherwise objectionable.
Badge linking
When used online, the Google Cast badge must link to one of the following:
- Google's list of Google Cast-enabled apps and products at g.co/castapps.
- A list of products published by you.
- A specific product detail page published by you.
- A list of apps published by you.
- A specific app detail page published by you, on Google Play, or in the Apple App Store.
Download Google Cast badge assets
The download bundle includes Portable Network Graphics (.png), Adobe Illustrator (.ai), and Enapsulated Postscript (.eps) formats.
Preview Google Cast badges
Refer to the Partner Hub Badges Guidelines page for all available badges and instructions on usage.