Пользовательский веб-приемник

Быстрый старт . Код для создания базового пользовательского веб-приемника прост. Пропустите вперед, чтобы зарегистрировать свое приложение Web Receiver , а затем создайте базовое приложение Web Receiver .

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, не имеющего настройки:

  1. HTML-элемент cast-media-player для представления медиаплеера.
  2. HTML-элемент скрипта для загрузки платформы Web Receiver.
  3. Вызовите 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 получают доступ к содержимому на более низком уровне и не просматривают эти заголовки. Часто это первая проблема, которая возникает, когда разработчик хочет использовать потоковое содержимое. Дополнительные сведения см. в разделе Совместное использование ресурсов между источниками .