Разработка мобильного приложения для детского GPS-трекера
Ребёнок должен был выйти из школы в 14:30. Сейчас 15:10 — родитель открывает приложение и видит, что трекер последний раз выходил на связь в 14:25 у входа в школу. Заряд 8%. Push-уведомление о низком заряде пришло ещё час назад, но родитель пропустил. Это не паника — это понятная картина. Так должны работать детские трекеры.
Архитектура: устройство + сервер + приложение
Детский GPS-трекер — это часы, кулон, или маленький брелок с SIM-картой. Он не запускает мобильное приложение. Он отправляет SMS-команды или GPRS-пакеты на сервер по проприетарному протоколу. Популярные модели: Wonlex GW400S, WONLEX KT07, Smart Baby Watch Q90 — все используют упрощённый ASCII-протокол поверх TCP или SMS.
Мобильное приложение — это интерфейс к серверу телематики, который уже разобрал пакеты трекера. Задача разработки: хороший UX поверх готового или разрабатываемого API.
Карта и история маршрута
Текущая позиция ребёнка на карте — приоритет интерфейса. Маркер с фото ребёнка, время последнего обновления, заряд батареи, уровень GSM-сигнала. Это первый экран при открытии приложения.
История за день — трек с отметками остановок. Остановка = кластер точек с speed < 3 км/ч дольше 5 минут. Адрес — reverse geocoding. «Был в школе с 08:35 до 14:25, затем у ТЦ с 14:38 до 15:02».
Таймлайн внизу экрана — горизонтальная шкала времени с точками посещений. Пользователь перетаскивает ползунок — маркер на карте прыгает к позиции в выбранное время. Это удобнее, чем листать список адресов.
Безопасные зоны и школьное расписание
Геозона «Дом» — круговая зона, пользователь задаёт радиус. При выходе ребёнка из зоны — push родителям (оба родителя, если у обоих стоит приложение).
Геозона «Школа» — вход в зону в ожидаемое время: push «Ваня пришёл в школу в 08:42». Это называют safe zone arrival/departure и это главная фича, которую родители хотят.
Расписание уведомлений. Родитель настраивает: «Уведомить, если ребёнок не пришёл в школу до 09:00». Это scheduled check — серверная задача, которая в 09:00 проверяет, была ли точка ребёнка внутри зоны «Школа» за последние 30 минут. Не IoT-событие, а плановая проверка через cron.
SOS-кнопка
На физическом устройстве — кнопка SOS. Ребёнок нажимает → трекер отправляет экстренный пакет на сервер → сервер рассылает push всем родителям с меткой «SOS» и текущими координатами.
Push должен прийти немедленно и с максимальным приоритетом. APNs critical alert (требует специального entitlement от Apple) — приходит даже при включённом режиме «Не беспокоить» и вибрирует дважды. На Android — FCM priority: high с channelId: "emergency" с IMPORTANCE_HIGH и включённым setBypassDnd(true).
Звуковое оповещение в приложении при открытом экране — AVAudioPlayer (iOS) или SoundPool (Android) с системным alarm-звуком.
Прослушивание (Audio monitoring)
Часть трекеров поддерживает удалённое прослушивание: родитель инициирует звонок с сервера на трекер, устройство в тихом режиме принимает и транслирует звук. Это GSM-звонок, не VoIP. Для реализации нужен контроль над SIM-картой трекера — обычно API оператора MVNO или команда по SMS.
Реализация в мобильном приложении: кнопка «Прослушать», приложение отправляет команду на сервер, сервер инициирует звонок через Twilio или прямой GSM-модуль. Никакой аудио-стриминг в приложении — это классический телефонный звонок.
Чат с ребёнком
Простой чат через сервер — текстовые сообщения родитель → трекер (отображаются на дисплее), голосовые сообщения или короткие заготовленные ответы от ребёнка. Ограничение: экран трекера маленький или отсутствует — ответы ребёнка часто это «кнопочный ответ» (1 = Ок, 2 = Иду домой, 3 = SOS).
Реализация: WebSocket для real-time чата, push для уведомлений о новых сообщениях, MQTT от сервера к трекеру для доставки SMS-команды на устройство.
Конфиденциальность и безопасность
Координаты ребёнка — данные несовершеннолетнего. Хранение и обработка требует соответствия GDPR (Европа) или ФЗ-152 (Россия). Конкретные требования:
- Шифрование в хранилище (iOS Data Protection Class A, Android Keystore)
- Передача только по TLS 1.3
- Доступ только авторизованным родителям/опекунам
- Политика хранения: история локаций максимум 90 дней (настраиваемо)
- Возможность экспорта и удаления данных
В App Store такие приложения попадают в категорию «Kids» если явно позиционируются для детей — тогда применяются COPPA-ограничения и ограниченная реклама. Если приложение для родителей (а не для детей) — можно в обычную категорию Navigation или Utilities.
Этапы и сроки
| Этап | Содержание |
|---|---|
| Аудит трекера | Протокол устройства, API сервера, supported features |
| Карта + история | Позиция, трек за день, таймлайн |
| Геозоны | Дом, школа, расписание проверок |
| SOS + уведомления | Critical alerts, экстренные пуши |
| Чат | Сообщения родитель ↔ ребёнок |
| Privacy compliance | GDPR/152-ФЗ аудит |
| Публикация | App Store + Google Play |
MVP (карта + геозоны + SOS + история): 6–10 недель. Полная платформа с чатом, расписанием, аудио и комплаенсом: 3–5 месяцев. Стоимость рассчитывается после аудита API трекера и требований к безопасности.







