Как Android повышает вовлечённость пользователей в приложениях для видеонаблюдения — обложка

Главные тезисы

Вовлечённость пользователя определяется в первые 500 мс. Плитка с камерой должна открываться быстрее двух секунд — задержка в одну секунду снижает конверсию на 7%. Android-приложения для видеонаблюдения, которые удерживают пользователей, выигрывают за счёт скорости: WebRTC (задержка менее 500 мс), ExoPlayer/Media3 и аппаратного ускорения кодеков.

Умные уведомления лучше, чем их большое количество. AI-фильтрация движения (человек, питомец или шевеление листьев) превращает 40 алертов в день в 3 действительно важных уведомления и повышает удержание на 30-й день с базовых 6% по отрасли до 30–40% — это уровень верхнего квартиля.

Тип foreground-сервиса — обязательное требование на Android 14+. Начиная с API 34 нужно явно указывать тип сервиса camera или mediaPlayback; без этого сборку не пропустит Play Store.

RTSP на приёме, WebRTC на доставке — выигрышная архитектура. Камеры используют RTSP, а пользователям нужна скорость воспроизведения, как в WebRTC. Мост с задержкой менее 500 мс — это то, что делает приложение, которое открывают по 4 раза в день, а не то, которое удаляют уже на второй неделе.

Фора Софт реализовала этот стек в продакшене. Наш проект VALT обслуживает 2 500 IP-камер, 25 000 пользователей в день и 650 организаций, включая полицейские департаменты США и центры медицинского образования. Приведённые ниже закономерности по вовлечённости — то, что мы реально видим в работе с ключевыми показателями эффективности.

Зачем Фора Софт написала это руководство

Мы зарабатываем разработкой программного обеспечения для видеонаблюдения. Девятнадцать лет наша команда создаёт продукты для систем видеонаблюдения, видеоконференций и телемедицины — более 600 реализованных проектов, 100% успешных завершений на Upwork, свыше 400 честных отзывов от клиентов. Android-решения для видеонаблюдения находятся на стыке трёх сложных задач: стриминг с минимальной задержкой, фоновая работа с учётом расхода батареи и поддержание интереса пользователя — чтобы он действительно открывал приложение каждый день.

Реальное подтверждение — V. A. L. T., система видеонаблюдения, которую мы разработали совместно с Intelligent Video Solutions. Сегодня она работает с 2 500 IP-камерами, обслуживает 25 000 пользователей в день и используется в 650 организациях: комнатах допросов в полиции США, лабораториях медицинской симуляции, центрах защиты детей. Android-приложение BEAM превращает любой смартфон в устройство видеонаблюдения и передаёт поток на ту же панель управления. Каждый шаблон вовлечённости из этого руководства был протестирован на этой кодовой базе.

Эта статья — не просто список возможностей. Это то, что мы рассказываем клиентам на первой встрече по оценке проекта, когда они спрашивают, почему у их приложения для мониторинга удержание падает до 12% на седьмой день — и что именно мы делаем, чтобы вернуть эту цифру обратно.

Застряли с приложением для видеонаблюдения, которое пользователи открывают раз в неделю?

Расскажите, как устроен ваш текущий стек, — за 30 минут мы покажем, что снижает вовлечённость и сколько стоит это исправить.

Позвоните нам → Напишите нам →

Как выглядит хорошая вовлечённость в 2026 году

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

Метрика Среднее по индустрии Здоровый уровень Верхний квартиль Что на это влияет
Удержание на день 1 25% 35% 40%+ Онбординг и время до подключения первой камеры
Удержание на день 7 10% 18% 25%+ Соотношение сигнал/шум в уведомлениях
Удержание на день 30 6% 15% 30–40% Реальная ценность каждого алерта, отклик через PTZ и двустороннюю связь
Stickiness DAU/MAU 13% 20% 25–50% Сценарии возврата по событиям
Время до первого кадра в плитке 3,0 с < 2,0 с < 0,8 с WebRTC/LL- HLS, прогретый сокет, аппаратное декодирование
Доля открытий уведомлений 8–12% 18% 30%+ AI-фильтрация, объединённые сводки

Самая полезная цифра — stickiness DAU/MAU. Социальные сети обычно держатся на уровне 50%, потому что люди заходят в Instagram каждый день по привычке. Для приложения мониторинга 20% — это хороший показатель, ведь в большинстве дней ничего не происходит, и это нормально. Всплески выше 25% обычно говорят о том, что ваши алерты работают.

