Розробка мобільного додатку для фітнес-трекера

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
    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

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

Фітнес-приложення — це не просто лічильник шагів та красиві графіки. За кожним датчиком — окремий 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 місяців. Оцінка після аналізу вимог до датчиків та платформ.