данные google fit что это
Что такое GoogleFit и как им пользоваться?
Google Fit — популярная фитнес-платформа от Гугла, которая была первоначально представлена на специальной ОС для смарт-часов — Android Wear, теперь стала доступной онлайн также для устройств, которые работают на ОС Android, начиная от 4.0. Рассмотрим всё, что необходимо знать об этой новой платформе для фитнеса.
Что такое Google Fit
Гугл Фит представляет собой фитнес-сервис, который выступает в роли своеобразного «ответа» на аналогичный программный продукт Health, созданный компанией Apple. Google Fit предполагает использование датчиков, которые встроены в смарт-часы, с целью отслеживания активности во время прогулок, езды на велосипеде, бега. Кроме того, возможно применение этого приложения с целью определения очередной цели в фитнесе и отслеживания своего прогресса в похудении на протяжении дня, недели либо месяца. Сегодня Google Fit доступен к бесплатной загрузке через Play Store. Вначале программа Гугл Фит была доступна только на ОС Android Wear, однако в данный момент её можно найти прямо на Гугле.
Как работает и как пользоваться
Использование данного приложения можно назвать очень простым. После загрузки программы на свой мобильный аппарат нужно выразить своё согласие с правилами его использования, которые опубликованы на Google, потом нажать на «Дальше» и указать для Google доступ к данным о Ваших местонахождении и активности. Информация о дислокации позволит Вам отследить прогресс, достигнутый в течение прошедшего дня, и те места, в которых прошли Ваши занятия. К примеру, можно узнать, что Вы совершили 1 734 шага и в 10:17 прогуливались по Самаре.
Для установки приложения на ПК следует зайти на сайт, выбрать свой аккаунт Google и согласиться с правилами использования.
Что необходимо для начала работы?
Вначале нужно скачать программу Гугл Фит, выполнить её установку на своё устройство. Нужно также иметь аккаунт в Google. Там следует заполнить свой профиль с указанием пола, роста, массы. Эта информация должна быть достоверной, поскольку программа будет её использовать для расчётов. При вводе неправды в результате также будет получена недостоверная информация. Тут есть возможность задания целей своей активности. Есть такие варианты:
Вы носите свой девайс, в это время программа осуществляет отслеживание его передвижения. Наиболее приятный момент заключается в отсутствии необходимости в каких-либо дополнительных настройках. Нужно только сделать всё вышеперечисленное, чтобы программа начала работать.
Прогресс реализации заданных целей отображает монитор мобильного устройства. Можно рассмотреть, например, преодолённую дистанцию. На дисплее возникает кольцо, медленно изменяющее свой цвет в ходе приближения к необходимому результату. Отрезки этого кольца могут иметь разные цвета в зависимости от способа перемещения:
Установка целей
Основной целью Google является установление 1 часа физической активности ежедневно. Однако данная норма может оказаться чрезмерной либо, напротив, недостаточной, с учётом конкретной физической формы.
Настройка цели возможна с помощью кнопки «Меню» (имеющей вид значка, у которого 3 вертикальные точки, сверху справа на мониторе): нужно выбрать «Настройки», затем — «Ежедневные цели». Следует задать свою активность на каждый день, а также число шагов, которое планируется преодолеть на протяжении дня. Врачи советуют для взрослых не менее 10 000 шагов ежедневно.
Личные настройки
После настроек аккаунта и определения целей на каждый день можно подумать о приватности. Следует вновь нажать «Меню», затем выбрав «Настройки». Потом прокрутить книзу до тех полей, куда нужно указать рост и массу; при дальнейшем прокручивании можно найти опции, позволяющие переключать разные единицы измерения между собой. Там также можно найти ежедневное определение массы, что чрезвычайно полезно для мониторинга потерь своего веса в течение конкретного времени.
Программа Google Fit время от времени отправляет напоминания, а также обновления заданных целей. Если Вам это не слишком необходимо, можно в меню воспользоваться опцией отключения уведомлений, а также звуков.
Добавление занятия
Не всем нравится выполнение упражнений со смартфоном. Если и Вам это также не по нраву, можно выбрать в «Меню» функцию «Добавить занятие», позволяющую добавлять тренировки, ранее пройденные при отсутствии смартфона. Есть возможность выбора между такими способами передвижения, как ходьба, бег, езда на велосипеде и другие виды активности, добавляя время, потраченное на определённое занятие. Гугл внесёт активное время в профайл, при этом для бега и ходьбы будет ещё подсчитываться число шагов.
Удаление информации
Если Вас чем-то не устраивает Google Fit либо попросту доставляет дискомфорт одно осознание того, что Гугл слишком много про Вас знает, Вы можете нажать на «Меню», выбрать «Настройки», а потом выбрать «Удалить историю». Программа сотрёт всю Вашу информацию в Гугл Фит. Это, увы, нередко вызывает сбои в работе синхронизированных программ.
Синхронизация с другими приложениями
Платформы для фитнеса и программы от Withings, Strava, Runtastic, Noom Coach и Runkeeper способны функционировать с Гугл Фит синхронно, демонстрируя всю полученную информацию в едином месте. На данный момент программы партнёров Гугла пока не обновлялись для активации Гугл Фит, однако есть вероятность этого в обозримом будущем.
Подключение программы к Гугл Фит
С целью открытия для программы Гугл Фит доступа к информации совместимой программы следует совершить нижеописанные действия (иногда инструкции немного различаются для разных программ):
Google Fit – инструкция по использованию сервиса
Google Fit – это сервис для отслеживания физической активности, который работает через аккаунт Google и доступен на всех устройствах: на смартфоне, ПК, смарт-часах. Давайте рассмотрим, как использовать это приложение на смартфоне.
Настройка Google Fit
Для начала вам нужно установить приложение Google Fit на смартфон и зайти в свой аккаунт Google, или сперва создать новый.
Хронология вашей активности будет синхронизироваться на всех ваших устройствах через один аккаунт.
После авторизации нужно зайти в настройки и ввести свои личные характеристики для того, чтобы сервис мог правильно рассчитывать тренировки, затраты калорий и так далее. Единицы измерения можно изменить с футов и фунтов на привычные сантиметры и килограммы.
Далее нужно разрешить приложению отслеживать активность и дать доступ к геоданным. Для этого прокрутите меню настроек ниже, включите отслеживание активности и выберите настройки определения местоположения.
Приложение Google Fit – постановка целей
Приложение считает такие показатели:
Сразу будет выбрана стандартная ежедневная цель – 10000 шагов. Вы можете установить собственную цель так:
Тренировки с Google Fit
Google Fit может учитывать данные всех ваших тренировок для дальнейшего отображения в вашей хронологии и расчёта калорий. Для начала тренировки сделайте так:
После обратного отсчёта начнётся запись тренировки, на экране вы увидите все необходимые данные.
Подключить приложения к Google Fit
Вы можете подключить сторонние спортивные приложения к Google Fit и отслеживать общую хронологию ваших достижений. Для этого нажмите “Открыть список приложений” и выберите подходящее под ваши тренировки приложение. В дальнейшем списком подключённых приложений можно управлять в настройках.
А вы фиксируете свои достижения с помощью приложений? Напишите в комментариях какие приложения предпочитаете вы!
Снова Google Fit. Работает ли он?
Привет! Меня зовут Виктор, я разрабатываю веб-приложение catisfit.com для анализа данных Google Fit.
Ожидания
Большая часть мобильных телефонов давно научилась считать шаги. Многие носят фитнес-браслеты и часы, пользуются спортивными трекерами типа Strava, становятся по утрам на умные весы, пытаются контролировать сон и ведут дневники питания. Некоторые даже используют смарт-тонометры и ботинки.
Все связанные с этими гаджетами приложения работают внутри себя, показывают графики, подсказывают, как надо есть, как двигаться и как легче достичь цели. Общее у них одно — они все, как правило умеют синхронизироваться с приложением Google Fit и через него обмениваться данными друг с другом. Милтрекер берет ваши шаги из приложения-браслета и пересчитывает калории с учетом активности, браслет берет вес и меняет цели. А Google Fit все это любезно собирает, хранит, подсчитывает и отдает.
Это я так думал, когда решил использовать его API чтобы создать сайт, где пользователь мог бы видеть все и сразу, в разрезе аналитики и сравнения.
Под катом — суровая реальность.
Реальность
Итак, “испытательное снаряжение”: 2 мобильника Samsung, трекеры MiBand3 и Misfit Shine, носимые вместе и по очереди, весы Mi Scale, милтрекер MyFitnessPal
Активность
Шаги. Казалось бы, все просто: есть 3 источника истины (мобильник+2 трекера). Надо считать общее количество шагов в день. Есть у GF специальные “агрегированные” запросы на этот случай.
Теперь про разницу показаний. Это разница значений MiBand (оранжевая линия) и приложения Google Fit (зеленая):
Разница показаний может достигать 50-100%! Какая уж тут статистика с аналитикой.
Я писал в GF (без ответа, само собой), писал в глобальный саппорт Xiaomi ( посоветовали по-особому жестко переустановить приложение и если что, менять трекер).
Далее я понял, что все еще хуже.
Оказывается, гигантской разницы могут достигать показания в мобильном приложении Google Fit и в его же Google Fit API. Т.е. GF криво синхронизируется со своими же серверами. Народ робко вопрошает на StackOverflow и единственный совет от GF — изменить запрос (в принципе, иногда помогает если разница в значениях 1-5%, т. к. данные агрегируются по-разному).
Кстати, со временем (спустя 4-8 недель) с этими “внутренними” расхождениями происходит магия. Они как бы “сглаживаются”. Другими словами, статистика за август этого года будет сильно “правдивее” ноября. На этом графике включен “проблемный” период с ссылки выше:
Так вот сейчас показания Android-приложения и Rest для этого периода идентичны, хотя когда я задавал вопрос, разница также была колоссальной (до 100%). Плохо лишь то, что “сглаживаются” они по совершенно непонятному закону и почти всегда в меньшую от показаний браслетов сторону.
Если запариваться — каждый вечер запускать одновременно приложения браслетов и Google Fit, ждать, чтобы они друг с другом побыли наедине в памяти и в IU — расхождений и пропусков сильно меньше.
Когда телефон в международном роуминге (в нем я отключаю мобильные данные и пользуюсь только wifi в отелях/хотспотах) — беда. Вне зависимости от количества смарт-побрякушек и показаний на них, GF “обнуляет” целые недели. Причем иногда — еще несколько дней после прилета домой. Дни катания на лодке по России при временном (не более суток) отсутствии связи и Интернета тоже часто бывают обнулены.
Это единственное, с чем нет проблем. По крайней мере, если вставать на весы один раз утром. ) Нет ни пропусков, ни неточностей. Наверное, потому, что днем и вечером никто обычно не взвешивается и несколько разных весов дома не держит.
Питание
Здесь вопрос синхронизации с GF еще острее, чем с активностью. Т.е. если каждый вечер заполнять дневник питания в мобильном приложении, или на сайте, но синхронизировать с приложением — все ок. Если вы решите заполнить дневник за 3-4 прошедших дня — будьте готовы к тому, что в Google останутся только последние два:
Вот такие “ломаные” периоды c пропущеными днями. По факту, MyFitnessPal заполнен за весь период без пропусков.
В данных о сне, приходящих с браслета, как правило больше интересно качество, а не количество: фазы сна, продолжительность глубокого сна и пр. К сожалению, GF не различает разные фазы сна, под одним и тем же “activityType”: 72 приходят “Глубокий Сон” и “Неглубокий сон”. Разница только литеральная, значит для носителя каждого отдельного языка — своя. Т.е. на данный момент из API возможно оценить только общую продолжительность.
Вот собственно и вся картина на сегодня. Остается добавить, что внутри смартфона обмен этими данными между приложениями также довольно выборочный, специфический и главное — нестабильный.
Выводы
В целом проект GF на данный момент больше похож на непрофильную поделку китайского производителя гаджетов, работающую на “отстань, маркетолог”. Но не компании, которая прямо сейчас покупает Fitbit и по местным слухам хочет стать глобальным оператором медицинских данных.
Остается надеяться, что с этими изменениями у GF появятся более конкретные цели, проекту начнут уделять больше внимания, и точность данных хотя бы примерно будет соответствовать действительности.
Корпорация Google представила Google Fit: сервис и приложение для мониторинга здоровья пользователя
Компания Google за последние несколько месяцев анонсировала большое количество интересных новинок. Одна из них — приложение для мониторинга здоровья Google Fit, об этом приложении корпорация сообщала ранее, на конференции I/O от Google. Теперь это приложение стало доступно для пользователей.
Уже сейчас можно бесплатно скачать Google Fit из каталога приложений Google Play. Стоит отметить, что приложение совместимо с Android 4.0 и более новыми версиями этой ОС.
Google Fit — это не просто приложение, а целая платформа, облачный сервис, ведущий наблюдение за активностью человека и некоторыми характеристиками его организма. Приложение совместимо с рядом планшетов и смартфонов, но лучше всего работать с Google Fit при помощи фитнес-трекеров, умных часов и других специализированных устройств.
Возможности Google Fit
Приложение может использоваться для отслеживания активности человека при занятиях различными видами спорта. При этом Google Fit автоматически определяет бег, ходьбу, езду на велосипеде.
Во время тренировки приложение ведет учет пройденного расстояния, количества сделанных шагов, сожженных калорий и другую информацию. Дополнительные возможности можно получить, подключив специализированные фитнес-гаджеты (официально заявлено о поддержке устройств от Nike, HTC, LG, RunKeeper, Withings, Motorola, Noom, Runtastic и Polar).
У пользователя есть возможность добавлять цели (например, пройти не менее 2 километров в день), после чего приложение будет следить за выполнением плана. Для того, чтобы результаты можно было оценить, пользователю предоставляется графическая визуализация полученной Google Fit информации.
Просмотреть свои результаты и общую оценку активности можно как в мобильном приложении, так и при помощи веб-версии Google Fit.
Кроме того, Google Fit совместимо и со сторонними приложениями: Strava, Runtastic или Runkeeper. Данные из этих приложений можно передавать в Google Fit, где информация будет анализироваться, а затем предоставляться пользователю в виде информативных графиков, диаграмм и журналов активности.
Сейчас решения, схожие с Google Fit, предлагают многие компании, включая Apple и Samsung.
GoogleFit API — стартуем и видим результат
Привет, Хабрахабр! Современные гаджеты и носимая электроника позволяют не только выходить в интернет откуда душе угодно, шарить и лайкать контент, но и следить за здоровьем, учитывать спортивные достижения и просто вести здоровый образ жизни.
Сегодня мы расскажем про основные возможности GoogleFit API на платформе Android и попробуем применить информацию на практике: научимся считывать данные с доступных в системе датчиков, сохранять их в облако и вычитывать историю записей. Еще мы создадим проект, реализующий эти задачи, и рассмотрим общие перспективы применения GoogleFit API в реальных разработках.
Спасибо ConstantineMars за помощь в подготовке статьи.
Что к чему
GoogleFit — достаточно небольшая и хорошо документированная платформа. Необходимую для работы с ней информацию можно посмотреть на нашем портале Google Developers, там взаимодействию с Fit посвящён целый раздел. Для тех же, кому не хочется с головой нырять в опиcания API, а интересно узнать об основных возможностях платформы по порядку, отличным стартом послужит видео Lisa Wray, официального Google Developer Advocate.
Начать знакомство с платформой Fit можно с этого туториала:
GoogleFit позволяет получать фитнес-данные с различных источников (сенсоров, установленных в телефонах, умных часах, фитнес-браслетах), сохранять их в облачное хранилище и считывать в виде истории «фитнес-измерений» или набора сессий/тренировок.
Для доступа к данным можно использовать и нативные API под Android, и REST API для написания веб-клиента.
Важнейшую роль в экосистеме GoogleFit играют носимые гаджеты, на которые делаются большие ставки. Кроме «классических» умных часов, система поддерживает данные со специализированных фитнес-браслетов Nike+ и Jawbone Up или Bluetooth датчиков. Как мы уже говорили, данные сохраняются в облаке и позволяют просматривать статистику, свободно комбинируя информацию из разных источников.
Fit API — часть Google Play Services. Как многие из вас уже знают, не так важно иметь последнюю версию OS Android на вашем устройстве, как обновленные Play Services. Благодаря выносу подобных API в часть, обновляемую Google, а не производителями смартфонов, пользователи ваших приложений по всему миру могут использовать совершенно разные поколения систем. В частности, Fit API доступен всем, у кого на смартфоне стоит Android версии 2.3 или выше (Gingerbread, API level 9).
GoogleFitResearch demo
Для демонстрации возможностей GoogleFit мы создали специальный проект, который позволит вам поработать с API не утруждая себя написанием некоторого базиса, на котором все будет работать. Исходный код GoogleFit Research demo можно забрать на BitBucket.
Начнем с самого простого: попробуем получить данные с сенсоров вживую, применив для этого Sensors API.
Перво-наперво надо определиться, с каких датчиков будем забирать исходные данные. В Sensors API для этого предусмотрен специальный метод, который позволяет получить список доступных источников информации, а мы можем выбирать из этого списка один, несколько или хоть все датчики.
В качестве примера мы попробуем считать показатели частоты пульса, количество шагов и изменение координат пользователя. Надо отметить, что, хотя мы и обращаемся к пульсомеру, данных с него всё равно пока не получим: измеритель пульса доступен в умных часах и фитнес-трекерах, но не в самом смартфоне, условимся, что на момент написания кода ни часов, ни датчиков пульса у нас нет — как данных с них тоже нет. Так мы сможем оценить, как система реагирует на «негатвный тест», т.е. случай, когда вместо ожидаемых данных мы получаем в лучшем случае — нули, а в худшем — сообщение от системы об ошибке.
Up to all night to get started
Всё, что потребуется для работы с примером — ваш Google-аккаунт. Нам не понадобится ни создавать базу данных, ни писать собственный сервер — GoogleFit API уже позаботился обо всем.
В качестве официального примера можно использовать исходники от Google Developers, доступные на GitHub.
Подготовка проекта
dependencies <
compile ‘com.google.android.gms:play-services:6.5.+’
>
Авторизация
С подготовкой проекта более или менее разобрались, теперь перейдем непосредственно к коду авторизации.
Соединяться с сервисами будем при помощи GoogleApiClient. Следующий код создает объект клиента, который запрашивает Fitness.API у сервисов, добавляет нам права доступа на чтение (SCOPE_LOCATION_READ) и запись (SCOPE_BODY_READ_WRITE) и задает Listener’ы, которые будут обрабатывать данные и ошибки из Fitness.API. После этого данный фрагмент кода пробует подключиться к Google Play Services с заданными настройками:
GoogleApiClient.ConnectionCallbacks — обеспечивает обработку удачного (onConnected) или неудачного (onConnectionSuspended) подключения.
GoogleApiClient.OnConnectionFailedListener — обрабатывает ошибки подключения и самую главную ситуацию — ошибку авторизации при первом обращении к GoogleFit API, таким образом выдавая пользователю веб-форму OAuth-авторизации (result.startResolutionForResult):
Авторизация осуществляется с помощью стандартной веб-формы:
Результат исправления ошибки авторизации, которая была начата вызовом startResolutionForResult, обрабатывается в onActivityResult:
Мы используем переменную authInProgress для исключения повтороного запуска процедуры авторизации и ID запроса REQUEST_OAUTH. При успешном результате подключаем клиент вызовом mClient.connect(). Это тот вызов, который мы уже пробовали осуществить в onCreate, и на который нам пришла ошибка при самой первой авторизации.
Sensors API
Sensors API обеспечивают получение живых данных с датчиков по заданному интервалу времени или событию.
Для демонстрации работы отдельных API в нашем примере мы добавили врапперы, которые оставляют для вызова из MainActivity только обобщенный код. Например, для SensorsAPI в onConnected() коллбэке клиента мы вызываем:
Fitness.SensorsApi.findDataSources запрашивает список доступных источников данных (которые мы отображаем во фрагменте Datasources).
DataSourcesRequest должен включать в себя фильтры типов, для которых мы хотим получить источники, например DataType.TYPE_STEP_COUNT_DELTA.
В результате запроса мы получаем DataSourcesResult, из которого можно получить детали каждого источника данных (устройство, бренд, тип данных, поля типа данных):
Полученный нами список источников данных может выглядеть так:
В нашем примере мы упростили задачу и подписываемся на обновления от каждого источника, подходящего под наши критерии. В реальной жизни есть смысл выбирать один источник, сужая критерии, чтобы не получать избыточные данные, засоряющие трафик. Подписываясь на сообщения от источника данных, мы можем задать также интервал считывания данных (SamplingRate):
Например, счетчик шагов (delta) выдает нам новую запись на каждый шаг (вернее, на то, что датчик воспринимает как шаг, т.к. в данном случае удалось обойтись обычным потряхиванием телефоном для генерации новых записей :-p ).
Recording API
Здесь мы подписываемся на DataType.TYPE_STEP_COUNT_DELTA. При желании собирать данные других типов достаточно повторить вызов для другого типа данных.
Получение списка существующих подписок выполняется так:
Выглядят логи вкладки Recordings таким образом:
History API
Наши логи будут заполнены информацией из предыдущих сессий, записанных через Recording, и тем, что собрал для нас официальный GoogleFit (он тоже активирует Recording API, с помощью чего считает, например, количество шагов и время активности за день).
Что дальше?
Итак, мы рассмотрели возможности считывания данных непосредственно с датчиков (Sensors API), автоматизированной записи показателей датчиков в GoogleFit (Recording API) и работы с историей (History API). Это базовая функциональность фитнес-трекера, которого вполне достаточно для полноценного приложения.
Дальше есть еще два интересных API, предоставляемых GoogleFit — Sessions и Bluetooth. Первый дает возможность группировать виды активности в сессии и сегменты для более структурированной работы с фитнес-данными. Второй позволяет искать и подключаться к Bluetooth-датчикам, находящимся в радиусе досягаемости, таким как кардиомониторы, датчики в обуви/одежде и т. п.
Еще вы можете создавать программные сенсоры и таким образом обеспечивать работу с устройствами, которые не реализуют необходимые протоколы, но предоставляют данные (реализуется с помощью FitnessSensorService). Эти фичи не обязательны, но добавляют неплохие возможности для получения собственных типов данных (агрегированных из данных других датчиков или сгенерированных программно) и их можно использовать при необходимости.
Разумеется, если вы возьметесь работать с GoogleFit API, вам захочется сделать приложением красивым и приятным в использовании. Для этого могут понадобиться еще два компонента: отображение графиков, похожих на то, что рисует официальный GoogleFit (для чего есть множество внешних библиотек, например, на Bitbucket, и почти наверняка — AndroidWear, который, в частности, предоставляет API для взаимодействия с датчиком считывания пульса в умных часах