Сигнал тревоги от охранника должен дойти до диспетчера за 300 миллисекунд. Стандартные push-уведомления на Android могут задерживаться на 10 минут из-за Doze Mode — это неприемлемо. Мы строим архитектуру, в которой WebSocket — основной канал (задержка 100–300 мс), а FCM — резервный. При нажатии тревожной кнопки автоматически создаётся наряд на ближайшую свободную группу реагирования. Время реакции на инцидент снижается с 5–7 минут до 30–60 секунд, операционные расходы ЧОП — на 25–40%. Для предприятия с 50 объектами экономия на зарплате диспетчеров достигает 2 млн рублей в год, а оптимизация маршрутов для 200 объектов даёт до 1,5 млн рублей экономии на топливе.
Какие задачи решает приложение для ЧОП?
Приложение обслуживает три группы пользователей:
- Клиент: запрос вызова охраны, статус объекта (охраняется или снят), история тревог, документы (акты, договоры), личный кабинет с контактами группы быстрого реагирования.
- Охранник: чек-лист обхода с геолокационными точками, фиксация событий (начало/конец смены, обход выполнен, инцидент), тревожная кнопка, связь с диспетчером, навигация к объекту.
- Диспетчер: карта с нарядами в реальном времени, входящие тревоги, распределение нарядов, журнал событий.
Каждому профилю нужна своя частота обновления данных: клиенту — раз в 5 минут, диспетчеру — менее секунды, охраннику — в реальном времени при движении.
Как гарантировать доставку тревожного сигнала?
Тревога от охранника должна дойти до диспетчера максимально быстро. WebSocket (Laravel Broadcasting + Pusher или собственный Socket.io) даёт задержку 100–300 мс. Push через FCM — резервный канал, но FCM не гарантирует доставку за секунды. Для клиентского сигнала (паника-кнопка на объекте) мы добавляем автоматическое создание наряда на ближайшую свободную группу реагирования.
В результате время реакции на инцидент сокращается с 5–7 минут до 30–60 секунд. Операционные расходы снижаются на 25–40%. Например, экономия на зарплате диспетчеров для предприятия с 50 объектами — около 2 млн рублей в год, а на топливе и амортизации для 200 объектов — до 1,5 млн рублей.
Как решить проблему фоновой геолокации на Android?
Охранник должен подтверждать присутствие в геозоне. Используем flutter_background_geolocation (коммерческий плагин) или geolocator в связке с foreground service. На Android без foreground service фоновая геолокация убивается Doze Mode — особенно на Xiaomi и Huawei. Решение: foreground service + wake lock + онбординг с инструкцией по отключению оптимизации батареи.
Данные геолокации пишутся в PostGIS — это позволяет строить отчёты по траектории смены и верифицировать обход точек маршрута через ST_DWithin. Точки обхода — геозоны на карте объекта. При подходе охранника на 10 метров — автоматическая отметка. Можно добавить NFC-метку для дополнительного подтверждения через flutter_nfc_kit.
Сравнение подходов на iOS и Android
| Платформа | Технология | Фоновый режим | Особенности |
|---|---|---|---|
| Android | Foreground Service + flutter_background_geolocation |
Работает при постоянном уведомлении | Doze Mode подавляет после 2–3 часов без взаимодействия |
| iOS | Significant-change location service (CLLocationManager) | Ограниченная фоновая работа | Требуется разрешение "always" и justification |
Пошагово: выберите плагин, настройте foreground service с уведомлением, добавьте онбординг для отключения оптимизации батареи, настройте геозоны через PostGIS и ST_DWithin, проведите стресс-тест на реальных устройствах Xiaomi, Huawei, Samsung.
Что входит в работу
- Аналитика требований и проектирование трёх ролевых интерфейсов.
- UX/UI дизайн с учётом сценариев на мобильных устройствах.
- Разработка на Flutter 3.x с архитектурой feature-first.
- Стресс-тестирование геолокационных сценариев на реальных устройствах.
- Публикация в App Store Connect и Google Play Console.
- Обучение персонала: охранников, диспетчеров, клиентов.
- Техническая поддержка 3 месяца после запуска.
Сравнение Flutter vs Native для ЧОП
| Критерий | Flutter (кроссплатформа) | Нативные (Swift + Kotlin) |
|---|---|---|
| Время разработки | 18–24 недели (MVP) | 28–36 недель |
| Стоимость | Ниже на 30–40% | Выше |
| Фоновая геолокация | Требует плагинов | Полный контроль на iOS |
Этапы и сроки
Аналитика → проектирование трёх ролевых интерфейсов → UX/UI → разработка → стресс-тестирование геолокационных сценариев → публикация → поддержка.
MVP с геомониторингом нарядов, тревожной кнопкой и клиентским приложением — от 18 до 24 недель. Полная система с интеграцией сигнализации, SIP-телефонией и расширенной аналитикой — от 32 недель. Стоимость рассчитывается индивидуально после анализа требований.
Свяжитесь с нами для оценки вашего проекта — мы подготовим коммерческое предложение. Закажите консультацию инженера в течение 2 часов.







