Реалізація відстеження місцезнаходження дитини через мобільний додаток

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація відстеження місцезнаходження дитини через мобільний додаток
Середній
від 4 годин до 2 днів
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація відстеження місцезнаходження дитини через мобільний додаток

GPS-трекінг дитини — задача, яка виглядає простою тільки до першого продакшн-запуску. «Фоновая геолокація» працює принципово по-різному на iOS та Android, і більшість проблем проявляються не в дев-окруженні, а у реального користувача через два тижні після релізу.

На Android 10+ фоновий доступ до геолокації потребує ACCESS_BACKGROUND_LOCATION — окремого runtime-дозволу, який користувач повинен видати через системні налаштування, а не через стандартний діалог. Google Play з кінця 2020 року потребує обґрунтування для цього дозволу при ревью. На iOS ситуація інша: Always авторизацію можна отримати тільки після того, як користувач спочатку видав WhenInUse, потім окремо згодився на постійний доступ — системний промпт з'являється в потрібний момент тільки при правильно вистроєному флоу запиту.

Де розваливається фоновий трекінг

Батарея проти частоти оновлень

CLLocationManager з desiredAccuracy: kCLLocationAccuracyBest та distanceFilter: kCLDistanceFilterNone — вірний спосіб розрядити iPhone дитини за 4 години. Для дитячого трекера достатньо kCLLocationAccuracyHundredMeters та distanceFilter: 50 (метрів). При русі пішки це дає оновлення кожні 30-60 секунд без помітного впливу на батарею.

Для Android — FusedLocationProviderClient з Google Play Services з LocationRequest.Builder та пріоритетом PRIORITY_BALANCED_POWER_ACCURACY. У поєднанні зі SmallestDisplacement у 30-50 метрів це знижує енергоспоживання в 3-4 рази порівняно з PRIORITY_HIGH_ACCURACY.

iOS: приложение убивает система

Background App Refresh — перше, що iOS вимикає при низькому заряді або в режимі Low Power Mode. CLLocationManager з allowsBackgroundLocationUpdates = true та pausesLocationUpdatesAutomatically = false утримує додаток живим довше, але не вічно. Для гарантованої роботи в фоні потрібна significant location change як fallback: startMonitoringSignificantLocationChanges() просипається при смені вишки сотової зв'язку — 300-500 метрів точність, але працює навіть при suspended-стану додатку.

На Android убійця процесів — Doze mode та виробничі оболонки (MIUI, EMUI, OneUI) з агресивним battery management. Рішення: ForegroundService з постійним уведомленням у статусбарі — саме так працюють Яндекс.Навігатор та Google Maps. Без foreground service у MIUI 14 трекінг засипає через 5-7 хвилин після выключення екрана.

React Native та Flutter: додатковий шар проблем

Якщо додаток кроссплатформенний, react-native-background-geolocation (Transistor Software) — найбільш зріла бібліотека, має власний headless mode для Android та коректно обробляє iOS background modes. Альтернатива у Flutter — background_locator_2, хоча її підтримка нестабільна: перевір дату останнього коміту перед інтеграцією. Ми частіше пишемо нативні модулі під iOS та Android окремо та прокидуємо события через EventEmitter / EventChannel — це надійніше для критичного трекінгу.

Архітектура передачі координат

Координати не стоїть відправляти кожне оновлення безпосередньо на backend. Правильна схема:

  1. Накопичувати точки локально в SQLite / Room (Android) або Core Data (iOS)
  2. Відправляти батчами кожні 30-60 секунд або по накопленню N точок
  3. На сервері зберігати last_known_location окремо від треку — для швидкої відповіді на запит «де зараз»

WebSocket підходить для real-time відображення на карті батька, але утримувати постійне з'єднання в фоні на iOS неможливо без VoIP push trick (сіра зона App Store політики). Практичніше: додаток дитини пушит через APNs / FCM фонові data-push, додаток батька отримує їх та оновлює UI.

Дозволи та App Store / Google Play

На iOS потрібні ключі в Info.plist: NSLocationAlwaysAndWhenInUseUsageDescription, NSLocationWhenInUseUsageDescription. Без зрозумілого тексту (не «для роботи додатку») ревьюери Apple відхиляють по guideline 5.1.1. Опис повинен явно пояснювати, чому саме потрібна фонова геолокація.

Google Play потребує Privacy Policy з явним згадуванням збору геолокації та форми Declaration для ACCESS_BACKGROUND_LOCATION. Додатки для контролю дітей додатково перевіряються на відповідність Family Policy — потрібна age gate або явне указання, що додаток для батьків, а не дітей.

Стек та етапи роботи

Для нативної iOS — Swift, CoreLocation, MapKit або Google Maps SDK. Для Android — Kotlin, FusedLocationProviderClient, WorkManager для періодичної синхронізації треків. Серверна частина: зберігання координат у PostGIS або TimescaleDB, REST або GraphQL API.

Етапи: аналіз вимог по платформам → проектування схеми зберігання та передачі → нативна реалізація location-модулів → інтеграція з backend → тестування на реальних пристроях (особливо Xiaomi/Huawei/Samsung) → настройка push-уведомлень → ревью та публікація.

Графік: від 3 до 8 тижнів залежно від набору платформ та вимог до точності. Вартість розраховується індивідуально після аналізу вимог.