Задержка — это фича: выбирайте подходящий стек протоколов

Любая метрика вовлечённости обнулится, если плитка с камерой загружается четыре секунды. Пользователь нажимает, ждёт, закрывает — и больше не возвращается. Поэтому самое первое архитектурное решение — транспортный слой от камеры до телефона. В 2026 году таблица протоколов выглядит так:

Протокол Задержка «стекло — стекло» Android-клиент Масштабирование Где применять
WebRTC ~300 мс libwebrtc (интеграция с Media3) Среднее (нужен SFU) Live-плитка, двусторонний разговор, управление PTZ
LL-HLS 2–5 с ExoPlayer / Media3 Без ограничений (CDN) Публичные потоки для многих зрителей
HLS (стандартный) 8–12 с ExoPlayer / Media3 Без ограничений (CDN) Просмотр записей, архив
RTSP < 500 мс Свой клиент / libVLC Низкое (прямое подключение) Приём с камер (на стороне сервера)
SRT 1–2 с Свой клиент Точка — точка Аплинк с камеры по нестабильной сети

Берите мост RTSP-вход → WebRTC-выход, если: ваши IP-камеры поддерживают ONVIF/RTSP «из коробки», а пользователи хотят, чтобы плитка с видео на Android открывалась по тапу быстрее секунды. Такой подход используется практически в любом современном решении для видеонаблюдения. Именно на этой архитектуре построен наш проект VALT.

На практике редко используется только один протокол. Канонический стек — RTSP на стороне сервера, WebRTC для доставки видео на Android и просмотра в реальном времени, HLS для перемотки архивных записей. Media3 — библиотека AndroidX, пришедшая на смену ExoPlayer и теперь поддерживаемая Google, — нативно поддерживает HLS и DASH. Для работы с WebRTC используется либо libwebrtc, либо управляемый SFU: Janus, mediasoup или LiveKit.

Стройте движок уведомлений как полноценную функцию, а не как дополнение

Если задержка выигрывает в гонке за скорость, то уведомления решают, будет ли приложение полезным. Простое Android-приложение для видеонаблюдения, которое отправляет сигнал при каждом размытом движении с камеры, выдаст 40–80 оповещений в день на одну камеру в обычном частном доме — и его отключат уже через неделю. Кривая удержания почти полностью зависит от того, насколько хорошо вы отфильтровываете ложные срабатывания.

Четыре уровня качества уведомлений

1. Сырое движение. Срабатывает датчик, телефон вибрирует. Доля открытий — 5–8%. Пользователи отключают уведомления уже через пару дней.

2. Классификация «человек/машина/посылка». Искусственный интеллект на камере или сервере определяет, что именно движется — человек, машина или посылка. Благодаря этому доля обнаруженных событий растёт до 15–20%.

3. Зоны и расписания с учётом контекста. Пользователь рисует зону вокруг крыльца, ещё одну — вокруг подъездной дорожки, и приложение отправляет уведомления только о событиях в этих зонах и только в заданные временные окна. Доля открытий — 25–30%.

4. Объединённые уведомления с пониманием контекста. Искусственный интеллект собирает 90-секундную последовательность «курьер Amazon подошёл, поставил коробку, ушёл» в одно уведомление со сводкой («Посылка доставлена в 15:42») и шестисекундным GIF-превью. Доля открытий — 30% и выше, а главное — после нажатия сессия становится длинной.

Что необходимо реализовать на Android 14+

Уровень 4 требует трёх специфических для Android компонентов: отдельного NotificationChannel для каждого уровня важности (чтобы пользователь мог отключить уведомления о «низкоприоритетном движении», не отключая оповещения о «человеке у входной двери»), MessagingStyle/BigPictureStyle для удобного превью и корректного FullScreenIntent, который используется только для реальных случаев вторжения — Google блокирует приложения, которые злоупотребляют этим механизмом.

val channel = NotificationChannel(
    "intrusion",
    "Intrusion alerts",
    NotificationManager.IMPORTANCE_HIGH
).apply {
    setBypassDnd(true)
    enableLights(true)
    enableVibration(true)
}

