使用者可以透過工作階段,輕鬆快速地查看 做過的活動這些內容會顯示在 Google Fit 應用程式的日誌頁面中。適用對象 像是呼吸練習、散步、跑步或夜間睡眠 工作階段的範例。
工作階段會將特定時間範圍內收集的資料集分組 或活動。例如,使用者在開始追蹤並看完 3 公里的資料時 您可以建立跑步課程,以及這段時間內的所有健身資料 經期 (例如步數、速度、距離) 將與該時段建立關聯。
工作階段本身不會包含活動的詳細資料。目前的 工作階段具有以下屬性:
- 描述性且好記的名稱 (例如「晨跑」)
- 說明資訊
- 專屬 ID
- 擷取的活動類型 (例如跑步)
使用工作階段的優點
- 對使用者相當實用:課程可協助您管理 為使用者提供有意義的體驗他們可以查看當天所有的活動 Google Fit 應用程式中的日誌頁面。
- 一致的使用者體驗:如果應用程式或隨附裝置允許活動 追蹤 (使用者可開始和停止活動)、擁有工作階段 使用者可以藉由這些運動查看自己在這兩個應用程式中的活動。
- 更完整的資料:Google Fit 也會合併多個資料 提供補充資訊,提供更豐富的講座資訊這讓使用者 更完整的活動概況
- 使用 Google Fit 平台:如果使用者不會追蹤他們的活動,或 您的應用程式不支援追蹤功能,但你還是可以在 Google Fit 中讀取工作階段。 您可以在健身商店中查詢詳細或匯總資料,並 可用的工作階段,不必自行導入結構定義和 如果 30 天內讀取資料不到一次 建議使用 Coldline Storage
- 提高使用者參與度:您可以向使用者顯示可用的工作階段,以及 打造專屬應用程式以這種方式與其他健身應用程式互動 提升使用者參與度
取得工作階段的使用者授權
如果您要讀取或寫入工作階段,您的應用程式必須取得使用者的 權限。工作階段存取權的授權範圍相同 做為資料類型,請要求如下所示:
Android
指定應用程式需要存取的工作階段類型,以適當的
FitnessOptions
的方法。
舉例來說,如要讀取與跑步相關的工作階段,您可以選擇:
val fitnessOptions = FitnessOptions.builder()
.accessActivitySessions(FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_HEART_RATE_BPM, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_SPEED, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_LOCATION_SAMPLE, FitnessOptions.ACCESS_READ)
.build()
本例指出應用程式要存取活動工作階段中繼資料。 並指定要在這些工作階段中讀取的資料類型這個 這個範例會使用心率、速度和位置資料類型。
REST
要求範圍如下:
- 有睡眠活動類型的時段:
https://www.googleapis.com/auth/fitness.sleep.read
https://www.googleapis.com/auth/fitness.sleep.write
- 所有其他課程:
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
使用工作階段
Android
您可以使用 Sessions API 執行下列操作:
- 即時建立課程
- 在健身商店中插入時段
- 插入活動片段,在運動期間支援暫停
- 讀取與其相關的工作階段和資料集
- 啟動其他應用程式,顯示其所建立工作階段的相關資訊
- 其他應用程式啟動工作階段時接收意圖
REST
您可以使用 Sessions API 執行下列操作:
- 即時建立課程
- 在健身商店中插入時段
- 插入活動片段,在運動期間支援暫停
- 讀取與其相關的工作階段和資料集
資料集和區隔如何與工作階段互動
使用 Google Fit:
- 資料集代表從特定資料表取得的一組資料點 特定時間範圍的資料來源。可將資料集插入其特徵 不過,如果您建立工作階段 會擷取工作階段和資料集
- 區隔會按照使用者的確切活動,將工作階段中的資料集分組 確實做到這點舉例來說,如果使用者追蹤 30 分鐘的跑步 ( 但在這個過程當中走了一小段時間 區隔系統會針對跑步中提供一段行程,然後是步行休息時間,接著 再次執行
![](https://developers-dot-devsite-v2-prod.appspot.com/static/fit/images/timeline.png?authuser=2&hl=zh-tw)
圖 1 顯示健身商店中的時間間隔,其中應用程式 A、B 和 C 已插入其中 部分資料集和工作階段:
- 應用程式 A 將資料集 A1 和 A2 與工作階段 1 和 A3 插入,且不受任何工作階段影響。
- 應用程式 B 使用工作階段 2 插入資料集 B1 和 B2。
- 應用程式 C 已獨立插入資料集 C1 (與任何工作階段皆無關)。
從 fitness Store 讀取工作階段資料時,所有落入的健身資料 系統就會根據該時段 即使您在建立工作階段後插入資料 持續追蹤資料後的工作階段例如,健身查詢 工作階段 1 的資料會傳回:
- 資料集 A1
- 資料集 A2
- 資料集 A3 介於 t1 和 t2 之間的部分
- 資料集 C1 介於 t1 和 t2 之間的部分
您可以分辨每個工作階段和資料集插入的是哪個應用程式。
建立工作階段
建立工作階段的方式有以下幾種:
- 您的應用程式可以在下列任一位置主動建立工作階段:
- 即時:使用者主動追蹤裝置上的活動 (僅限 Android 裝置);或
- 手動插入。
- 使用者在 Google Fit 應用程式中手動新增健身或活動時。
建立工作階段的時機
要新增睡眠資料嗎?
- 是 - 建立課程,並手動將課程插入健身商店。 例如,插入睡眠工作階段。這個 這是因為採用睡眠追蹤應用程式或裝置的使用者 無法與裝置互動 開始和停止其睡眠活動(被動追蹤)。
- 否 - 您的應用程式是否可讓使用者開始及停止活動?
- 否 - 不建立工作階段。請務必從應用程式新增資料集。
- 是 - 使用 Android API,在使用者追蹤的情況下即時建立工作階段 他們的活動,或是手動。 使用 REST API,建立工作階段並手動將程式碼插入健身商店。
- 應用程式可以偵測使用者何時會再進行其他活動
詳細程度 (例如步行和跑步)?
- 是 - 新增區隔。
- 否 - 只新增資料集。忽略 ,然後讓 Google Fit 被動建立這些區隔
閱讀時段
應用程式可透過以下幾種方式讀取工作階段:
- 找出工具建立/插入的工作階段
- 名稱或
- ID
- 依時間範圍尋找建立/插入的所有工作階段
- 依時間範圍找出所有應用程式 (包括 Google Fit) 建立的所有可用工作階段
瞭解哪些來源建立了工作階段
您可以向使用者顯示各個工作階段建立的是哪個應用程式或裝置。每項 有工作階段相關的資料來源,該來源含有應用程式相關資訊 收集或轉換資料的裝置。
Android
您目前只能取得由 Android 編寫的工作階段套件名稱
用戶端。如要取得建立工作階段的應用程式套件名稱,請使用
getAppPackageName
方法,增加圍繞地圖邊緣的邊框間距。您可以使用這些資訊在應用程式中顯示這些資訊
中插入了健身工作階段的使用者。您可以顯示
每個
應用程式,以協助使用者識別應用程式。
您也可以觸發 意圖 啟動其他應用程式,即可顯示他們建立的工作階段詳細資訊。其他應用程式也可以 觸發啟動應用程式的意圖。
進一步瞭解如何找出建立來源 工作階段。
REST
如要取得建立工作階段的 Android 應用程式套件名稱,請使用
session.application
資源。對於使用
REST API,請改用 session.name
屬性。您可以使用
才能向使用者展示哪些其他應用程式插入了健身機制
工作階段。可以顯示各個應用程式的圖示,方便使用者辨識
具體做法是指示 Kubernetes 建立並維護
一或多個代表這些 Pod 的物件
進一步瞭解如何找出建立來源 工作階段。