I looked into the Google Fit API (from the Android side) and came away impressed with the API if not the terms and conditions.
As you mentioned, data types are highly flexible and extensible. Apps are allowed to keep their own data isolated from other apps, but are asked to share data if they use data from the shared pool. I went so far as to query for activity data and look at the return format. I considered an integration with Tap Log, but decided synchronizing the two datasources wasnât worth the effort. If I wanted to integrate with the API it would be all or nothing. Googleâs âFitâ app is truly a gem, and I imagine most apps that choose to integrate with Google Fit API will be variations on that one (with different charts, notifications, and data input mechanisms).
The terms and conditions threw me for a loop(https://developers.google.com/fit/overview). Specifically the statement âDo not use Google Fit APIs for non-fitness purposes, such as storing medical or biometric data âŚâ but isnât storing biometric data the whole point? Where is the line between EKG readings and a periodic measurement of a heart rate? Apple has made explicit overtures to consumers and the medical community to make HealthKit a repository of biometric and medical data, but Google Fit forbids it explicitly. Itâs like Google has created a superhighway for health data, but allows bicycles only.
The lawyers probably made them add those terms because Google Fit isnât HIPAA-compliant, and it doesnât look like they plan to be (been there done that with Google Health)?
Iâm using the Google Fit REST API to support retrieval of data from apps that donât provide their own API, e.g. Runtastic, Polar or the Azumio Heart Rate app. This works great, except that there are frequent sync issues between the mobile device and Googleâs servers, and many apps donât bother creating the proper data streams.
Not sure how data from a general-purpose app like Tap Log would âfitâ into Google Fit. I suppose you could create a stream for each âcategoryâ? Reading data back could be a bit trickier, but thatâs optionalâŚ
Syncing seems to happen once an hour or so, when on WiFi, and less often otherwise. But sometimes things get plugged up and wonât sync properly until I can get hold of a plumber at Google
Whatâs new is that this data is now shown in the âFitâ app; the API has supported distances etc from the beginning.
Not sure Google Fit is very useful yet for storing sleep data: Youâll only get the begin and end times (in UTC). Iâm curious if Basis creates custom data streams in Google Fit to store additional data; if you create a bucket for your google-activities data on zenobase.com, I can let you knowâŚ