val notif = NotificationCompat.Builder(ctx, "intrusion")
    .setSmallIcon(R.drawable.ic_camera)
    .setContentTitle("Person at front door")
    .setContentText("3:42 PM — 6-second preview")
    .setStyle(NotificationCompat.BigPictureStyle()
        .bigPicture(previewBitmap))
    .setFullScreenIntent(intrusionPI, true)
    .setCategory(NotificationCompat.CATEGORY_ALARM)
    .build()

Нужен AI-фильтр, который действительно отличит енота от грабителя?

Мы обучали модели распознавания объектов как на устройстве, так и на сервере для продуктов наблюдения, которыми пользуются более 650 организаций. Давайте обсудим ваш случай.

Позвоните нам → Напишите нам →

Foreground-сервисы, батарея и подводные камни Android 14+

Приложение для мониторинга, которое быстро разряжает батарею, — это приложение, которое удаляют. Начиная с Android 14 (API 34) для каждого фонового сервиса нужно явно указывать foregroundServiceType — и сама система активно завершает сервисы с неправильным типом. В Android 15 появился контроль качества по расходу батареи: Play Store отклоняет приложения, которые слишком долго удерживают wake lock.

Четыре типа, важных для этой категории:

1. camera. Используется, когда сам телефон выступает в роли записывающего устройства — такой паттерн применяет приложение BEAM в VALT, чтобы смартфон работал как точка наблюдения.

2. mediaPlayback. Используется для воспроизведения в реальном времени, когда пользователь смотрит поток на телефоне. PlayerNotificationManager из Media3 работает с этим типом напрямую.

3. dataSync. Для фоновой загрузки записанных клипов по действию пользователя используйте API User-Initiated Data Transfer (UIDT) — он не расходует квоту на wake lock.

4. remoteMessaging. Используется для push-каналов с алертами, требующих немедленной реакции — например, чтобы включить сирену или организовать звонок.

Берите планировщик с поддержкой Doze, если: приложению нужно периодически проверять камеры на предмет их работоспособности. Используйте WorkManager с экспоненциальной задержкой вместо постоянного foreground-сервиса. Держать wake lock только ради проверки статуса — главная причина, по которой Play Store помечает приложения за чрезмерное потребление батареи.

UX live-плитки: семь паттернов, которые повышают удержание

Всё выше — это инфраструктура. На самом деле пользователь видит сетку плиток с камерами, таймлайн и несколько кнопок. Вот семь паттернов, которые мы закладываем в каждое наше приложение мониторинга:

1. Предзагруженные превью плиток. Когда отрисовывается сетка, показывайте последний известный ключевой кадр в виде статичного JPEG и переключайтесь на живое видео, как только подключится WebRTC-поток. Никаких пустых чёрных прямоугольников.

2. Тап для разворота с shared-element-переходом. Android-овский MotionLayout делает анимацию «плитка → полный экран» бесплатно. Воспринимаемая задержка запуска падает, потому что пользователь уже в середине анимации, когда приходит первый кадр.

3. PTZ-жесты в полноэкранном виде. Щипок — для зума, двумя пальцами — для панорамирования. VALT показал: когда пользователям дали PTZ на мобильном, длина сессии в сценарии допросов в полиции выросла на 40%.

4. Кнопка push- to-talk. Двусторонний звук через WebRTC. Это единственная функция, которая превращает «только смотрящих» в ежедневных пользователей: крикнуть на воришку у крыльца гораздо приятнее, чем просто записать его.

5. Прокручиваемый таймлайн с AI-метками глав. Вместо длинного 24-часового таймлайна группируйте события: «Человек в 15:42», «Машина в 17:10». Пользователи просматривают день в 10 раз быстрее.

6. Picture-in-picture при навигации. enterPictureInPictureMode() оставляет поток на экране, пока пользователь идёт к двери. Длина сессии растёт, потому что не нужно возвращаться в приложение.

7. Поддержка Android TV и планшетов. Совместимость между телефоном, планшетом и Android TV позволяет приложению органично вписаться в повседневную жизнь пользователя — например, посмотреть видео на «бэбикам» на телевизоре в гостиной, пока готовишь ужин. Используйте адаптивный Jetpack Compose с самого начала разработки.

AI на устройстве, в камере или на сервере: где размещать «мозг»

