Web Receiver SDK использует встроенный медиаплеер, чтобы обеспечить беспрепятственное и простое воспроизведение. Он обеспечивает готовую поддержку Google Assistant, а также специальные функции Cast, которые автоматически поддерживаются на всех отправителях и устройствах с сенсорным экраном. По мере выпуска новых функций они будут по-прежнему поддерживаться без дополнительных изменений отправителя.
Пользовательский веб-приемник — это специально созданное приложение HTML5, которое необходимо разместить для отображения вашего контента на устройствах с поддержкой Cast. В зависимости от потребностей вашего бизнеса вам может потребоваться создать собственный веб-приемник. Чтобы решить, какой тип приемника использовать, см. руководство по выбору веб-приемника .
SDK веб-приемника Google
Ваше приложение Web Receiver обращается к API Web Receiver со следующей ссылкой:
<script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
Рекомендация для протоколов URL . Обратите внимание, что приведенный выше URL-адрес не указывает протокол «http:» или «https:». Отсутствие этих протоколов при поиске ресурса cast_receiver_framework.js
позволяет получать этот ресурс с использованием того же протокола, что и сервер, на котором размещено приложение Web Receiver. Это означает, что переключение между HTTP для разработки и HTTPS для производства является прозрачным и не требует изменения кода. (Опубликованные приложения Web Receiver должны размещаться на серверах с поддержкой TLS.)
Предварительный просмотр SDK
Предварительная версия Cast Web Receiver SDK также доступна для тестирования непроизводственных приложений. Дополнительную информацию об URL-адресе предварительного просмотра SDK можно найти по адресу URL-адрес предварительного просмотра SDK веб-приемника Google Cast .
Жизненный цикл приложения
Жизненный цикл приложения Web Receiver начинается с момента, когда Web Receiver загружается на устройство Cast, и продолжается до момента, когда приложение отключается, а устройство Cast возвращается в состояние по умолчанию.
В течение жизненного цикла приложения веб-приемника происходит обмен сообщениями между веб-приемником и любыми подключенными приложениями-отправителями. Приложение-отправитель отправит начальное сообщение на устройство Google Cast с запросом на создание сеанса с использованием определенного идентификатора приложения. Это запускает жизненный цикл веб-приемника, поскольку устройство Google Cast попытается загрузить приложение веб-приемника. При условии отсутствия проблем с сетью приложение Web Receiver будет загружено из сети с использованием разрешенного URL-адреса, связанного с идентификатором приложения. После загрузки приложение Web Receiver выполнит свои операции настройки и укажет, что оно готово к обработке сообщений от любых подключенных приложений-отправителей.
Приложение Web Receiver может завершить работу (завершить текущий жизненный цикл и закрыть приложение) при следующих условиях:
- Приложение Web Receiver получает явное сообщение от последнего подключенного отправителя о завершении сеанса приложения.
- Приложение Web Receiver бездействовало в течение определенного периода времени без каких-либо подключенных отправителей и решает завершить сеанс приложения.
- Начался другой актерский сеанс.
- Веб-приемник сталкивается с фатальной ошибкой в течение своего нормального жизненного цикла.
Web Receiver SDK обрабатывает все распространенные случаи в соответствии с нашими рекомендациями по пользовательскому интерфейсу.
Основные классы
Платформа Web Receiver SDK имеет 2 основных класса:
cast.framework.CastReceiverContext
— управляет общей структурой и загружает все необходимые библиотеки. С помощью этого объекта вы можете:- Установить параметры конфигурации приложения
- Обрабатывать системные события (например, отправитель подключен или отключен)
- Создание клиентских каналов
- Инициировать литовское общение
cast.framework.PlayerManager
— управляет воспроизведением мультимедиа. Он обрабатывает базовый проигрыватель и медиа-элемент в соответствии с запросом отправителя. С помощью этого объекта вы можете:- Управление операциями воспроизведения
- Обработка запросов, связанных с воспроизведением, от отправителя
- Обработка событий, связанных с воспроизведением
Зарегистрируйте свое приложение веб-приемника
Прежде чем разрабатывать приложение веб-приемника, вам необходимо зарегистрировать его в консоли разработчика Google Cast SDK. См. Регистрация для получения дополнительной информации. Все приложения веб-приемника требуют, чтобы приложения-отправители предоставляли идентификатор приложения с командными сообщениями, которые они отправляют веб-приемнику через API отправителя. Когда вы регистрируете свое приложение Web Receiver, вы получаете идентификатор приложения для включения в вызовы API вашего отправителя.
Создайте базовое приложение Web Receiver
Ниже приведена основная структура базового приложения Web Receiver, не имеющего настройки:
- HTML-элемент
cast-media-player
для представления медиаплеера. - HTML-элемент скрипта для загрузки платформы Web Receiver.
- Вызовите
start()
, чтобы запустить приложение Web Receiver без параметров.
Вот минимальный код для приложения Web Receiver, использующего Cast Application Framework без какой-либо настройки. Вы можете скопировать и вставить этот сценарий точно так, как есть, в свое приложение, чтобы создать приложение Web Receiver.
<html>
<head>
<script type="text/javascript"
src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
</script>
</head>
<body>
<cast-media-player></cast-media-player>
<script>
cast.framework.CastReceiverContext.getInstance().start();
</script>
</body>
</html>
На этом этапе пользователь может открыть свое приложение-отправитель, подключиться к своему устройству Cast, затем перейти к мультимедиа и нажать «Воспроизвести», что указывает веб-приемнику на потоковую передачу мультимедиа на телевизор для просмотра пользователем.
Сравните этот базовый веб-приемник с настроенным приложением-приемником .
Медиа и игроки
Фреймворк Cast предоставляет встроенный медиаплеер, представленный HTML-элементом cast-media-player
. Этот медиаплеер поддерживает воспроизведение для потоковых протоколов, таких как MPEG-DASH, HLS и Smooth Streaming.
Набор поддерживаемых медиакодеков и контейнеров указан в Supported Media . С помощью обмена сообщениями Cast разработчики могут поддерживать список инициируемых отправителем операций, таких как загрузка, воспроизведение, пауза и поиск, при этом Cast SDK обрабатывает взаимодействие с мультимедиа. Список поддерживаемых операций см. в справочнике по API отправителя для платформы вашего приложения: RemoteMediaClient
в Android Sender , GCKMediaControlChannel
в iOS Sender и Media
в Web Sender .
Совместное использование ресурсов между источниками
Google Cast полностью поддерживает совместное использование ресурсов между источниками (CORS). Потоковые протоколы, в отличие от большинства файловых протоколов, получают доступ к содержимому асинхронно с помощью XMLHttpRequest
. В мире CORS эти запросы защищены от несанкционированного доступа заголовком CORS с сервера, с которого исходит ресурс. Это означает, что сервер вашего контента имеет право голоса в том, где он может быть включен. Большинство современных браузеров полностью поддерживают CORS. Устройства iOS и Android получают доступ к содержимому на более низком уровне и не просматривают эти заголовки. Часто это первая проблема, которая возникает, когда разработчик хочет использовать потоковое содержимое. Дополнительные сведения см. в разделе Совместное использование ресурсов между источниками .