Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A caixa de diálogo de transmissão é mostrada sempre que o botão "Transmitir" é pressionado. A caixa de diálogo de transmissão permite que os usuários
se conectem, controlem e se desconectem dos receptores da Web.
Se você estiver desenvolvendo uma implementação personalizada ou criando um app para iOS ou Chrome, será necessário
implementar essa caixa de diálogo de maneira consistente para que os usuários a reconheçam e confiem que ela funcione
de maneira consistente em todos os dispositivos, apps e plataformas. Consulte os
apps de referência (link em inglês) para conferir exemplos.
Obrigatório (comportamento padrão do
Android MediaRouter):
A Quando o app de envio não está conectado a um receptor de transmissão,
tocar no botão "Transmitir" mostra a caixa de diálogo de transmissão
B O título da caixa de diálogo de transmissão, "Transmitir para", aparece
C A caixa de diálogo de transmissão mostra uma lista de receptores da Web disponíveis
D Cada receptor que está transmitindo atualmente mostra "Transmitindo
nome do app"
Observe os cenários com vários usuários:
Quando outro usuário se conecta a um receptor que está transmitindo
pelo mesmo app e conta, o app de envio fornece os controles para
o conteúdo transmitido.
Quando outro usuário se conecta a um receptor que está transmitindo
por um app que não está transmitindo, o app de envio anterior
é desconectado e o novo app de envio é conectado.
No iOS, ao transmitir pela primeira vez, os usuários precisam consentir com o acesso à rede local (LNA, na sigla em inglês) para
dispositivos Google Cast. Uma tela de informações intersticial é apresentada
aos usuários explicando por que essa permissão é necessária, seguida pela caixa de diálogo de permissões
padrão da Apple LNA.
Depois de transmitir pela primeira vez, se nenhum dispositivo for encontrado quando o botão "Transmitir" for tocado enquanto o
usuário estiver no Wi-Fi, uma tela de ajuda será apresentada
explicando por que os receptores da Web podem não estar disponíveis. Por exemplo,
o acesso à rede local está desativado ou há um problema com a rede Wi-Fi.
Obrigatório:
A Transmissão pela primeira vez: depois de tocar no botão "Transmitir"
pela primeira vez,
um intersticial precisa ser mostrado para explicar ao usuário por que ele deve permitir
que o app acesse dispositivos de rede local. O intersticial precisa incluir informações sobre
por que o acesso à rede local é necessário, para aumentar a probabilidade de o usuário aceitar
a permissão local.
B Receptores indisponíveis: tocar no botão "Transmitir"
mostra uma tela de ajuda explicando os possíveis motivos pelos quais o usuário
não consegue detectar receptores da Web, além de links para as Configurações para corrigir problemas de permissões do LNA.
Primeira transmissão (iOS)
Transmissão pela primeira vez: permissões de acesso à rede local e intersticiais
Obrigatório A Quando o app de envio está conectado a um receptor da Web,
tocar no botão "Transmitir" mostra a caixa de diálogo de transmissão.
B O título da caixa de diálogo de transmissão "Receiver-Name" aparece.
C A caixa de diálogo de transmissão mostra um botão para interromper a transmissão
com o rótulo do botão "STOP CASTING". Para mais informações sobre a desconexão, consulte
O envio interrompe a transmissão.
Android
Caixa de diálogo de transmissão, conectada, mas sem transmitir
App receptor carregado / inativo
iOS
Caixa de diálogo de transmissão, conectada, mas sem transmitir
Obrigatório A O título da caixa de diálogo "Cast" "Receiver-Name" aparece
B O receptor ou conteúdo que está sendo transmitido aparece abaixo
do título
C A caixa de diálogo "Cast" mostra um botão "STOP CASTING" que interrompe
a transmissão. Para mais informações, consulte
O remetente interrompe a transmissão.
Prática recomendada
Para oferecer a melhor experiência do usuário, forneça
controles persistentes
além dos controles na caixa de diálogo de transmissão.
Android
Caixa de diálogo de transmissão durante a transmissão
Receptor reproduzindo conteúdo
iOS
Caixa de diálogo de transmissão durante a transmissão
Receptor reproduzindo conteúdo
Chrome
Caixa de diálogo de transmissão durante a transmissão
Receptor reproduzindo conteúdo
As imagens usadas neste guia de design
são cortesia da Blender Foundation, compartilhadas sob direitos autorais ou licença Creative Commons.
Elephant's Dream: (c) copyright 2006, Blender Foundation / Netherlands Media Art Institute /
www.elephantsdream.org
Sintel: (c) copyright Blender Foundation | www.sintel.org
Tears of Steel: (CC) Blender Foundation | mango.blender.org
Big Buck Bunny: (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org
[null,null,["Última atualização 2025-08-31 UTC."],[[["\u003cp\u003eThe Cast dialog enables users to connect to, manage, and disconnect from Web Receivers and should be implemented consistently across platforms.\u003c/p\u003e\n"],["\u003cp\u003eOn iOS, users must grant local network access permission for initial casting and may encounter a help screen if no devices are found.\u003c/p\u003e\n"],["\u003cp\u003eWhen connected, the Cast dialog displays the receiver name and a "STOP CASTING" button, offering controls for the casting session.\u003c/p\u003e\n"],["\u003cp\u003eFor optimal user experience, it's recommended to include persistent controls alongside those within the Cast dialog, enhancing user interaction.\u003c/p\u003e\n"],["\u003cp\u003eAndroid apps can leverage the MediaRouter component for built-in Cast dialog UX, simplifying implementation.\u003c/p\u003e\n"]]],[],null,["# Cast Dialog\n\nThe Cast dialog is shown whenever the Cast button is pressed. The Cast dialog lets users\nconnect, control, and disconnect from Web Receivers.\n| **Note:** For Android apps, use the `MediaRouter` component from the MediaRouter Support Library to implement the Cast dialog. It has all of the UX requirements built right in.\n| **Note:** For iOS senders, a special Local Network Access interstitial dialog must be displayed the first time a user attempts to cast.\n\nIf you're developing a custom implementation or building an app for iOS or Chrome, you must\nimplement this dialog in a consistent way, so that users recognize and trust it to function\nconsistently across devices, apps and platforms. Refer to the\n[Reference apps](/cast/docs/sample_apps#reference_apps) for examples.\n\n### [Cast dialog, not connected (receivers available)](#sender-cast-menu-available)\n\n\n**Required** (default behavior of [Android MediaRouter](https://developer.android.com/reference/androidx/mediarouter/media/MediaRouter)):\n\n\nA When the sender app is not connected to a Cast receiver,\ntapping the Cast button shows the Cast dialog\n\n\nB The Cast dialog title, \"Cast to\" appears\n\n\nC The Cast dialog shows a list of available Web Receivers\n\n\nD Each receiver currently casting should display, \"Casting\n*app name*\"\n\n**Note the multi-user scenarios:**\n\n- When another user connects to a receiver currently casting from the same app and account, the sender app provides the controls for the cast content.\n- When another user connects to a receiver currently casting from an app that is not casting, the previous sender app disconnects and the new sender app connects.\n\n### Android\n\nCast dialog, not connected \nCast home screen \n\n### iOS\n\nCast dialog, not connected \nCast home screen \n\n### Chrome\n\nCast dialog, not connected \nCast home screen \n\n### [Cast dialog, not connected (iOS only)](#sender-cast-menu-available)\n\n\nFor iOS, when casting for the first time, users must consent to allow local network access (LNA) to\nCast devices. An interstitial information screen is presented\nto users explaining why this permission is needed, followed by the standard Apple LNA\npermissions dialog.\n\n\nAfter casting for the first time, if no devices are found when the Cast button is tapped while the\nuser is on Wi-Fi, a help screen is presented\nexplaining why Web Receivers might not be available (for example,\nlocal network access is disabled, or there is a problem with the Wi-Fi network).\n\n\n**Required** :\n\n\nA First-time casting: After tapping on the Cast button\nfor the first time,\nan Interstitial must be shown to explain to the user why they should allow\nthe app to access local network devices. The interstitial should include information on\nwhy local network access is needed, to increase the likelihood of the user accepting\nlocal permission access.\n\n\nB Receivers unavailable: Tapping the Cast button\ndisplays a help screen explaining possible reasons the user\nis unable to discover Web Receivers, along with links to Settings to fix LNA permissions issues. \n\n### First-time casting (iOS)\n\nFirst-time casting: interstitial and local network access permissions \n\n### Receivers unavailable\n\nReceivers unavailable \n\n### [Cast dialog, connected but not casting](#sender-cast-menu-connected)\n\n\n**Required**\n\n\nA When the sender app is connected to a Web Receiver,\ntapping the Cast button shows the Cast dialog\n\n\nB The Cast dialog title \"Receiver-Name\" appears\n\n\nC The Cast dialog shows a button to stop casting\nwith button label \"STOP CASTING\" (for more information about disconnecting, see\n[Sender stops cast](/cast/docs/design_checklist/sender#sender-control-end)) \n\n### Android\n\nCast dialog, connected but not casting \nReceiver app loaded / idle \n\n### iOS\n\nCast dialog, connected but not casting \nReceiver app loaded / idle \n\n### [Cast dialog, while casting](#sender-cast-menu-casting)\n\n\n**Required**\n\n\nA The Cast dialog title \"Receiver-Name\" appears\n\n\nB The receiver or content currently casting is shown below\nthe title\n\n\nC The Cast dialog shows a \"STOP CASTING\" button that stops\ncasting (for more information see\n[Sender stops cast](/cast/docs/design_checklist/sender#sender-control-end))\n\n**Best practice**\n\n- For the best user experience, provide [persistent controls](/cast/docs/design_checklist/sender#sender-mini-controller) in addition to the controls in the Cast dialog.\n\n### Android\n\nCast dialog, while casting \nReceiver playing content \n\n### iOS\n\nCast dialog, while casting \nReceiver playing content \n\n### Chrome\n\nCast dialog, while casting \nReceiver playing content \n\n**Images used in this design guide**\nare courtesy of the Blender Foundation, shared under copyright or Creative Commons license.\n\n- Elephant's Dream: (c) copyright 2006, Blender Foundation / Netherlands Media Art Institute / www.elephantsdream.org\n- Sintel: (c) copyright Blender Foundation \\| www.sintel.org\n- Tears of Steel: (CC) Blender Foundation \\| mango.blender.org\n- Big Buck Bunny: (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org"]]