Рынок движется к гибридному решению: простые классификаторы в прошивке камеры, основная обработка — в облаке, резервный вариант — на телефоне для работы без интернета. Неправильный баланс между компонентами расходует трафик, батарею или деньги.

Где работает модель Типичные возможности Задержка Структура затрат Рычаг вовлечённости
Прошивка камеры (edge) Классы «человек/машина» < 50 мс Без регулярных платежей Первичная фильтрация алертов
Android-устройство (TFLite/ML Kit) Face unlock для PTT, сводка клипа на устройстве 100–300 мс Расход батареи Офлайн-устойчивость, приватность
Серверный GPU (тяжёлые модели) Реидентификация, анализ поведения, чтение номеров 200 мс–1 с Час работы GPU Умные группы алертов, поиск
LLM (вне устройства) Сводки клипов и поиск на естественном языке 1–3 с Потоково Вовлечённость с архивом

Паттерн, который снова и снова работает в наших сборках: камера определяет «человек или машина», сервер запускает лёгкий трекер и Vision-LLM для генерации сводок на естественном языке, а Android-клиент использует TFLite для локального разблокирования по лицу и «приватного режима», когда кадры не покидают устройство. О тренировочных данных для этого подхода мы подробно писали в нашем разборе AI-видеонаблюдения.

Эталонная архитектура Android-приложения для видеонаблюдения

Если сложить вышеперечисленные части, канонический конвейер выглядит так. Каждый блок ниже — отдельный деплой, который «Фора Софт» сегодня строит и поддерживает для клиентов.

Слой Компонент Роль Типичный стек
Приём RTSP-шлюз Забирает потоки с ONVIF-камер, разделяет H.264/265 MediaMTX, GStreamer
Раздача в реальном времени SFU Рассылает WebRTC на N зрителей LiveKit, mediasoup, Janus
Архив Хранилище + HLS-упаковщик Сегменты и манифесты для перемотки S3/MinIO + ffmpeg-упаковщик
AI-конвейер Детекция объектов, трекер, генератор сводок Производит поток событий и метаданные YOLOv8/11, ByteTrack, Vision-LLM
Шина событий Pub/Sub Маршрутизирует алерты в push-распространение NATS / Kafka / Redis Streams
Push-шлюз Обёртка над FCM + Web Push Доставляет подробные уведомления Firebase Cloud Messaging
Android-приложение Сетка плиток + плеер + PTT UI на Jetpack Compose, Media3/WebRTC Kotlin + Compose + libwebrtc

Мини-кейс: VALT и Android-компаньон BEAM

Ситуация. Компания Intelligent Video Solutions обратилась к нам с платформой VALT — локальным решением для видеонаблюдения, используемым при полицейских допросах, медицинских симуляциях и интервью в центрах защиты детей. Платформа уже работала с более чем 450 организациями через десктопные браузеры, но мобильное использование было практически нулевым: операторам приходилось сидеть за компьютером, чтобы посмотреть запись.

План на 12 недель. Мы разработали и запустили BEAM — Android-приложение-компаньон, которое (а) позволяет любому уполномоченному сотруднику или специалисту открывать с телефона прямую трансляцию или запись, (б) поддерживает управление камерой (PTZ) и функцию «нажми и говори» для допросов в реальном времени и (в) превращает телефон в мобильную точку наблюдения — реализовано через сервис camera, работающий в фоне. К каждому видео прикрепляются заметки, временные метки и текстовая расшифровка с возможностью поиска по словам.

Результат. Сегодня VALT обслуживает 2 500 IP-камер, 25 000 пользователей в день, 650 организаций и приносит около 727 млн ₽ годовой выручки — а BEAM стал основным инструментом для оперативников в поле. Продукт получил признание правоохранительных органов США за скорость, с которой записи превращаются в готовое к поиску доказательство. Хотите такую же оценку для своего продукта мониторинга? Позвоните или напишите нам — обсудим за 30 минут.

Сколько на самом деле стоит Android-приложение для мониторинга уровня удержания пользователей

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

Объём Что входит Сроки Ориентировочный бюджет
MVP Android-клиента Сетка + live (Media3/HLSS), перемотка архива, push через FCM 10–14 недель От 3,3 млн ₽
+ WebRTC live + PTT + PTZ Плитки с задержкой менее 500 мс, двусторонний звук, управление поворотом, наклоном и зумом жестами +4–6 недель +1,8–2,6 млн ₽
+ AI-конвейер событий Серверная детекция, объединение событий, сводки от LLM +6–10 недель Считается по количеству камер
Поддержка продукта Релизы, изменения политик Play Store, масштабирование Ежемесячный ретейнер Team-as-a-service

