Функционал моделей событий для видео аналитики: различия между версиями

Материал из SmartPlayer
Нет описания правки
Нет описания правки
Строка 4: Строка 4:
Для правильной работы с событиями рекомендуется придерживаться следующего сценария использования функциональности:
Для правильной работы с событиями рекомендуется придерживаться следующего сценария использования функциональности:
# Подготовить для дальнейших (идентификатор события, API-ключ, json-файл, событие, трансляцию).
# Подготовить для дальнейших (идентификатор события, API-ключ, json-файл, событие, трансляцию).
# Создать событие в категории «События трансляции» (добавить json-файл в качестве ключа и взять из события идентификатор).
# Создать событие в категории «События трансляций» (добавить json-файл в качестве ключа и взять из события идентификатор).
# Подготовить API-ключ из личного кабинета SmartPlayer.
# Подготовить API-ключ из личного кабинета SmartPlayer.
# Подготовить POST-запрос по API с идентификатором события.
# Подготовить POST-запрос по API с идентификатором события.
Строка 10: Строка 10:
# Привязать созданные трансляции к нужным устройствам.
# Привязать созданные трансляции к нужным устройствам.
== '''Важная информация''' ==
== '''Важная информация''' ==
{{Note|Новая логика работы событий реализована параллельно со старой. Со старой логикой работы событий можно ознакомиться [https://wiki.smartplayer.org/index.php/%D0%A2%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F_%D0%B2_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D0%B8 здесь]. В старой логике нельзя использовать в качестве ключа события «Внешний источник». Данный ключ доступен только в новой реализации при условии, что событие создается в категории «События трансляции».|warn}}
{{Note|Новая логика работы событий реализована параллельно со старой. Со старой логикой работы событий можно ознакомиться [https://wiki.smartplayer.org/index.php/%D0%A2%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F_%D0%B2_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D0%B8 здесь]. В старой логике нельзя использовать в качестве ключа события «Внешний источник». Данный ключ доступен только в новой реализации при условии, что событие создается в категории «События трансляций».|warn}}
=== '''Приоритеты событий''' ===
=== '''Приоритеты событий''' ===
В личном кабинете SmartPlayer реализовано три вида приоритетов:
В личном кабинете SmartPlayer реализовано три вида приоритетов:
Строка 27: Строка 27:
=== '''Категория «События трансляций»''' ===
=== '''Категория «События трансляций»''' ===
Категория «События трансляций» располагается в личном кабинете в разделе «Трансляция».
Категория «События трансляций» располагается в личном кабинете в разделе «Трансляция».
[[File:События_трансляции.png|thumb|center| Пример отображения категории «События трансляции» в разделе «Трансляции» |800px]]
[[File:События_трансляции.png|thumb|center| Пример отображения категории «События трансляций» в разделе «Трансляции» |800px]]
Перейдя в категорию «События трансляции», пользователю откроется главная страница раздела, которая разделена на два блока:
Перейдя в категорию «События трансляций», пользователю откроется главная страница раздела, которая разделена на два блока:
# События трансляции — включает в себя все созданные события.
# События трансляций — включает в себя все созданные события.
# Журнал событий трансляций — список с подробным описанием использования событий.
# Журнал событий трансляций — список с подробным описанием использования событий.
[[File:Главная_страница_событий.png|thumb|center| Пример отображения главной страницы категории «События трансляции»|800px]]
[[File:Главная_страница_событий.png|thumb|center| Пример отображения главной страницы категории «События трансляций»|800px]]
{{Note|Выделенные с помощью чекбокса события отображаются в правой части экрана.
{{Note|Выделенные с помощью чекбокса события отображаются в правой части экрана.
[[File:Выделенные_события.png|thumb|center| Пример отображения главной страницы категории «События трансляции»|800px]]
[[File:Выделенные_события.png|thumb|center| Пример отображения главной страницы категории «События трансляций»|800px]]
Для выделенных событий доступно два действия:
Для выделенных событий доступно два действия:
# Отменить выбор — снимает чекбокс (галочку) выделения со всех устройств.
# Отменить выбор — снимает чекбокс (галочку) выделения со всех устройств.
Строка 79: Строка 79:
* удалить — удаляет выбранное событие.
* удалить — удаляет выбранное событие.
=== '''Журнал событий''' ===
=== '''Журнал событий''' ===
Блок «Журнал событий» включает в себя все созданные и передает о них следующую информацию:
Блок «Журнал событий» включает в себя все созданные события, и передает о них следующую информацию:
* название —
* название — текстовое название события;
* тип события —
* тип события — наименование типа события;
* ключ —
* ключ — тип ключа используемого для события;
* значение —
* значение — отображается значение ключа зашитое в событие;
* приоритет —
* приоритет — выбранные приоритет для события;
* дата и время —
* дата и время — дата и время создания события;
* статус —
* статус — отображается статус работы события.
{{Note|Для более удобного поиска событий пользователь может обратится в систему поиска.
{{Note|Для более удобного поиска событий пользователь может обратиться в систему поиска.
[[File:Система_поиска_журнала.png|thumb|center| Пример отображения системы поиска|800px]]|warn}}
[[File:Система_поиска_журнала.png|thumb|center| Пример отображения системы поиска|800px]]|warn}}
В правой части экрана есть оповещение для пользователей, которое передаёт информацию о длительности хранения записей в журнале - 30 дней.
В правой части экрана есть оповещение для пользователей, которое передаёт информацию о длительности хранения записей в журнале - 30 дней.
[[File:Информация_к_сведению.png|thumb|center| Пример отображения оповещения с информацией|800px]]
[[File:Информация_к_сведению.png|thumb|center| Пример отображения оповещения с информацией|800px]]
=== '''Количество отображаемых событий в личном кабинете''' ===
=== '''Количество отображаемых событий в личном кабинете''' ===
Если пользователю необходимо подготовить и добавить множество событий, можно столкнутся с неудобствами их отображения на странице «Журнал событий». Чтобы этого избежать пользователю необходимо перейти в раздел «Настройки» личного кабинета и найти пункт «События трансляции».
Если пользователю необходимо подготовить и добавить множество событий, можно столкнуться с неудобствами их отображения на странице «Журнал событий». Чтобы этого избежать, пользователю необходимо перейти в раздел «Настройки» личного кабинета и найти пункт «События трансляций».
[[File:Настройки_и_события.png|thumb|center| Пример отображения раздела «Настройки» и пункта «События трансляции»|800px]]
[[File:Настройки_и_события.png|thumb|center| Пример отображения раздела «Настройки» и пункта «События трансляций»|800px]]
Развернув этот пункт отобразится поле «Отображение меню в правой панели», в котором необходимо установить числовое значение. Какое значение пользователь выставит в поле, столько записей в журнале события будет отображаться.
Развернув этот пункт отобразится поле «Отображение меню в правой панели». В этом поле необходимо установить числовое значение. Какое значение пользователь выставит в поле - столько записей в журнале события будет отображаться.
[[File:Строка_со_значением.png|thumb|center| Пример отображения строки с заполненным значением|800px]]
[[File:Строка_со_значением.png|thumb|center| Пример отображения строки с заполненным значением|800px]]
=== '''Создание трансляции''' ===
=== '''Создание трансляции''' ===
Строка 105: Строка 105:
В правой части экрана откроется список настроек, в котором необходимо обратить внимание на два параметра:
В правой части экрана откроется список настроек, в котором необходимо обратить внимание на два параметра:
* события — позволяет добавить события к трансляции (в данном случае событие уже было подготовлено ранее в шагах выше);
* события — позволяет добавить события к трансляции (в данном случае событие уже было подготовлено ранее в шагах выше);
* следующая страница — позволяет выбрать на какую страницу будет происходить переключение или зациклить страницу саму в себе при наличии события.
* следующая страница — позволяет выбрать на какую страницу будет происходить переключение, или зациклить страницу саму в себе при наличии события.
[[File:Нужные_параметрыстраницы.png|thumb|center| Пример отображения параметров на странице настроек|800px]]
[[File:Нужные_параметрыстраницы.png|thumb|center| Пример отображения параметров на странице настроек|800px]]
==== '''Добавление события в трансляцию''' ====
==== '''Добавление события в трансляцию''' ====
Чтобы добавить готовое событие пользователю необходимо кликнуть на иконку «+».
Чтобы добавить готовое событие пользователю необходимо нажать на иконку «+».
[[File:Иконка плюс.png|thumb|center| Пример отображения иконки для добавления события|800px]]
[[File:Иконка плюс.png|thumb|center| Пример отображения иконки для добавления события|800px]]
После клика по иконке откроется новое модальное окно в котором необходимо перейти в блок «Выбор события из списка» и кликнуть на нужное событие.
После клика по иконке откроется новое модальное окно, в котором необходимо перейти в блок «Выбор события из списка» и кликнуть на нужное событие.
[[File:Выбор_события_из_списка.png|thumb|center| Пример отображения блока «Выбор события из списка»|800px]]
[[File:Выбор_события_из_списка.png|thumb|center| Пример отображения блока «Выбор события из списка»|800px]]
После выбора нужного события пользователя вернет на страницу с настройками, а ниже добавит отобразится выбранное событие.
После выбора нужного события, пользователя вернёт на страницу с настройками, а ниже отобразится выбранное событие.
{{Note|Добавленное событие можно удалить по отдельной иконке в виде мусорной корзины.|warn}}
{{Note|Добавленное событие можно удалить по отдельной иконке в виде мусорной корзины.|warn}}
[[File:Событие_и_удалить.png|thumb|center| Пример отображения добавленного события к странице|800px]]
[[File:Событие_и_удалить.png|thumb|center| Пример отображения добавленного события к странице|800px]]
Для применения настроек необходимо нажать на кнопку «Сохранить» в нижней части экрана. Если выбранные настройки применять не нужно кликнуть на кнопку «Отменить» слева.
Для применения настроек необходимо нажать на кнопку «Сохранить» в нижней части экрана. Если выбранные настройки применять не нужно, кликнуть на кнопку «Отменить» слева.
[[File:Отменить_и_сохранить.png|thumb|center| Пример отображения кнопки «Сохранить»|800px]]
[[File:Отменить_и_сохранить.png|thumb|center| Пример отображения кнопки «Сохранить»|800px]]
=== '''Изменение настроек личного кабинета SmartPlayer''' ===
=== '''Изменение настроек личного кабинета SmartPlayer''' ===
Для корректной работы событий пользователям необходимо будет зайти в раздел «Настройки» личного кабинета в двух случаях:
Для корректной работы событий пользователям необходимо будет зайти в раздел «Настройки» личного кабинета в двух случаях:
# Создания и получения API-ключа для POST-запроса к серверу SmartPlayer.
# Создания и получения API-ключа для POST-запроса к серверу SmartPlayer.
# Настроить количество отображаемых событий в категории «События трансляции».
# Настроить количество отображаемых событий в категории «События трансляций».
== '''Изменения серверной логики''' ==
== '''Изменения серверной логики''' ==
Новая реализация подразумевала также и переделку серверного приложения. На данный момент серверное приложение принимает вебхуки (webhook) через POST-запрос по API, которая позволяет серверу клиента обращаться к серверу SmartPlayer. Для формирования POST-запроса на вебхук (webhook) пользователю необходимо передать объект в котором есть event_id и value для корректной работы событий, а также те параметры которые были выбраны в качестве ключа события. Также необходимо добавить API-ключ, который генерируется в личном кабинете SmartPlayer. Токен API-ключа добавляется в post-запрос параметром "token".<br>
Новая реализация подразумевала также и переделку серверного приложения. На данный момент серверное приложение принимает вебхуки (webhook) через POST-запрос по API, который позволяет серверу клиента отправлять запросы на сервер SmartPlayer. Для формирования POST-запроса на вебхук (webhook) пользователю необходимо передать объект, в котором есть event_id и value для корректной работы событий, а также выбранные в качестве ключа события параметры. Также необходимо добавить API-ключ, который генерируется в личном кабинете SmartPlayer. Токен API-ключа добавляется в POST-запрос параметром "token".<br>
Например: <code>api/v2/broadcast-event?token=smartuser-d86f05c6-2e3a-4c15-931f-2b8f5ec249ab</code><br><br>
Например: <code>api/v2/broadcast-event?token=smartuser-d86f05c6-2e3a-4c15-931f-2b8f5ec249ab</code><br><br>


Строка 129: Строка 129:
* путь вебхука: api/v2/broadcast-event
* путь вебхука: api/v2/broadcast-event
* параметр токена: token=smartuser-d86f05c6-2e3a-4c15-931f-2b8f5ec249ab
* параметр токена: token=smartuser-d86f05c6-2e3a-4c15-931f-2b8f5ec249ab
Из описанных выше частей собирается полноценные запрос описанный в примере.<br><br>
Из описанных выше частей собирается полноценный запрос показанный в примере.<br><br>
 
'''Пример (отправка POST-запроса)''': https://develop.smartplayer.org/api/v2/broadcast-event?token=smartuser-d86f05c6-2e3a-4c15-931f-2b8f5ec249ab<br><br>
'''Пример (отправка POST-запроса)''': https://develop.smartplayer.org/api/v2/broadcast-event?token=smartuser-d86f05c6-2e3a-4c15-931f-2b8f5ec249ab<br><br>
В личном кабинете можно получить следующие данные:
В личном кабинете можно получить следующие данные:
* ключ события (процесс создания описан в создании события выше)
* ключ (процесс создания описан в создании события выше)
* идентификатор события (процесс описан в параметрах события выше)
* идентификатор (процесс описан в параметрах события выше)
* получение API-ключа в личном кабинете SmartPlayer (с процессом создания API-ключа можно ознакомиться [https://wiki.smartplayer.org/index.php/%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_API_%D0%B2_%D0%BB%D0%B8%D1%87%D0%BD%D0%BE%D0%BC_%D0%BA%D0%B0%D0%B1%D0%B8%D0%BD%D0%B5%D1%82%D0%B5 здесь].
* получение API-ключа в личном кабинете SmartPlayer (с процессом создания API-ключа можно ознакомиться [https://wiki.smartplayer.org/index.php/%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_API_%D0%B2_%D0%BB%D0%B8%D1%87%D0%BD%D0%BE%D0%BC_%D0%BA%D0%B0%D0%B1%D0%B8%D0%BD%D0%B5%D1%82%D0%B5 здесь].
== '''Дополнительная информация''' ==
== '''Дополнительная информация''' ==
Если данная статья не помогает использовать функционал по назначению или после ее прочтения остаются вопросы, их можно озвучить в разделе "Обсуждения" вверху страницы.
Если данная статья не помогает использовать функционал по назначению или после её прочтения остаются вопросы, их можно озвучить в разделе "Обсуждения" вверху страницы.
[[File:Обсуждение_велотрек.png|thumb|center| Пример отображения вкладки «Обсуждения» на wiki-странице |800px]]
[[File:Обсуждение_велотрек.png|thumb|center| Пример отображения вкладки «Обсуждения» на wiki-странице |800px]]
Также дополнительную информацию можно узнать на странице [[Как взаимодействовать пользователю с разделом "Обсуждения"]]
Также дополнительную информацию можно узнать на странице [[Как взаимодействовать пользователю с разделом "Обсуждения"]]

Версия от 16:16, 15 октября 2025

Описание ситуации

В рамках реализации проекта видеоаналитики для велотрека была переработана логика работы событий на платформе SmartPlayer. Ранее логика работы событий привязывалась к одной конкретной трансляции. Для каждой трансляции нужно создавать своё, отдельное событие, и переиспользовать его в других трансляциях нельзя. После переработки появилась категория в разделе «Трансляции» («События трансляций»), в которой можно создавать события и впоследствии привязывать их к нужным трансляциям. Таким образом появляется логируемый список событий, который можно создавать, настраивать, хранить и привязывать к нужным трансляциям.

Сценарий использования

Для правильной работы с событиями рекомендуется придерживаться следующего сценария использования функциональности:

  1. Подготовить для дальнейших (идентификатор события, API-ключ, json-файл, событие, трансляцию).
  2. Создать событие в категории «События трансляций» (добавить json-файл в качестве ключа и взять из события идентификатор).
  3. Подготовить API-ключ из личного кабинета SmartPlayer.
  4. Подготовить POST-запрос по API с идентификатором события.
  5. Создать трансляции с привязкой к событиям.
  6. Привязать созданные трансляции к нужным устройствам.

Важная информация

Новая логика работы событий реализована параллельно со старой. Со старой логикой работы событий можно ознакомиться здесь. В старой логике нельзя использовать в качестве ключа события «Внешний источник». Данный ключ доступен только в новой реализации при условии, что событие создается в категории «События трансляций».

Приоритеты событий

В личном кабинете SmartPlayer реализовано три вида приоритетов:

  1. Низкий;
  2. Средний;
  3. Высокий.
Пример списка приоритетов

Логика работы приоритетов следующая:

  • если текущее событие ниже по приоритету, чем то, которое произошло, то произойдет переключение на событие с более высоким приоритетом.
  • если текущее событие имеет приоритет выше, чем то, которое произошло, то переключения события не произойдет.
  • если текущее событие и следующее событие имеют одинаковый приоритет, то они проиграются по очереди.

Доработка платформы SmartPlayer

Для реализации данного проекта разработчикам команды SmartPlayer понадобилось изменить реализацию на стороне:

  • личного кабинета;
  • серверного приложения.

Категория «События трансляций»

Категория «События трансляций» располагается в личном кабинете в разделе «Трансляция».

Пример отображения категории «События трансляций» в разделе «Трансляции»

Перейдя в категорию «События трансляций», пользователю откроется главная страница раздела, которая разделена на два блока:

  1. События трансляций — включает в себя все созданные события.
  2. Журнал событий трансляций — список с подробным описанием использования событий.
Пример отображения главной страницы категории «События трансляций»
Выделенные с помощью чекбокса события отображаются в правой части экрана.
Пример отображения главной страницы категории «События трансляций»

Для выделенных событий доступно два действия:

  1. Отменить выбор — снимает чекбокс (галочку) выделения со всех устройств.
  2. Удалить — стирает сущность выделенных событий из списка, а также записи о событиях с сервера.
Пример отображения функций для взаимодействия с выделенными устройствами

События трансляции

Блок «События трансляции» включает в себя следующую информацию и возможности:

  • кнопка «Создать» — позволяет создать событие и впоследствии прикрепить его к трансляции;
  • чекбокс для выделения — выделяет нужное событие;
  • название — отображается текстовое название события;
  • тип события — отображается тип имеющегося события;
  • ключ — отображается ключ, используемый для события;
  • значение — численное значение для события;
  • приоритет — отображается текстом приоритет события;
  • кнопка «Отправить» — кнопка, помогает тестировать привязанные события к трансляции (эмулирует это событие виртуально) и отображает событие на экране. При корректной настройке трансляции и события кнопка «Отправить» переключит событие, если его приоритет выше, чем у текущего события.
Для более удобного поиска событий пользователь может обратиться в систему поиска.
Пример отображения системы поиска

Кнопка «Создать»

Кнопка «Создать» открывает модальное окно, в котором пользователю необходимо заполнить поля для создания события. Доступны следующие основные поля:

  • название — прописать текстовое название события;
  • приоритет — выставить приоритет события. Доступно три вида: низкий, средний, высокий;
  • тип события — выбрать из раскрывающегося списка нужный тип события (в данном случае «Серверное приложение»)
Пример отображения списка основных параметров

После выбора в качестве типа события значения «Серверное приложение» появится ещё один параметр — «Ключ». Это параметр отвечает за поиск события со стороны сервера. В текущей реализации необходимо выбрать в качестве ключа «Внешний источник».

В старой логике работы событий такого ключа для события типа «Серверное приложение» нет и его невозможно выбрать.
Пример отображения ключа «Внешний источник»

Выбрав «Внешний источник» в качестве ключа пользователь увидит, что модальное окно увеличилось ещё больше и появились новые параметры.

Пример отображения дополнительных параметров

Это параметры:

  • модель исходящих данных — позволяет перенести с помощью drag-n-drop (перетаскивания файла) json-файл, который будет расшифрован и выбрать (с помощью клика по значению) в этом файле нужное поле. Это поле будет ориентиром для сервера для получения данных. Клик по значению автоматически заполнит поле «Значение».
  • целевой путь к значению в json — отображает «путь» до значения в добавленном json-файле. Выставляется автоматически по клику на любом значении из подгруженного json-файла. Это поле нельзя изменить.
  • значение — поле в котором необходимо указать значение вручную или с помощью клика по значению в json-файле.
Пример отображения заполненного поля «Значение»
Поля «Целевой путь» и «Значение» после выделения кликом в json-файле определяются автоматически, но также «Значение» можно ввести вручную.

Выбор события

Выбор события осуществляется по клику. При клике на событие оно подсвечивается серым цветом, а в правой части экрана появляется панель с настройками события.

Пример отображения панели настроек для события

Панель включает в себя следующие настройки:

  • информация — по клику открывает модальное окно с данными о: названии, типе, целевом пути, ключе и значении события.
Пример отображения данных настройки «Информация»
  • параметры запроса — по клику открывает модальное окно с данными об имени сервера, методе для запроса, идентификаторе события.
Пример отображения данных настройки «Параметры запроса»
  • редактировать — по клику открывает модальное окно с параметрами, которые настраивались при создании события
Пример отображения системы поиска
  • удалить — удаляет выбранное событие.

Журнал событий

Блок «Журнал событий» включает в себя все созданные события, и передает о них следующую информацию:

  • название — текстовое название события;
  • тип события — наименование типа события;
  • ключ — тип ключа используемого для события;
  • значение — отображается значение ключа зашитое в событие;
  • приоритет — выбранные приоритет для события;
  • дата и время — дата и время создания события;
  • статус — отображается статус работы события.
Для более удобного поиска событий пользователь может обратиться в систему поиска.
Пример отображения системы поиска

В правой части экрана есть оповещение для пользователей, которое передаёт информацию о длительности хранения записей в журнале - 30 дней.

Пример отображения оповещения с информацией

Количество отображаемых событий в личном кабинете

Если пользователю необходимо подготовить и добавить множество событий, можно столкнуться с неудобствами их отображения на странице «Журнал событий». Чтобы этого избежать, пользователю необходимо перейти в раздел «Настройки» личного кабинета и найти пункт «События трансляций».

Пример отображения раздела «Настройки» и пункта «События трансляций»

Развернув этот пункт отобразится поле «Отображение меню в правой панели». В этом поле необходимо установить числовое значение. Какое значение пользователь выставит в поле - столько записей в журнале события будет отображаться.

Пример отображения строки с заполненным значением

Создание трансляции

Пользователь в личном кабинете переходит в раздел «Трансляция» и выбирает категорию «Создать».

Пример отображения раздела «Трансляция» и категории «Создать» в личном кабинете SmartPlayer

Дальше необходимо создать нужное количество страниц и на каждой выбрать зону с помощью функционала «Добавить зону».

Пример отображения добавленных страниц и зон в трансляцию

Настроив количество страниц и зон пользователь должен открыть «Настройки страницы» кликом по иконке.

Пример отображения иконки «Настройки страницы»

В правой части экрана откроется список настроек, в котором необходимо обратить внимание на два параметра:

  • события — позволяет добавить события к трансляции (в данном случае событие уже было подготовлено ранее в шагах выше);
  • следующая страница — позволяет выбрать на какую страницу будет происходить переключение, или зациклить страницу саму в себе при наличии события.
Пример отображения параметров на странице настроек

Добавление события в трансляцию

Чтобы добавить готовое событие пользователю необходимо нажать на иконку «+».

Пример отображения иконки для добавления события

После клика по иконке откроется новое модальное окно, в котором необходимо перейти в блок «Выбор события из списка» и кликнуть на нужное событие.

Пример отображения блока «Выбор события из списка»

После выбора нужного события, пользователя вернёт на страницу с настройками, а ниже отобразится выбранное событие.

Добавленное событие можно удалить по отдельной иконке в виде мусорной корзины.
Пример отображения добавленного события к странице

Для применения настроек необходимо нажать на кнопку «Сохранить» в нижней части экрана. Если выбранные настройки применять не нужно, кликнуть на кнопку «Отменить» слева.

Пример отображения кнопки «Сохранить»

Изменение настроек личного кабинета SmartPlayer

Для корректной работы событий пользователям необходимо будет зайти в раздел «Настройки» личного кабинета в двух случаях:

  1. Создания и получения API-ключа для POST-запроса к серверу SmartPlayer.
  2. Настроить количество отображаемых событий в категории «События трансляций».

Изменения серверной логики

Новая реализация подразумевала также и переделку серверного приложения. На данный момент серверное приложение принимает вебхуки (webhook) через POST-запрос по API, который позволяет серверу клиента отправлять запросы на сервер SmartPlayer. Для формирования POST-запроса на вебхук (webhook) пользователю необходимо передать объект, в котором есть event_id и value для корректной работы событий, а также выбранные в качестве ключа события параметры. Также необходимо добавить API-ключ, который генерируется в личном кабинете SmartPlayer. Токен API-ключа добавляется в POST-запрос параметром "token".
Например: api/v2/broadcast-event?token=smartuser-d86f05c6-2e3a-4c15-931f-2b8f5ec249ab

Запрос по адресу состоит из следующих частей:

  • адрес сервера: https://develop.smartplayer.org/
  • путь вебхука: api/v2/broadcast-event
  • параметр токена: token=smartuser-d86f05c6-2e3a-4c15-931f-2b8f5ec249ab

Из описанных выше частей собирается полноценный запрос показанный в примере.

Пример (отправка POST-запроса): https://develop.smartplayer.org/api/v2/broadcast-event?token=smartuser-d86f05c6-2e3a-4c15-931f-2b8f5ec249ab

В личном кабинете можно получить следующие данные:

  • ключ (процесс создания описан в создании события выше)
  • идентификатор (процесс описан в параметрах события выше)
  • получение API-ключа в личном кабинете SmartPlayer (с процессом создания API-ключа можно ознакомиться здесь.

Дополнительная информация

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

Пример отображения вкладки «Обсуждения» на wiki-странице

Также дополнительную информацию можно узнать на странице Как взаимодействовать пользователю с разделом "Обсуждения"