Поставщик контента FreePlay
FreePlay -- это медиаплеер ChurchApps для потоковой передачи уроков и другого видеоконтента на телефонах, планшетах и телевизорах. Если у вас есть библиотека учебных материалов и вы хотите сделать её доступной в FreePlay, это руководство охватывает всё, что вам нужно предоставить.
Брендинг
Перед началом интеграции нам нужно:
- Логотип -- Изображение логотипа в соотношении сторон 16:9 (используется для карточек поставщиков в интерфейсе FreePlay)
- Название бренда -- Предпочтительное название для отображения вашей организации в FreePlay
Конечные точки API
FreePlay взаимодействует с вашим сервисом через небольшой набор REST-конечных точек. Мы пишем пользовательский адаптер для каждого поставщика, поэтому точная структура URL гибкая -- но информация ниже -- это то, что нам нужно.
Аутентификация
Выберите модель, которая подходит вашему контенту:
| Модель | Когда использовать | Что нам нужно |
|---|---|---|
| Нет | Публичный контент, вход не требуется | Ничего -- мы вызываем ваши конечные точки каталога напрямую |
| OAuth (PKCE) | Вход через веб/мобильное приложение | URL авторизации, конечная точка обмена токенами, ID клиента, области |
| Device Flow | Предпочтительно для TV-приложений (пользователь вводит короткий код на своём телефоне) | Конечная точка авторизации устройства, конечная точка опроса токенов, ID клиента |
Если ваш контент требует аутентификации, конечная точка аутентификации возвращает пользовательский токен, который FreePlay передаёт в конечные точки просмотра и уроков для авторизации доступа.
Просмотр / Каталог
Конечная точка (или набор конечных точек), которая возвращает дерево папок всех доступных уроков.
- Это может быть один вызов, который возвращает всё дерево, или несколько вызовов, где каждый возвращает один уровень по мере того, как пользователь переходит глубже.
- Каждый элемент в дереве должен включать:
| Поле | Обязательно | Описание |
|---|---|---|
id | Да | Уникальный идентификатор папки |
name | Да | Отображаемое имя папки |
thumbnail | Рекомендуется | URL миниатюры 16:9 |
Плейлист урока
Конечная точка, которая возвращает плейлист медиафайлов для одного урока.
Каждый элемент в плейлисте должен включать:
| Поле | Обязательно | Описание |
|---|---|---|
title | Да | Отображаемый заголовок медиаэлемента |
mediaType | Да | video или image |
url | Да | Прямая ссылка на скачивание файла (см. Форматы медиа ниже) |
thumbnail | Рекомендуется | Миниатюрное изображение для элемента |
duration | Рекомендуется | Длительность в секундах (для видео) |
Форматы медиа
FreePlay скачивает файлы напрямую, поэтому каждый медиаэлемент должен иметь прямую ссылку (без встроенных плееров или переадресации страниц).
| Тип | Принимаемые форматы |
|---|---|
| Видео | MP4 (требуется для кроссплатформенного воспроизведения на устройствах Apple и Android) |
| Изображение | JPG, PNG или GIF |
Примечания
- REST API, возвращающий JSON -- это типичный паттерн интеграции, но поскольку мы пишем пользовательский адаптер для каждого поставщика, мы можем работать практически с любым форматом API.
- Если вы заинтересованы в том, чтобы стать поставщиком контента FreePlay, обратитесь в Slack или откройте issue на GitHub.