Каркас решения — выберите стек за пять вопросов

Вопрос 1. Сколько одновременных зрителей на одну камеру? 1–5 — это зона WebRTC. 50+ — HLS или LL-HLS. Промежуточный диапазон — там, где SFU окупается, а при необходимости переключается на LL-HLS.

Вопрос 2. Нужен ли двусторонний звук или PTZ? Да → WebRTC обязателен. Нет → LL-HTTP дешевле и лучше масштабируется.

Вопрос 3. Ждут ли пользователи алерт в течение 2 секунд после события? Да → серверный AI-конвейер + высокоприоритетный канал FCM. Нет → достаточно классификатора в прошивке камеры.

Вопрос 4. Регулируемая отрасль (HIPAA, CJIS, GDPR, SOC 2)? Да → локальное развёртывание или single-tenant-облако, шифрование данных в покое и при передаче, аудит-лог как полноценная функция. Закладывайте дополнительно 15–25% на работу по соответствию требованиям.

Вопрос 5. Должен ли сам телефон быть камерой? Да → foreground-сервис типа camera + CameraX + собственный WebRTC-паблишер. Это и есть паттерн BEAM.

Пять ловушек, которые на второй месяц убивают вовлечённость

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

2. Постоянный wake lock ради «всегда включённого мониторинга». Контроль Android 15+ отклонит такое приложение. Используйте push-уведомления + JobScheduler.

3. Чёрные плитки в момент установления потока. Сначала всегда показывайте последний JPEG-кадр, а переход на видео выполняйте только после его готовности. Воспринимаемое время ожидания снижается с 2 до 0 секунд.

4. Отсутствие офлайн-режима. Когда у пользователя пропадает Wi-Fi, а приложение показывает «нет камер», доверие теряется. Кешируйте локально последние 30 минут видео с каждой камеры и показывайте их с чёткой плашкой «офлайн».

5. Игнорировать Android TV и планшеты. 22% ежедневных сессий приложений уровня VALT приходят с телевизоров и планшетов. Внедряйте адаптивные макеты Compose с самого начала, а не оставляйте на вторую фазу.

Делаете Android-приложение для видеонаблюдения с нуля?

Мы реализовали этот стек для полиции США, центров медицинской симуляции и корпоративных систем наблюдения. Расскажите, что вы строите.

Позвоните нам → Напишите нам →

KPI: что измерять до и после каждого релиза

KPI качества. Время до первого кадра — менее 2 секунд на 4G; доля сессий с зависанием потока — менее 1%; доля открытий уведомлений — выше 18%; успешность PTZ-действий — выше 97%.

Бизнес-цели. Удержание на 7-й день — выше 18%; удержание на 30-й день — выше 15%; коэффициент активности DAU/MAU — выше 20%; доля пользователей с двумя и более подключёнными камерами — выше 60% к 30-му дню.

KPI надёжности. Доля сессий без сбоев — выше 99,5%; частота ANR — ниже 0,2%; нарушений по батарее в Google Play нет; доля убитых foreground-сервисов — ниже 0,3%.

Онбординг: подключите первую камеру за три минуты

Удержание на первый день определяется в первые пять минут после установки. Если за это время пользователь не видит хотя бы одну работающую камеру, приложение теряет 75% пользователей — и эти люди уже не возвращаются. Три паттерна, которые помогают улучшить эту метрику:

Подключение по QR-коду. Подключите Android-приложение к облачному аккаунту, отсканировав QR-код на веб-панели. Логин и пароль не нужны. Всё — на одном экране.

ONVIF-автообнаружение. Сканируйте локальную сеть через NsdManager, выводите список ONVIF-камер с превью и добавляйте одной кнопкой. Это намного удобнее, чем вручную вводить RTSP-URL на экранной клавиатуре.

Туториал с первым алертом. Через 60 секунд после подключения камеры отправьте синтетическое тестовое событие — чтобы пользователь успел пройти цикл «уведомление → тап → live-плитка» до реального события. Это закрывает разрыв до «ага-момента».

