Translations:"Детектор" черного экрана (Системный администратор)/3/ru
Концепт решения
Для решения проблемы было решено создать автоматический «Детектор» черного экрана. Он уведомляет о проблемах с контентом на устройстве и оповещает о случившейся ситуации в личном кабинете.
Принцип действия
У каждого клиента/компании есть свой ID связанный с сервером. ID указан в личном кабинете и к нему привязываются все устройства компании.
После запуска функционала сервер с определенным промежутком по времени отправляет на устройства «ивент».
Запуская «ивент» устройство с помощью детектора проверяет наличие "черного" экрана, делая скриншот во время запуска.
После запуска детектора возможно получить два определенных результата:
- После запуска «ивента» черного экрана нет - система продолжает работу в штатном режиме.
- После запуска «ивента» чёрный экран обнаружен - сервер отправляет повторный, проверочный "ивент".
Промежуток для повторной отправки "ивента" составляет 10 секунд.
Если же и во второй раз отправляется черный экран, то со стороны сервера отправляется письмо на почту, о наличии проблемы.
Подготовка
Системный администратор должен настроить серверное приложение по двум параметрам:
- Запуск и функционирование детектора "чёрного" экрана
- Настройка отправки письма с ошибкой на почту
Принцип действия
Если серверное приложение обнаружило черный экран, оно отправляет на почту письмо.
Итогом этой проверки станет сообщение на почту с оповещение о проблеме.
Для подтверждения проверки работоспособности функционала через личный кабинет системный администратор может поставить черную картинку. Сервер продолжает отправляет оповещения пока проблема не будет исправлена или же пока не будет выключен функционал.
Впоследствии системный администратор должен принять меры для устранения проблемы.
Тонкости и нюансы при работе функционала
1. Для правильного работы необходимо чтобы placeholder с белой точкой воспринимался как черный экран. Поэтому используется не абсолютная проверка.
2. Актуально только при проигрывании видео. При наличии root прав на устройстве – детектор работает нормально. Но, если, на устройстве нет root прав, детектор не сможет сделать скриншот.
Исключения:
Скриншот доступен:
- Если приложение подписано «подписью разработчика» (уровень прав – Signage).
- Некоторые устройства (Vestel, Hikvision, Phillips) могут сделать скриншот без root прав из-за особенностей прошивки.
3. Если пользователь попробует сделать скриншот без root прав, то создается «пустой скриншот» с надписью «Идёт воспроизведение видео. Отсутствуют права для снятия скриншота».
4. Информация от сервера к разработчикам отправляется через "ивент". Внутри отправленного «ивента» сервер ждет callback от разработчиков.
5. Тайм – аут “Callback” по умолчанию на сервере составляет – 30 секунд.