Мультимедийная информация, такая как видео в режиме реального времени, может быть полезна операторам экстренных служб в критических ситуациях. Например:
- Автомобильные аварии: видеозапись с места происшествия в режиме реального времени может помочь им понять, какие транспортные средства участвовали в ДТП.
- Пожары: Чтобы понять масштабы возгорания и причиненный ущерб.
- Медицинские чрезвычайные ситуации: Инструктаж по проведению сердечно-легочной реанимации для спасения жизни.
Теперь система ELS может перехватывать SMS-сообщения, инициированные оператором, с запросом на видеосвязь в режиме реального времени и предоставлять интегрированное видео. Поскольку это предназначено специально для чрезвычайных ситуаций, преимущество заключается в том, что разрешение на использование камеры должно быть предварительно предоставлено на время чрезвычайной ситуации.
Наши основные цели при создании этой функции — предоставить пользователям:
- Беспроблемная прямая видеотрансляция без сложных разрешений.
- Стабильный пользовательский опыт для всех пользователей Android
Как это работает

Руководство по интеграции
1. Получение
После обновления конфигурации ELS для включения воспроизведения видео в реальном времени вы начнете получать поле live_video_token в сообщениях HTTPS ELS, если телефон пользователя поддерживает эту функцию. Функция поддерживается устройствами на базе Android 8 Oreo и более поздних версий.
Токен — это сгенерированный на устройстве идентификатор, который меняется при каждом звонке или сообщении и состоит из:
- 6 случайных символов
- Буквенно-цифровой
- Заглавные буквы
2. Приглашение
После обнаружения токена передайте его в URL-адресе, например, в качестве параметра URL, в SMS-сообщении, содержащем ссылку на ваш видеопоток, например: https://example.com/live?token=AFZ791 . ELS будет обнаруживать входящие SMS-сообщения во время экстренных вызовов или SMS-сообщений и искать соответствующий токен для просмотра видео в прямом эфире, в данном случае: AFZ791 .
Когда устройство обнаружит действительный URL-адрес и токен, пользователю будет показано диалоговое окно с вопросом, хочет ли он принять запрос. Если он нажмет Accept , ссылка, отправленная в SMS-запросе, откроется во встроенном веб-интерфейсе.
3. Возможность просмотра видео в режиме реального времени.
Ваша ссылка для прямой видеотрансляции должна поддерживать два режима работы:
А. Работа через веб-браузер:
Это может включать в себя, например, ваш собственный пользовательский интерфейс:
- Кнопки
- Запросы на определение местоположения
- Диалоги и согласия
Б. Комплексный опыт:
Для этого вам необходимо:
- Удалите все кнопки, так как сенсорные события работать не будут.
- Начните просмотр видеопотока напрямую, без диалоговых окон.
Обнаружение
Вы можете определить интегрированный режим, наблюдая за пользовательским агентом, содержащим Live .
Пример пользовательского агента в мобильном браузере: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36
Пример пользовательского агента в интегрированном интерфейсе WebView: Mozilla/5.0 (Linux; Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/125.000 Mobile Safari/537.36 Live/25.23.10
В JavaScript этого можно добиться следующим образом:
if (navigator.userAgent.includes("Live")) {
<!-- Render integrated experience -->
} else {
<!-- Render your your own custom UI -->
}
Разрешения
- Для встроенной функции просмотра видео в реальном времени необходимо предварительно предоставить разрешение на использование камеры; запрос на это следует отправить обычным способом через JavaScript.
- Разрешение на доступ к местоположению, аудио и другим данным будет автоматически отклонено.
Крючки
Для обеспечения наилучшего пользовательского опыта в интегрированном интерфейсе будут предусмотрены элементы управления для переключения камеры и включения/выключения фонарика.
| Название функции | Возвращаться | Описание | |
|---|---|---|---|
| Камера | switchCamera | Promise<bool> | При загрузке запустите камеру заднего вида (режим съемки = окружающая среда), поскольку она наиболее полезна в чрезвычайных ситуациях. Переключайтесь между доступными камерами каждый раз при вызове функции. Верните true в случае успешного переключения камеры. |
| Фонарик | toggleFlashlight | Promise<bool> | При каждом вызове функции включать и выключать фонарик. В случае успешного включения/выключения фонарика вернуть true . |
| Фонарик | isFlashlightAvailable | bool | Возвращает true или false в зависимости от наличия фонарика для текущего режима камеры. После вызова функции switchCamera предполагается, что возвращаемое значение отражает обновленное состояние доступности, как только Promise switchCamera разрешится. |
| Фонарик | isFlashlightOn | bool | Возвращает true когда фонарик включен, false в противном случае. После вызова метода toggleFlashlight предполагается, что возвращаемое значение отражает обновленное состояние включения фонарика, как только Promise метода toggleFlashlight разрешится. |