Наблюдаемость: что инструментировать с первого дня

Нельзя улучшить то, что не видишь. В каждом Android-приложении для видеонаблюдения с первой сборки мы собираем пять метрик со стороны клиента и отправляем их в Firebase Performance или APM-систему вроде Sentry:

время до первого кадра по каждой плитке, события фризов потока (разрыв > 800 мс), round-trip PTZ (от жеста до подтверждённого камерой движения), задержку от уведомления до тапа и события убийства foreground-сервиса. В сочетании с серверными метриками WebRTC (джиттер, RTT) этого достаточно, чтобы выявить почти любую регрессию по вовлечённости ещё до того, как пользователи начнут уходить.

Поверх этого добавьте продуктовую аналитику — PostHog, Amplitude или Mixpanel — с пятью событиями: app_opened, live_viewed, alert_tapped, archive_scrubbed, ptt_pressed. Эту воронку нужно разбирать каждую неделю, чтобы определить цель следующего релиза.

Когда нативное Android-приложение делать не стоит

Не каждому продукту мониторинга нужна нативная сборка под Android с самого начала. Пропустите её, если выполнены все три условия:

(а) пользователи работают за столом, и «мобильное» для них — это «иногда заглянуть», а не основной способ взаимодействия; (б) допустимая задержка — 3–5 секунд, потому что сценарий — «просмотреть», а не «сразу среагировать»; (в) ресурсов на постоянную работу с политиками Play Store у вас нет.

В таких случаях адаптивный PWA с Web Push даёт 80% ценности за 30% бюджета. Возвращайтесь к нативной разработке, когда удержание пользователей перестанет расти или продукту понадобятся фоновые функции вроде camera/mediaPlayback.

Базовые требования по безопасности, приватности и соответствию

Сквозное шифрование live-потоков и записей. SRTP для WebRTC; AES-256 для HLS-сегментов; ротация ключей на каждую сессию. Сделайте это проверяемым: покупатели в регулируемых отраслях сначала просят схему, и только потом — цену.

Тонкая ролевая модель доступа (RBAC). Кто, какую камеру и в какое время может смотреть, кто может экспортировать видео, а кто — управлять PTZ. От этого зависит юридическая применимость процесса в VALT.

Защищённый от подделки аудит-лог. Каждый просмотр, перемотка, экспорт и управление PTZ фиксируются с указанием ID пользователя, устройства и временной метки. Для покупателей из правоохранительной и медицинской сфер это ключевой документ соответствия.

Раздел Data Safety в Play Store. Честно указывайте все разрешения: камера, микрофон, геолокация, сеть. Неправильное указание — самая частая причина, по которой Android-приложения для наблюдения удаляют из магазина.

Частые вопросы

На какую задержку должно ориентироваться Android-приложение для видеонаблюдения в 2026 году?

Время до первого кадра в live-плитке меньше 2 секунд на 4G — хороший показатель; в верхнем квартиле приложений это значение составляет 800 мс. Для интерактивных сценариев (PTZ, push-то-talk) старайтесь держать сквозную задержку WebRTC ниже 500 мс. LL-HTTP Live Streaming (LL- HLS) допустим только для просмотра без интерактива — задержка 2–5 секунд; стандартный HLS с задержкой 8–12 секунд воспринимается как неработающий.

ExoPlayer всё ещё актуален или нужен Media3?

Правильный ответ — Media3. Отдельный репозиторий ExoPlayer объявлен устаревшим; Google теперь поставляет тот же движок в составе AndroidX Media3 с более чистым API и активной поддержкой. Переводите любой проект, который ещё использует com.google.android.exoplayer2, на androidx.media3.*, прежде чем добавлять новые функции.

Как не дать приложению наблюдения умереть от системного оптимизатора батареи Android?

Указывайте правильный тип foreground-сервиса (camera, mediaPlayback, dataSync или remoteMessaging), запрашивайте нужное разрешение и останавливайте сервис сразу после завершения видимой пользователю работы. Для проверки статуса используйте WorkManager с окнами, совместимыми с Doze; не удерживайте wake lock.

WebRTC, RTSP или HLS — какой протокол должен использовать Android-приложение на самом деле?

