前言
現今大家越來越重視運動與健康,iPhone手機主要內建了Apple Health,Android則是可透過Google Play下載自家的Google Fit,各家廠牌也推出了運動手環、手錶、App來協助我們記錄每天的健康狀況、步行、卡路里的數值,而也越來越多的銀行、保險公司想推出與運動相關的App來拉近民眾成為潛在客戶,此篇文章將介紹該如何整合這些數據以及其中的差異。
iPhone內的CMPedometerData則提供了時間區間查詢步數、距離、平均速度(s/m 每公尺花幾秒)、目前速度(s/m每公尺花幾秒)、當前步速(步/s)、上樓樓層數、下樓樓層數等資訊。
若要取得到第三方運動App的數據時,則可透過HKSampleQuery的方式取得,可取到各App內詳細的數值。
Google Fit內權限的取得需參考https://developers.google.com/fit/android/get-started網址內的步驟,開發者帳號需要先通過OAuth 2.0的認證和設定才可以於Debug和Build時與Google Fit連結,若未作此動作則無法連結到Google Fit權限。
另外Google Fit的卡路里資料是包含動態卡路里和靜態卡路里加總而算出來的,靜態卡路里指的是是指一般人所需的最小熱能需求量,計算公式如下:
卡路里的部分Apple Health可分別取得動態及靜態能量,但皆需額外有穿戴裝置才可取得,靜態能量一般常見的運動手環也無法取得;Google Fit的部分則是將動態靜態卡路里加總提供,未提供分別的數值,需要自行透過公式去計算,較為麻煩。
Core Motion & Motion Sensors
iPhone內的CMPedometerData則提供了時間區間查詢步數、距離、平均速度(s/m 每公尺花幾秒)、目前速度(s/m每公尺花幾秒)、當前步速(步/s)、上樓樓層數、下樓樓層數等資訊。
- 取得資訊即時快速。
- 詢問使用者權限較簡單。
- 無圖形化介面供使用者核對。
- 可取得資料有限、僅可取得步數。
- Android需自行建立監聽事件。
- 於Android上容易發生誤判情形。
Apple Health
若要取得到第三方運動App的數據時,則可透過HKSampleQuery的方式取得,可取到各App內詳細的數值。
Google Fit
Google Fit取得資料的方式則是透過Google Fit雲端的API取得,除了可透過App內呼叫Google Fit API外,也可透過Web Service等方式取得,使用情境可不局限於App上。但Android手機無內建Google Fit,建議在App內需引導使用者下載Google Fit後才可取得運動數據。
Google Fit內權限的取得需參考https://developers.google.com/fit/android/get-started網址內的步驟,開發者帳號需要先通過OAuth 2.0的認證和設定才可以於Debug和Build時與Google Fit連結,若未作此動作則無法連結到Google Fit權限。
Google Fit權限的綁定會分為兩個部分,第一個步驟是選擇要綁定的帳號,此部分需選擇到有登入過Google Fit服務的帳號後才會顯示第二個步驟「允許權限」。
因Google Fit的綁定是透過Google帳號與Google Fit及我們開發的App做連結,要確認Google Fit是否綁定成功需開啟Google Fit App,到個人資料頁面右上角的設定>管理已連結的的應用程式確認是否有綁定成功。
另外Google Fit的卡路里資料是包含動態卡路里和靜態卡路里加總而算出來的,靜態卡路里指的是是指一般人所需的最小熱能需求量,計算公式如下:
每日男性 REE = (10 × 體重) +(6.25 × 身高) - (5 × 年齡) + 5
每日女性 REE = (10 × 體重) +(6.25 × 身高) - (5 × 年齡) – 161
Google Fit內的卡路里並無法拆分動態與靜態,因此卡路里的部分會受到使用者在Google Fit內填寫的身高、體重、性別、生日而影響,故來源為Google Fit。
Apple Health vs Google Fit
卡路里的部分Apple Health可分別取得動態及靜態能量,但皆需額外有穿戴裝置才可取得,靜態能量一般常見的運動手環也無法取得;Google Fit的部分則是將動態靜態卡路里加總提供,未提供分別的數值,需要自行透過公式去計算,較為麻煩。
沒有留言:
張貼留言