Детектор черного экрана: различия между версиями
м (N.Bloshkin переименовал страницу "Детектор" черного экрана в "Детектор" черного экрана (Пользователь)) |
Нет описания правки |
||
Строка 4: | Строка 4: | ||
<!--T:2--> | <!--T:2--> | ||
=== '''Причина''' === | === '''Причина''' === | ||
В устройствах, работающих на местах во время проигрывания контента, появляется «чёрный экран». При этом трансляция в личном кабинете продолжает работать. | В устройствах, работающих на местах во время проигрывания контента, появляется «чёрный экран». При этом трансляция в личном кабинете продолжает работать. Эта проблема может возникнуть по нескольким причинам: | ||
* Из-за ошибок при запуске трансляции. В итоге пользователь видит placeholder. | |||
* Пользователь загрузил видео, которое использует кодек не поддерживаемый программой | |||
* Проблемы с клиентским приложением (баг) | |||
Поэтому было решено сделать автоматизированное решение, которое поможет более оперативно оповещать и работать с этой проблемой. | |||
=== '''Концепт решения''' === | === '''Концепт решения''' === | ||
У каждого | Для решения проблемы и ее автоматизации было решено создать «Детектор черных экранов». Его функция – заранее предупреждать нас о случившейся на конкретном устройстве проблеме. Этот функционал позволяет работать нам проактивно и не ждать оповещения о проблеме от клиента. | ||
{{Note|Данный функционал не доступен пользователю в личном кабинете. Обратитесь для его включения к системному администратору.}} | |||
=== '''Принципе действия''' === | |||
У каждого компании работающей в нашем приложении есть свой персональный ID. Его можно найти в личном кабинете. К этому ID привязываются все устройства компании.<br> | |||
После запуска детектора возможно получить два вида ответа: | При возникновении ошибки с «чёрным» экраном, на одном или нескольких устройствах наш сервер отправляет «ивент» на эти устройства. Устройство этот «ивент» запускает. В момент запуска «ивента» «детектор» делает скриншот. И по этому скриншоту проверяется наличие «черного» экрана.<br> | ||
После запуска детектора возможно получить два вида ответа: | |||
# После запуска «ивента» черного экрана нет - система продолжает работу в штатном режиме. | # После запуска «ивента» черного экрана нет - система продолжает работу в штатном режиме. | ||
# После запуска «ивента» чёрный экран обнаружен - сервер отправляет повторный, проверочный "ивент". Промежуток для повторной отправки | # После запуска «ивента» чёрный экран обнаружен - сервер отправляет повторный, проверочный "ивент". Промежуток для повторной отправки составляет 10 секунд. | ||
Если | Если вариант «2» подтверждает наличие проблемы, то со стороны сервера отправляется уведомление на почту. Очень важно, чтобы указанная почта была привязана к серверу, иначе уведомления о проблеме приходить не будут. | ||
=== '''Итоговый результат''' === | === '''Итоговый результат''' === | ||
После получения информации о проблеме начинается оперативное ее решение. Таким образом мы всегда знаем о проблеме первые и не заставляем лишний раз беспокоиться наших клиентов. | |||
Версия от 11:45, 3 августа 2023
Описание ситуации
У пользователя начались проблемы с трансляциями. Во время воспроизведения трансляций на устройствах контент прерывается и появляется «чёрный экран. Из-за пользователь недоволен нашей работой и продуктом.
Причина
В устройствах, работающих на местах во время проигрывания контента, появляется «чёрный экран». При этом трансляция в личном кабинете продолжает работать. Эта проблема может возникнуть по нескольким причинам:
- Из-за ошибок при запуске трансляции. В итоге пользователь видит placeholder.
- Пользователь загрузил видео, которое использует кодек не поддерживаемый программой
- Проблемы с клиентским приложением (баг)
Поэтому было решено сделать автоматизированное решение, которое поможет более оперативно оповещать и работать с этой проблемой.
Концепт решения
Для решения проблемы и ее автоматизации было решено создать «Детектор черных экранов». Его функция – заранее предупреждать нас о случившейся на конкретном устройстве проблеме. Этот функционал позволяет работать нам проактивно и не ждать оповещения о проблеме от клиента.
Принципе действия
У каждого компании работающей в нашем приложении есть свой персональный ID. Его можно найти в личном кабинете. К этому ID привязываются все устройства компании.
При возникновении ошибки с «чёрным» экраном, на одном или нескольких устройствах наш сервер отправляет «ивент» на эти устройства. Устройство этот «ивент» запускает. В момент запуска «ивента» «детектор» делает скриншот. И по этому скриншоту проверяется наличие «черного» экрана.
После запуска детектора возможно получить два вида ответа:
- После запуска «ивента» черного экрана нет - система продолжает работу в штатном режиме.
- После запуска «ивента» чёрный экран обнаружен - сервер отправляет повторный, проверочный "ивент". Промежуток для повторной отправки составляет 10 секунд.
Если вариант «2» подтверждает наличие проблемы, то со стороны сервера отправляется уведомление на почту. Очень важно, чтобы указанная почта была привязана к серверу, иначе уведомления о проблеме приходить не будут.
Итоговый результат
После получения информации о проблеме начинается оперативное ее решение. Таким образом мы всегда знаем о проблеме первые и не заставляем лишний раз беспокоиться наших клиентов.