Разработка мобильного приложения для фитнес-трекера

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Разработка мобильного приложения для фитнес-трекера
Сложная
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Разработка мобильного приложения для фитнес-трекера

Фитнес-приложение — это не просто счётчик шагов и красивые графики. За каждым датчиком — отдельный API с ограничениями по частоте опроса, политиками фонового доступа и разрешениями, которые Apple и Google ужесточают с каждым релизом. Нативное приложение, которое правильно работает с CoreMotion, HealthKit, Google Fit и Health Connect одновременно — значительно сложнее большинства других мобильных категорий.

Ключевые технические решения

Какие датчики и зачем

Датчик iOS API Android API Типичная частота
Акселерометр CMMotionManager SensorManager (TYPE_ACCELEROMETER) 50–100 Гц
Гироскоп CMMotionManager SensorManager (TYPE_GYROSCOPE) 50–100 Гц
Барометр CMAltimeter SensorManager (TYPE_PRESSURE) 1–10 Гц
Шагомер CMPedometer StepCounterSensor / Health Connect Аккумулятивно
Пульс HealthKit (от Watch) Health Connect По событию
GPS CLLocationManager FusedLocationProviderClient 1 Гц для трекинга

Высокочастотный опрос акселерометра (100 Гц) в фоне — прямой путь к разряду батареи за 3–4 часа. На iOS CMMotionManager.startDeviceMotionUpdates() с UIBackgroundModes: processing и BGProcessingTask позволяет делать батчевую обработку, но фоновое выполнение ограничено 30 секундами. На Android WorkManager с ExpeditedWork или Foreground Service с типом FOREGROUND_SERVICE_TYPE_HEALTH.

CoreMotion и детекция активности

CMMotionActivityManager.startActivityUpdates() даёт готовые активности: walking, running, cycling, automotive, stationary. Это лучше, чем самостоятельно анализировать акселерометр для большинства задач. Но есть нюанс: классификация приходит с задержкой 5–30 секунд (iOS усредняет данные) и работает только при разрешении CMMotionActivityManager.isActivityAvailable() — на некоторых iPod Touch эта функция недоступна.

Для собственного алгоритма детекции шага из акселерометра: пик вертикального ускорения (ось Y) с порогом > 1.2g при частоте 50 Гц. Между двумя пиками минимальный интервал 300 мс (частота шага не выше ~3.3 Гц). Это базовая реализация. Точный алгоритм учитывает расположение телефона (в кармане/в руке/в рюкзаке) через классификатор на CoreML или TensorFlow Lite.

Трекинг GPS-маршрута

CLLocationManager с desiredAccuracy: kCLLocationAccuracyBest в фоне требует Always разрешение и UIBackgroundModes: location. Без этого после 10–15 секунд фона обновления прекращаются. На Android FusedLocationProviderClient с LocationRequest.PRIORITY_HIGH_ACCURACY в Foreground Service.

Проблема: городской каньон и туннели — GPS теряется, трек разрывается. Решение: при horizontalAccuracy > 30 м — не записывать точку. Dead reckoning на основе акселерометра/гироскопа на время потери сигнала — сложнее, но даёт непрерывный трек.

Запись трека в формате GPX: стандартный XML, каждая точка — <trkpt lat="..." lon="..."> с <ele> и <time>. Экспорт/импорт GPX — стандарт де-факто для совместимости с Garmin, Strava, Komoot.

Интеграция с платформенными хранилищами здоровья

На iOS все записи тренировок нужно сохранять через HKWorkout в HealthKit. Без этого приложение не появится в «Здоровье» и пользователи воспримут это как баг. HKWorkoutBuilder — правильный путь: позволяет добавлять семплы (ЧСС, дистанция, калории) по ходу тренировки, а не пачкой в конце. HKWorkoutRoute — сохраняет GPS-трек, связанный с тренировкой.

На Android — Health Connect (androidx.health.connect.client). Пишем ExerciseSessionRecord с типом активности, DistanceRecord, TotalCaloriesBurnedRecord. Важно: Health Connect требует лицензионного соглашения с Google и отдельного review при публикации в Play Store если приложение читает медицинские данные.

Фоновое выполнение и батарея

Самое сложное в фитнес-приложении — корректная работа в фоне без убийства батареи. Принципы:

  • Не держать высокочастотный сенсор активным всё время — включать только во время активной тренировки
  • На iOS использовать BGAppRefreshTask для синхронизации статистики (не для самого трекинга)
  • Кэшировать данные локально в SQLite / Core Data, синхронизировать с сервером батчами по завершению тренировки
  • CMPedometer и StepCounterSensor — системные шагомеры, они работают на уровне ОС без нашего участия, данные только читаем

Сроки

Приложение с базовыми активностями (ходьба, бег, велосипед), GPS-трекингом, HealthKit/Health Connect и статистикой — 8–14 недель. С кастомными алгоритмами детекции активности, ML-классификацией и социальными функциями — от 4 месяцев. Оценка после анализа требований к датчикам и платформам.