Реализация отслеживания местоположения ребёнка через мобильное приложение

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 authorization можно получить только после того, как пользователь сначала выдал 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 недель в зависимости от набора платформ и требований к точности. Стоимость рассчитывается индивидуально после анализа требований.