Разработка мобільного додатку для дитячого 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 трекера та вимог безпеки.