Для просмотра в реальном времени на телефоне — WebRTC. Для просмотра архива — HLS/LL-HLS через Media3. RTSP в 2026 году — не подходит для Android-клиента: он остаётся на сервере, где получает потоки с ONVIF-камер и упаковывает их заново. Выигрывает связка: «RTSP на приём, WebRTC на прямую трансляцию, HLS на архив».

Как добиться надёжной доставки push-уведомлений на китайских устройствах (Xiaomi, Huawei, Oppo)?

Одного Firebase Cloud Messaging на устройствах без Google Play Services недостаточно. Через фасадный слой подключайте вендорские push-SDK (Xiaomi MiPush, Huawei HMS Push, Oppo Push, VIVO Push) и держите запасной долгоживущий WebSocket для критичных алертов. Это частый источник жалоб «у меня уведомления приходят с опозданием» на азиатских рынках.

Нужен ли ИИ на устройстве или достаточно серверной обработки?

Начинайте с сервера — так проще итерировать, и модели можно менять без обновления приложения в Play Store. Добавляйте ИИ на устройство, только когда есть конкретная причина: например, приватный режим, при котором кадры не покидают устройство, работа без интернета или локальная распознавание лица для активации по нажатию. TFLite и Google ML Kit хорошо справляются с такими задачами на современных Android-устройствах.

Сколько у Форс Софт занимает разработка MVP?

Android-клиент с сеткой камер, live-просмотром через Media3/HLs, воспроизведением записей и push-уведомлениями через FCM мы сдаём за 10–14 недель. Добавление WebRTC-стрима, двустороннего звука и управления камерой жестами занимает ещё 4–6 недель. Серверный AI-конвейер обработки событий — ещё 6–10 недель, его объём зависит от количества камер. Наш конвейер разработки агентов заметно сокращает эти сроки по сравнению с классическим аутсорсом.

За счёт чего приложение для видеонаблюдения «приживается» дольше первой недели?

Три вещи, в этом порядке: уведомления, которым доверяешь (высокое соотношение сигнал/шум); просмотр в реальном времени, который ощущается мгновенным (< 1 с до первого кадра); и одно интерактивное действие сверх просмотра — push-to-talk, сирена или PTZ. Приложения, в которых реализованы все три, достигают удержания на 30-й день на уровне 30–40%; приложения, в которых есть только live-просмотр, не выходят за рамки среднеотраслевых 10–15%.

Кейс

VALT: от готовой коробки до лидера индустрии

Как мы вырастили платформу видеонаблюдения до системы с годовой выручкой около 727 млн ₽, которой пользуются 650 организаций.

Разбор

Видеонаблюдение с ИИ: 6 преимуществ для безопасности бизнеса

AI-слой, который стоит за каждым умным алертом современных платформ наблюдения.

Инженерия под Android

Android WebRTC: полное руководство по реализации

Эталонный код для Android-клиента с низкой задержкой, описанный выше.

Стратегия

Кастомные решения для видеонаблюдения с AI-аналитикой

Когда стандартные VMS перестают масштабироваться и чем их заменить.

AI

Зачем использовать AI для детекции аномалий в видео

Модели машинного обучения, на которых работает тот самый фильтр алертов.

Готовы создать Android-приложение для видеонаблюдения, которое пользователи действительно будут использовать?

Формула Android-приложения для видеонаблюдения, которое удерживает пользователей на 25–40% на 30-й день, проста до банальности: WebRTC-плитки с задержкой менее 500 мс, уведомления с фильтрацией на основе ИИ и превью-сводками, корректно объявленные типы foreground-сервиса, один интерактивный слой поверх просмотра (PTT, PTZ, двусторонняя сирена) и адаптивные интерфейсы на Compose, работающие одинаково хорошо на телефоне, планшете и Android TV. Пропустите хоть одну из этих составляющих — и вовлечённость резко упадёт.

Мы выпустили этот стек специально для полицейских департаментов, центров медицинской симуляции и корпоративных систем видеонаблюдения — у нас уже 25 000 пользователей ежедневно, и число растёт. Если такая цель подходит и вашему продукту, за одну встречу мы составим 90-дневный план пути к ней.

Давайте обсудим ваше Android-приложение для видеонаблюдения

30 минут, реалистичная оценка, конкретные следующие шаги — без обязательств. Пришлите бриф, и мы скажем, что реально сделать за 90 дней.

Позвоните нам → Напишите нам →

  • Технологии