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

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

Web Receiver SDK использует встроенный медиаплеер, обеспечивающий плавное и простое воспроизведение. Он обеспечивает готовую поддержку Google Assistant, а также специальные функции Cast, которые автоматически поддерживаются на всех отправителях и устройствах с сенсорным экраном. По мере выпуска новых функций они будут продолжать поддерживаться без дополнительных изменений отправителя.

Пользовательский веб-приемник — это специально созданное приложение HTML5, которое необходимо разместить на хосте для отображения вашего контента на устройствах с поддержкой Cast. Возможно, вам придется создать собственный веб-приемник в зависимости от потребностей вашего бизнеса. Чтобы узнать, какой тип приемника использовать, см. руководство по выбору веб-приемника .

SDK веб-приемника Google

Ваше приложение веб-приемника обращается к API веб-приемника по следующей ссылке:

<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 для производства прозрачно и не требует изменения кода. (Опубликованные приложения веб-приемника должны размещаться на серверах с поддержкой TLS.)

Предварительный просмотр SDK

Предварительная версия Cast Web Receiver SDK также доступна для использования при тестировании непроизводственных приложений. Дополнительную информацию об URL-адресе предварительного просмотра SDK можно найти по адресу URL-адрес предварительного просмотра SDK веб-приемника Google Cast .

Жизненный цикл приложения

Жизненный цикл приложения веб-приемника начинается с момента загрузки веб-приемника на устройство Cast и продолжается до момента завершения работы приложения и возврата устройства Cast в состояние по умолчанию.

В течение жизненного цикла приложения веб-приемника происходит обмен сообщениями между веб-приемником и любыми подключенными приложениями-отправителями. Приложение-отправитель отправит первоначальное сообщение на устройство Google Cast с запросом на создание сеанса с использованием определенного идентификатора приложения. Это запускает жизненный цикл веб-приемника, поскольку устройство Google Cast попытается загрузить приложение веб-приемника. Если проблем с сетью нет, приложение Web Receiver будет загружено из сети с использованием разрешенного URL-адреса, связанного с идентификатором приложения. После загрузки приложение веб-приемника выполнит операции настройки и укажет, что оно готово обрабатывать сообщения от любых подключенных приложений-отправителей.

Приложение веб-приемника может завершиться (завершить текущий жизненный цикл и закрыть приложение) при следующих условиях:

  • Приложение веб-приемника получает явное сообщение от последнего подключенного отправителя о завершении сеанса приложения.
  • Приложение веб-приемника бездействовало в течение определенного периода времени без подключенных отправителей и решает завершить сеанс приложения.
  • Начался другой сеанс актерского состава.
  • Веб-приемник обнаружил фатальную ошибку во время своего обычного жизненного цикла.

Web Receiver SDK обрабатывает все распространенные случаи в соответствии с нашими рекомендациями по пользовательскому интерфейсу .

Основные классы

Платформа Web Receiver SDK имеет 2 основных класса:

  • cast.framework.CastReceiverContext — управляет всей платформой и загружает все необходимые библиотеки. С помощью этого объекта вы можете:

    • Установите параметры конфигурации приложения
    • Обрабатывать системные события (например, подключение или отключение отправителя)
    • Создание клиентских каналов
    • Начать общение с актерами
  • cast.framework.PlayerManager — управляет воспроизведением мультимедиа. Он обрабатывает базовый проигрыватель и медиа-элемент в соответствии с запросом отправителя. С помощью этого объекта вы можете:

    • Обработка операций воспроизведения
    • Обработка запросов, связанных с воспроизведением, от отправителя
    • Обработка событий, связанных с воспроизведением

Зарегистрируйте свое приложение веб-приемника

Прежде чем разрабатывать приложение веб-приемника, вам необходимо зарегистрировать его в консоли разработчика Google Cast SDK. Дополнительную информацию см. в разделе Регистрация . Все приложения веб-приемника требуют, чтобы приложения-отправители предоставляли идентификатор приложения вместе с командными сообщениями, которые они отправляют веб-приемнику через API отправителя. При регистрации приложения веб-приемника вы получите идентификатор приложения, который будет включаться в вызовы API отправителя.

Создайте базовое приложение веб-приемника.

Ниже приведена основная структура базового приложения веб-приемника, не требующего настройки:

  1. HTML-элемент cast-media-player представляющий медиаплеер.
  2. HTML-элемент сценария для загрузки платформы веб-приемника.
  3. Вызовите start() , чтобы запустить приложение веб-приемника без параметров.

Ниже приведен минимальный код для приложения веб-приемника, использующего Cast Application Framework без какой-либо настройки. Вы можете скопировать и вставить этот сценарий в исходном виде в свое приложение, чтобы создать приложение веб-приемника.

<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.

Набор поддерживаемых медиакодеков и контейнеров указан в разделе «Поддерживаемые носители» . Посредством обмена сообщениями Cast разработчики могут поддерживать список операций, инициируемых отправителем, таких как загрузка, воспроизведение, пауза и поиск, где Cast SDK обрабатывает взаимодействие с мультимедиа. Список поддерживаемых операций см. в справочнике по API отправителя для платформы вашего приложения: RemoteMediaClient в Android Sender , GCKMediaControlChannel в iOS Sender и Media в Web Sender .

Совместное использование ресурсов между источниками

Google Cast полностью поддерживает совместное использование ресурсов между источниками (CORS). Протоколы потоковой передачи, в отличие от большинства файловых протоколов, получают доступ к содержимому асинхронно с помощью XMLHttpRequest . В мире CORS эти запросы защищены от несанкционированного доступа заголовком CORS с сервера, откуда исходит ресурс. Это означает, что сервер вашего контента имеет право голоса в том, куда его можно включить. Большинство современных браузеров полностью поддерживают CORS. Устройства iOS и Android получают доступ к контенту на более низком уровне и не просматривают эти заголовки. Часто это первая проблема, которая возникает, когда разработчик хочет использовать потоковый контент. Подробности см. в разделе «Обмен ресурсами между источниками» .