Я даю согласие на получение маркетинговых материалов и подтверждаю, что ознакомлен(а) с Политикой обработки персональных данных

Flutter
Android
iOS
BLE
Swift
Java
Kotlin

Пульс под контролем: наш опыт интеграции смарт-часов и фитнес-приложения

Представьте, что тренировки во время беременности становятся не просто комфортными, а полностью адаптированными под самочувствие в режиме реального времени. Именно такую задачу решает разработанное нами мобильное приложение MotherFit, созданное специально для будущих мам.
Что делает MotherFit особенным?
  • Видео-тренировки, разработанные акушером-гинекологом;
  • Алгоритм мониторинга пульса, который контролирует интенсивность упражнений на основе вашего сердечного ритма.
Наша цель — сделать тренировки максимально безопасными. Для этого мы разработали систему, которая отслеживает пульс в реальном времени и корректирует нагрузку. Первый шаг на этом пути — получение данных о пульсе со смарт-часов и фитнес-браслетов. Сейчас расскажем как нам это удалось!
Подробнее о разработке приложения MotherFit вы можете прочитать в нашем кейсе.
Как смарт-часы помогают будущим мамам тренироваться безопасно?
Итак, обобщим, наша цель — создать универсальный модуль приложения, который сможет получать данные о пульсе с максимального количества устройств. Идея казалась простой: использовать единый подход для всех фитнес-браслетов и смарт-часов. Но на практике все оказалось сложнее, и нам пришлось изучить три разных способа подключения.
Способ 1: интеграция через Health-приложения смартфона
Сначала мы решили получать данные через встроенные Health-приложения, которые есть на каждом смартфоне. Они собирают всю информацию о здоровье пользователя, а значит, логично было использовать их как источник.
Для Android это Health Connect от Google, для Apple — Health. Однако, проверяя этот способ, мы столкнулись с серьезными ограничениями. Данные с фитнес-устройств передаются в приложение не в реальном времени, а синхронизируются примерно раз в 10 минут. Кроме того, оказалось, что многие китайские смартфоны, выпущенные после 2018 года, не работают с Health Connect напрямую, а требуют установки фирменного Health-приложения производителя. Это затрудняло процесс, поэтому мы решили искать другой путь.

Способ 2: прямое подключение через Bluetooth Low Energy

Следующим шагом мы попробовали получать данные о пульсе напрямую с носимых устройств с помощью Bluetooth Low Energy (BLE). Все смарт-часы и фитнес-браслеты используют эту технологию для связи со смартфоном. А главное — если производитель передает данные через BLE, он обязан соблюдать строгие стандарты Bluetooth Assigned Numbers. Это означало, что наш алгоритм может быть универсальным.
Этот подход дал отличный результат: приложение легко подключалось к устройствам и получало необходимые данные в реальном времени на Android.
Дополнительным плюсом оказалось то, что этот вариант подошел и для пользователей iPhone, если они используют смарт-часы других производителей. Таким образом, мы смогли обеспечить удобную и гибкую систему мониторинга пульса, охватив гораздо большее количество устройств.
Однако, выяснилось, что не все производители строго соблюдают BLE-спецификацию. Например, Huawei Watch GT 3 Pro не предоставляет нужные GATT-профили, из-за чего приложение просто не может получить данные. С Apple тоже всё оказалось не так просто.

Способ 3: Разработка собственного приложение для Apple Watch

Как и следовало ожидать, подключиться к часам Apple напрямую через BLE невозможно, а приложение Health, как и Health Connect, обновляет данные примерно раз в 10 минут. Казалось бы, у нас уже был рабочий вариант: BLE-подключение, которое отлично сработало для Android и владельцев iPhone с часами от других производителей. Но, поскольку Apple Watch — самые популярные умные часы среди владельцев iPhone, нам пришлось копать глубже и разрабатывать отдельное приложение для WatchOS, иначе тысячи наших пользователей просто не могли бы получать данные о пульсе в реальном времени.
Работа над приложением не вызвала особых сложностей и заняла всего 8 часов — включая нативную разработку и интеграцию с Flutter. Однако, так как это была новая для нас область, потребовалось еще около 16 часов на изучение примеров, документации, а также ознакомление с особенностями самой операционной системы WatchOS.
В итоге пользователю часов Apple достаточно просто запустить приложение на часах перед тренировкой — оно устанавливается автоматически вместе с основным приложением MotherFit.
Этот проект стал для нас важным этапом, так как потребовал глубокого исследования и внедрения новых технологий, что значительно расширило наши возможности как разработчиков. Мы получили ценный опыт, который поможет нам в будущих проектах.
Если вы ищете надежного партнера для разработки сложных технических решений, включая интеграцию носимых устройств и создание приложений для смарт-часов, мы готовы помочь воплотить ваши идеи в жизнь.
Для обсуждения сотрудничества пишите нам на aloha@7bits.it — будем рады создать для вас инновационное и технологичное решение!
Какие итоги?