Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El diálogo de Cast se muestra cada vez que se presiona el botón de Cast. El diálogo de Cast permite a los usuarios conectarse, controlar y desconectarse de los receptores web.
Si desarrollas una implementación personalizada o compilas una app para iOS o Chrome, debes implementar este diálogo de forma coherente para que los usuarios lo reconozcan y confíen en que funcione de manera coherente en todos los dispositivos, apps y plataformas. Consulta las apps de referencia para ver ejemplos.
Obligatorio (comportamiento predeterminado de
Android MediaRouter):
A Cuando la app del remitente no está conectada a un receptor de Cast, presionar el botón Cast muestra el diálogo de Cast.
B Aparece el título del diálogo de Cast, "Transmitir a".
C El diálogo de Cast muestra una lista de receptores web disponibles.
D Cada receptor que transmite actualmente debe mostrar "Transmitiendo nombre de la app".
Ten en cuenta las situaciones de varios usuarios:
Cuando otro usuario se conecta a un receptor que está transmitiendo desde la misma app y cuenta, la app del remitente proporciona los controles del contenido transmitido.
Cuando otro usuario se conecta a un receptor que está transmitiendo desde una app que no está transmitiendo, la app de remitente anterior se desconecta y se conecta la nueva app de remitente.
En iOS, cuando se transmite contenido por primera vez, los usuarios deben dar su consentimiento para permitir el acceso a la red local (LNA) a los dispositivos Cast. Se les presenta a los usuarios una pantalla de información intersticial en la que se explica por qué se necesita este permiso, seguida del diálogo de permisos de LNA estándar de Apple.
Después de transmitir por primera vez, si no se encuentran dispositivos cuando se presiona el botón Cast mientras el usuario está conectado a una red Wi-Fi, se muestra una pantalla de ayuda en la que se explica por qué es posible que los receptores web no estén disponibles (por ejemplo, si el acceso a la red local está inhabilitado o si hay un problema con la red Wi-Fi).
Obligatorio:
A Transmisión por primera vez: Después de presionar el botón Transmitir por primera vez, se debe mostrar un anuncio intersticial para explicarle al usuario por qué debe permitir que la app acceda a los dispositivos de la red local. El intersticial debe incluir información sobre por qué se necesita el acceso a la red local para aumentar la probabilidad de que el usuario acepte el acceso a los permisos locales.
B Receptores no disponibles: Si presionas el botón Transmitir, se muestra una pantalla de ayuda en la que se explican los posibles motivos por los que el usuario no puede descubrir los receptores web, junto con vínculos a Configuración para solucionar problemas de permisos de LNA.
Cómo transmitir por primera vez (iOS)
Primera transmisión: Permisos de acceso a la red local y a anuncios intersticiales
Obligatorio A Cuando la app del remitente está conectada a un receptor web,
si presionas el botón Transmitir, se muestra el diálogo Transmitir.
B Aparece el título del diálogo Transmitir "Receiver-Name".
C El diálogo Transmitir muestra un botón para detener la transmisión con la etiqueta del botón "STOP CASTING" (para obtener más información sobre cómo desconectarse, consulta El remitente detiene la transmisión).
Android
Diálogo de transmisión, conectado, pero no se transmite
App receptora cargada o inactiva
iOS
Diálogo de transmisión, conectado, pero no se transmite
Obligatorio A Aparece el título del diálogo de transmisión "Nombre del receptor".
B El receptor o el contenido que se está transmitiendo se muestra debajo del título.
C El diálogo de transmisión muestra un botón "DETENER TRANSMISIÓN" que detiene la transmisión (para obtener más información, consulta El remitente detiene la transmisión).
Práctica recomendada
Para obtener la mejor experiencia del usuario, proporciona controles persistentes además de los controles del diálogo de Cast.
Android
Diálogo de transmisión durante la transmisión
Receptor que reproduce contenido
iOS
Diálogo de transmisión durante la transmisión
Receptor que reproduce contenido
Chrome
Diálogo de transmisión durante la transmisión
Receptor que reproduce contenido
Las imágenes que se usan en esta guía de diseño son cortesía de la Blender Foundation y se comparten bajo derechos de autor o licencia 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 actualización: 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"]]