Створення фітнес-трекера під iOS та Android

Створення фітнес-трекера під iOS та Android Фітнес-застосунок — це не просто лічильник кроків і красиві графіки. За кожним датчиком — окремий API з обмеженнями по частоті опитування, політиками фонового доступу та дозволами, які Apple та Google посилюють з кожним релізом. Ми розробляємо нативні ф

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Створення фітнес-трекера під iOS та Android
Складний
від 1 тижня до 3 місяців

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

Часті запитання

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Створення фітнес-трекера під iOS та Android

Фітнес-застосунок — це не просто лічильник кроків і красиві графіки. За кожним датчиком — окремий API з обмеженнями по частоті опитування, політиками фонового доступу та дозволами, які Apple та Google посилюють з кожним релізом. Ми розробляємо нативні фітнес-трекери під iOS та Android, які коректно працюють з CoreMotion, HealthKit, Google Fit та Health Connect одночасно — значно складніше більшості інших мобільних категорій. Оцінимо ваш проєкт за 1 день — зв'яжіться з нами для консультації.

Як працює фітнес-трекер на iOS та Android?

Які датчики та навіщо

Датчик iOS API Android API Типова частота Споживання енергії (за годину)
Акселерометр CMMotionManager SensorManager (TYPE_ACCELEROMETER) 50–100 Гц 15–20% при 100 Гц
Гіроскоп CMMotionManager SensorManager (TYPE_GYROSCOPE) 50–100 Гц 12–18% при 100 Гц
Барометр CMAltimeter SensorManager (TYPE_PRESSURE) 1–10 Гц 3–5%
Крокомір CMPedometer StepCounterSensor / Health Connect Акумулятивно < 5%
Пульс HealthKit (від Watch) Health Connect По події < 2%
GPS CLLocationManager FusedLocationProviderClient 1 Гц для трекінгу 30–40% при постійному трекінгу

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

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 — точність розпізнавання досягає 95%.

Трекінг 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 використовувати BGAppRefreshTask для синхронізації статистики (не для самого трекінгу)
  • Кешувати дані локально в SQLite / Core Data, синхронізувати з сервером батчами по завершенню тренування
  • CMPedometer та StepCounterSensor — системні крокоміри, вони працюють на рівні ОС без нашої участі, дані тільки читаємо

Системний крокомір CMPedometer в 3 рази швидший за власний алгоритм і споживає на 60% менше енергії. Наш досвід 10+ років у мобільній розробці дозволяє вибрати оптимальне поєднання API для кожного завдання.

Інтеграція з платформними сховищами здоров'я

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

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

Що ви отримуєте

В результаті ви отримуєте повністю робочий застосунок під ключ:

  • Вихідний код на Swift/Kotlin/Dart з коментарями
  • Документацію з API та архітектури
  • Доступи до облікових записів розробника App Store та Google Play
  • Інтеграцію з HealthKit/Health Connect та Google Fit
  • Налаштування push-сповіщень через APNs/FCM
  • Підтримку 3 місяці після релізу
  • Навчання вашої команди роботі з кодом
Типові помилки при розробці фітнес-трекерів
  • Ігнорування політик App Store Review щодо використання HealthKit — призводять до відхилення застосунку
  • Відсутність graceful degradation при втраті GPS-сигналу — користувач бачить розірваний трек
  • Надмірно часте опитування датчиків у фоні — батарея розряджається за 2–3 години
  • Неправильна обробка дозволів (Away/Always) — застосунок крашиться або не працює у фоні
  • Відсутність синхронізації з системними сховищами здоров'я — користувачі скаржаться на неповні дані

Кожна з цих помилок була нами виправлена в реальних проєктах. Ми гарантуємо, що ваш застосунок пройде рев'ю і не буде відхилений з цих причин.

Терміни та вартість

Застосунок з базовими активностями (ходьба, біг, велосипед), GPS-трекінгом, HealthKit/Health Connect та статистикою — 8–14 тижнів. З кастомними алгоритмами детекції активності, ML-класифікацією та соціальними функціями — від 4 місяців. Вартість розраховується індивідуально на основі ваших вимог. Отримайте консультацію та точну оцінку — зв'яжіться з нами.