使用者可以透過「工作階段」快速輕鬆查看自己執行過的所有主要活動清單。這些資料會顯示在 Google Fit 應用程式日誌頁面中。適用對象 像是呼吸練習、散步、跑步或夜間睡眠 工作階段的範例。
工作階段會將活動期間收集到的特定時間範圍資料集分組。舉例來說,如果使用者追蹤 3 公里跑步的開始和結束時間,系統就會建立工作階段,並將該時間範圍內的所有健身資料 (例如步數、速度、距離) 與該工作階段建立關聯。
工作階段本身不含活動詳細資料。目前的 工作階段具有以下屬性:
- 描述性、友善的名稱 (例如「早晨跑步」)
- 說明資訊
- 專屬 ID
- 所擷取的活動類型 (例如跑步)
使用工作階段的優點
- 對使用者相當實用:課程可協助您管理 為使用者提供有意義的體驗他們可以查看當天所有的活動 Google Fit 應用程式中的日誌頁面。
- 一致的使用者體驗:如果應用程式或隨附裝置允許活動 追蹤 (使用者可開始和停止活動)、擁有工作階段 使用者可以藉由這些運動查看自己在這兩個應用程式中的活動。
- 更完整的資料:Google Fit 也會合併多個來源的資料,補充及豐富您的工作階段資訊。讓使用者更全面地掌握自己的活動。
- 使用 Google Fit 平台:如果使用者不會追蹤他們的活動,或 您的應用程式不支援追蹤功能,但你還是可以在 Google Fit 中讀取工作階段。 您可以從健身商店查詢詳細資料或匯總資料,並找出可用的時段,而無需實作自己的結構定義和儲存空間。
- 提高使用者參與度:您可以向使用者顯示可用的時段,以及建立時段的應用程式。以這種方式與其他健身應用程式互動 提高使用者參與度
取得工作階段的使用者授權
如果您要讀取或寫入工作階段,您的應用程式必須取得使用者的 權限。會話存取權使用與資料類型相同的授權範圍,您應按照以下方式提出要求:
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:
- dataset代表從特定資料表取得的一組資料點 特定時間範圍的資料來源。可將資料集插入其特徵 不過,如果您建立工作階段 會擷取工作階段和資料集
- 區隔會根據使用者在工作階段中執行的確切活動,將工作階段中的資料集分組。舉例來說,如果使用者追蹤 30 分鐘的跑步 ( 但在這個過程當中走了一小段時間 區隔系統會針對跑步中提供一段行程,然後是步行休息時間,接著 再次執行

圖 1 顯示健身商店中的時間間隔,其中應用程式 A、B 和 C 已插入其中 部分資料集和工作階段:
- 應用程式 A 會在工作階段 1 中插入資料集 A1 和 A2,而 A3 則與任何工作階段無關。
- App 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
屬性。您可以使用
才能向使用者展示哪些其他應用程式插入了健身機制
工作階段。您可以顯示每個應用程式的圖示,協助使用者辨識。
進一步瞭解如何找出建立來源 工作階段。