Обзор

Cast SDK позволяет пользователю выбирать потоковый аудиовизуальный контент с помощью отправителя и воспроизводить его (или транслировать) на другое устройство, известное как получатель , одновременно управляя воспроизведением с помощью отправителя.

Термин «Отправитель» относится к приложению, которое играет роль контроллера сеанса Cast. Отправитель инициирует сеанс трансляции и управляет взаимодействием пользователя с контентом.

Существует множество типов отправителей, включая мобильные приложения и веб-приложения Google Chrome, а также виртуальные поверхности управления на сенсорных устройствах Google Home. Элементы управления мультимедиа в веб-браузере Chrome действуют как отправитель, как и сам Google Assistant.

Термин «Получатель» относится к приложению, работающему на устройстве с поддержкой Cast, которое отвечает за ответ на команды отправителя и за передачу потокового контента из онлайн-службы потоковой передачи на устройство с поддержкой Cast. Примеры устройств-приемников с поддержкой Cast включают Chromecast, интеллектуальные телевизоры, интеллектуальные экраны и интеллектуальные колонки.

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

Компоненты и архитектура приложения

Google Cast поддерживает разработку приложений Sender для Android , iOS и веб-платформ с поддержкой Cast , таких как Google Chrome.

Приложение-приемник работает на устройстве с поддержкой Cast, примеры которого включают:

  • Chromecast, подключенный к телевизору высокой четкости или аудиосистеме.
  • Телевизор с поддержкой Cast.
  • Смарт-экран с поддержкой Cast.
  • Устройство Android с поддержкой Cast, например Android TV.

Высокоуровневая архитектура Cast

Отправитель управляет воспроизведением мультимедиа на получателе с помощью сообщений воспроизведения мультимедиа , определенных SDK. Если вариант использования приложения требует отправки данных, которые формально не определены в стандартных сообщениях воспроизведения мультимедиа, вы можете использовать поле customData , предоставляемое несколькими типами сообщений, для передачи вспомогательных данных.

Существует два основных сценария разработки приложений Cast:

  1. Комплексное решение на основе Cast. В этом сценарии разработчик должен создать как приложение-отправитель, так и два приложения-получателя: приемник Android TV и веб-приемник (подробнее об этом ниже).
  2. Приложение-отправитель с поддержкой Cast, которое может транслировать контент (экран или мультимедийный поток) на приемник Google Cast по умолчанию, который называется медиа-приемником по умолчанию. В этом сценарии разработчику нужно создать только одно приложение — Sender. Медиа-ресивер по умолчанию полезен для обучения и очень ограниченных сценариев воспроизведения. Это нецелесообразно для получателей, которым требуется специальная бизнес-логика, учетные данные, управление правами или аналитика.

SDK Google Cast

Google Cast SDK состоит из нескольких библиотек Cast API . Помимо API существует два вида документации:

  • Руководства по API, которые помогут вам использовать API, а также примеры кода , демонстрирующие функции Cast, и
  • Учебные пособия Codelab , которые обучат вас процессу разработки определенных типов приложений Cast.

API-интерфейсы Cast разделены в зависимости от платформы и типа приложения Cast. В таблице 1 приведены ссылки на руководства по различным API Cast.

Таблица 1. Руководства по Cast SDK
Платформа Отправитель Получатель
Андроид Приложения для Android-отправителей Обзор ресивера Android TV
Интернет Приложения веб-отправителя Обзор веб-ресивера
iOS iOS-приложения для отправки н/д

Типы приложений-отправителей

Приложения Sender могут работать на трех платформах:

  • Интернет
  • Андроид
  • iOS

Хотя выбор типа Sender, скорее всего, будет во многом зависеть от платформ Sender, которые вы собираетесь поддерживать, важно знать возможности и ограничения каждого типа Sender (см. Таблицу 3 ).

Таблица 3: Сравнение отправителей
Возможность Android-отправитель iOS отправитель Веб-отправитель
Рекламные паузы и сопутствующие объявления в медиапотоке
Стилизованные текстовые дорожки
Группируйте, стилизуйте и активируйте медиа-треки
Автозапуск и очередь (редактирование, изменение порядка, обновление)
Клиентские каналы
Пользовательские действия
Полный интерфейс Cast, включая контроллер и миниконтроллер
Намерение присоединиться

Типы приложений-приемников

Приложения-получатели обрабатывают связь между приложением-отправителем и устройством Cast. Существует два основных типа ресиверов: веб-ресивер и Android TV-ресивер . Ожидается, что вы предоставите как минимум веб-приемник, и вам рекомендуется предоставить приемник Android TV, чтобы максимально повысить удобство работы пользователя с вашим приложением.

Существует три типа веб-приемников, каждый из которых имеет свой набор качеств и возможностей:

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

В дополнение к возможностям, предоставляемым пользовательским приемником, Android TV Receiver предоставляет Cast Connect — набор возможностей, которые обеспечивают удобство работы ваших пользователей, плавно сочетая Cast с Android TV.

В Таблице 2 показаны возможности различных типов приемников.

Таблица 2: Сравнение приемников
Android-телевизор Пользовательский приемник Стилизованный медиа-ресивер (SMR) Медиа-ресивер по умолчанию
Платформа
На базе Android (Java/Kotlin)
Веб-интерфейс (HTML5)
Требования
Должен быть зарегистрирован
Возможности
Воспроизведение мультимедиа HLS и DASH
Поддержка сенсорного управления
Обрабатывает голосовые команды с устройств с поддержкой Ассистента.
Настраиваемый визуальный стиль и брендинг
Обрабатывает пользовательские сообщения
Cast Connect

Выбор между тремя вариантами веб-приемника зависит от того, какие типы мультимедиа должно поддерживать приложение, требуемая степень настройки пользовательского интерфейса и любые требования к пользовательской логике.

Определите, какой тип веб-приемника нужно создать.

Если ваше приложение может интегрироваться с Cast, используйте следующие подсказки, чтобы определить, какой тип веб-приемника вам следует создать:

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

  • Стилизация, не предоставляемая стилизованным медиа-ресивером
  • Модификации сенсорного управления.
  • Авторизация или аутентификация
  • Аналитика приемника
  • Лицензия DRM поставляется отдельно от манифеста
  • До, в середине или после рекламы
  • Любые другие пользовательские функции Receiver или пользовательская логика JavaScript.
ИЛИ
  • Приложению требуется индивидуальный стиль.
И
  • Возможности стилизации Styled Media Receiver недостаточны.
Создайте стилизованный медиа-приемник, если:
  • Приложению требуется индивидуальный стиль.
И
  • Возможностей стилизации Styled Media Receiver достаточно.
И
  • Приложению не требуются какие-либо специальные возможности, перечисленные выше.
Используйте медиа-ресивер по умолчанию, если:
  • Медиа-формат поддерживается
И
  • Приложение не требует индивидуального оформления.
И
  • Приложению не требуются какие-либо специальные возможности, перечисленные выше.