Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Диалоговое окно Cast отображается всякий раз, когда нажимается кнопка Cast. Диалоговое окно Cast позволяет пользователям подключаться, управлять и отключаться от веб-приемников.
Если вы разрабатываете индивидуальную реализацию или создаете приложение для iOS или Chrome, вы должны реализовать этот диалог согласованным образом, чтобы пользователи узнавали и доверяли ему, чтобы он функционировал согласованно на всех устройствах, в приложениях и на платформах. Примеры см. в Reference apps .
Обязательно (поведение Android MediaRouter по умолчанию): A Если приложение-отправитель не подключено к приемнику Cast, нажатие кнопки Cast открывает диалоговое окно Cast. B Появится заголовок диалогового окна трансляции «Транслировать в». C Диалоговое окно Cast отображает список доступных веб-приемников. D Каждый приемник, который в данный момент транслирует, должен отображать « Имя транслирующего приложения ».
Обратите внимание на многопользовательские сценарии:
Когда другой пользователь подключается к получателю, который в данный момент транслирует контент из того же приложения и учетной записи, приложение-отправитель предоставляет элементы управления транслируемым контентом.
Когда другой пользователь подключается к получателю, который в данный момент транслирует из приложения, которое не транслирует, предыдущее приложение-отправитель отключается и подключается новое приложение-отправитель.
Для iOS при первом запуске трансляции пользователи должны дать согласие на разрешение доступа к локальной сети (LNA) для устройств Cast. Пользователям отображается промежуточный информационный экран, объясняющий, почему необходимо это разрешение, а затем следует стандартный диалог разрешений Apple LNA.
Если после первой трансляции при нажатии кнопки трансляции, когда пользователь подключен к сети Wi-Fi, не обнаружено ни одного устройства, отображается экран справки, объясняющий, почему веб-приемники могут быть недоступны (например, отключен доступ к локальной сети или возникла проблема с сетью Wi-Fi).
Необходимый : Первая трансляция: после первого нажатия на кнопку трансляции необходимо показать Interstitial, чтобы объяснить пользователю, почему он должен разрешить приложению доступ к локальным сетевым устройствам. Interstitial должен содержать информацию о том, почему необходим доступ к локальной сети, чтобы повысить вероятность того, что пользователь примет локальное разрешение на доступ. B Приемники недоступны: при нажатии кнопки «Трансляция» отображается экран справки, в котором объясняются возможные причины, по которым пользователь не может обнаружить веб-приемники, а также ссылки на настройки для устранения проблем с разрешениями LNA.
Первый кастинг (iOS)
Первая трансляция: разрешения на доступ к интерстициальной и локальной сети
Необходимый A Когда приложение-отправитель подключено к веб-приемнику, нажатие кнопки «Трансляция» открывает диалоговое окно «Трансляция». B Появляется заголовок диалогового окна трансляции «Имя получателя» C В диалоговом окне трансляции отображается кнопка остановки трансляции с надписью «ОСТАНОВИТЬ ТРАНСЛЯЦИЮ» (для получения дополнительной информации об отключении см. раздел Отправитель останавливает трансляцию ).
андроид
Диалог трансляции, подключен, но трансляция не выполняется
Приложение-приемник загружено/неактивно
iOS
Диалог трансляции, подключен, но трансляция не выполняется
Необходимый Появляется заголовок диалогового окна трансляции «Имя получателя». B Получатель или контент, который в данный момент транслируется, отображается под заголовком. C В диалоговом окне трансляции отображается кнопка «ОСТАНОВИТЬ ТРАНСЛЯЦИЮ», которая останавливает трансляцию (для получения дополнительной информации см. раздел Отправитель останавливает трансляцию )
Лучшая практика
Для лучшего взаимодействия с пользователем предоставьте постоянные элементы управления в дополнение к элементам управления в диалоговом окне трансляции.
андроид
Диалог трансляции во время трансляции
Приемник воспроизводит контент
iOS
Диалог трансляции во время трансляции
Приемник воспроизводит контент
Хром
Диалог трансляции во время трансляции
Приемник воспроизводит контент
Изображения, использованные в этом руководстве по дизайну , предоставлены Blender Foundation и распространяются в соответствии с авторским правом или лицензией Creative Commons.
Мечта слона: (c) авторское право 2006, Blender Foundation / Нидерландский институт медиаискусства / www.elephantsdream.org
Sintel: (c) авторские права Blender Foundation | www.sintel.org
Слезы стали: (CC) Blender Foundation | mango.blender.org
Большой Бак Банни: (c) авторские права 2008, Blender Foundation / www.bigbuckbunny.org
[null,null,["Последнее обновление: 2025-08-29 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"]]