Реалізація Safe Zones для дитячого трекера в мобільному додатку
Safe Zones — геофенсинг: додаток має сповістити батька, коли дитина вийшла зі школи або прийшла додому. Звучить просто. На практиці — затримка сповіщення до 5-10 хвилин, спрацьовування при стоянці автобуса біля паркану школи та помилкові спрацьовування через GPS-дрейф у 50-100 метрів у міській забудові. Ми вирішуємо ці проблеми, використовуючи комбінацію нативного геофенсингу, серверної фільтрації та адаптивних порогів. Оцінимо ваш проект за 1 день — просто напишіть нам.
Як працює геофенсинг на iOS та Android
iOS — CLLocationManager.startMonitoring(for: CLCircularRegion). Система відстежує до 20 регіонів одночасно на один додаток. Точність визначення входу/виходу — близько 100-200 метрів, затримка — до 3-5 хвилин. Регіони персистуються системою і продовжують моніторитися навіть після перезавантаження пристрою, що важливо для дитячого трекера. Apple Developer Documentation
Android — Geofencing API через GeofencingClient з Google Play Services. Ліміт — 100 геофенсів на додаток. Сповіщення приходять через PendingIntent у BroadcastReceiver або IntentService. На Android 12+ FINE_LOCATION обов'язковий для геофенсингу, BACKGROUND_LOCATION — для роботи в фоні. Додавання геофенсу: GeofencingRequest.Builder з setInitialTrigger(GEOFENCE_TRANSITION_ENTER) і потрібним loiteringDelay щоб відсікти миттєві проходи повз.
| Параметр | iOS | Android |
|---|---|---|
| Максимум зон | 20 | 100 |
| Точність у місті | 100-200 м | 50-150 м |
| Затримка сповіщення | 3-5 хв | 1-5 хв |
| Фоновий моніторинг | Так (регіони персистентні) | Так (з Doze-обмеженнями) |
Як зменшити помилкові спрацьовування?
У щільній міській забудові GPS-точність падає до 50-150 метрів через багатопроменеве відбиття сигналу. Якщо радіус безпечної зони — 100 метрів (типовий двір), дрейф легко виводить точку за межу. Рішення: не використовувати одну точку, а брати медіану за останні 3-5 вимірювань перед прийняттям рішення про перехід. На сервері — алгоритм згладжування треку (Kalman filter або просто ковзне середнє з вагами по horizontalAccuracy).
Другий шар захисту: loiteringDelay в Android Geofencing API — 60-120 секунд. Це означає, що DWELL-подія прийде тільки якщо пристрій знаходиться в зоні вказаний час, а не промайнуло повз. Наш підхід знижує кількість помилкових спрацьовувань у 3-5 разів порівняно зі стандартним геофенсингом.
Що входить у реалізацію Safe Zones під ключ
| Етап | Результат |
|---|---|
| Аналітика | Визначення сценаріїв, вибір радіуса та чутливості |
| Проектування | Архітектура клієнт-сервер, схема геозон |
| Реалізація | Інтеграція з картами, налаштування зон, обробка подій |
| Тестування | Польові тести в різних локаціях, налагодження помилкових спрацьовувань |
| Деплой | Публікація в App Store / Google Play, моніторинг |
У deliverables входить: документація по API, код з коментарями, налаштування push-сповіщень, навчання команди (1-2 години), підтримка протягом 30 днів після здачі.
Як відбувається процес роботи?
- Аналітика — обговорюємо сценарії: школа, дім, гуртки. Визначаємо радіуси та пріоритети.
- Проектування — малюємо архітектуру: сервер зберігає зони, додаток дитини отримує їх через FCM/APNs, реєструє геозони.
- Реалізація — пишемо код на Swift/Kotlin/Dart, налаштовуємо filter на сервері.
- Тестування — виїжджаємо на локації (школа, парк) з реальними пристроями, правимо threshold.
- Деплой — завантажуємо в стори, налаштовуємо CI/CD, даємо доступ до панелі моніторингу.
Часті помилки при впровадженні геозон
- Занадто малий радіус (<50 м) → часті помилкові спрацьовування через GPS-дрейф. - Відсутність фільтрації на сервері → сповіщення при кожному проході повз. - Ігнорування Doze mode на Android → сповіщення не приходять вночі.Сповіщення та надійність
Push-сповіщення має прийти батьку максимально швидко. APNs/FCM з high-priority — затримка зазвичай 1-3 секунди. Але геофенс-подія від системи може з'явитися із затримкою: iOS гарантує спрацьовування «при наступному значному русі або оновленні локації», Android в Doze mode — тільки при виході з нього. Сповіщення через FCM приходять у 2 рази швидше, ніж через SMS.
Для критичних сповіщень (вихід із зони вночі) варто розглядати дублювання через SMS як fallback — особливо для дітей з Android-бюджетниками без стабільного інтернету.
Скільки коштує впровадження?
Термін реалізації модуля Safe Zones — 1-3 тижні. Типовий проект коштує від $2000 до $5000 залежно від кількості платформ та інтеграції з існуючим трекером. Економія від зменшення хибних тривог може складати до $500 на місяць для служби підтримки. За 5 років роботи ми реалізували понад 30 проектів з геолокацією. Зв'яжіться з нами для оцінки вашого проекту — ми підготуємо КП за 1 день.
Редагування зон у додатку батька
UI для безпечних зон: користувач повинен вміти намалювати зону на карті або задати адресу + радіус. Google Maps SDK та MapKit обидва підтримують overlays для відмальовування кола. Мінімальний розумний радіус — 50 метрів (інакше забагато помилкових спрацьовувань), максимальний — 5 км.
Зони синхронізуються з сервером і пушаться на пристрій дитини через FCM/APNs data-push, після чого додаток дитини перереєстровує геозони. При зміні смартфона або перевстановленні додатка — автоматичне завантаження зон з backend.







