데이터 정확성과 일관된 집계를 보장하기 위해 Google Health API는 사용자 활동이 보고되는 방식을 현대화합니다. true zeros 및 on-wrist filtering를 도입하여 API를 사용하면 사용자가 정지해 있던 기간과 기기를 착용하지 않은 기간을 정확하게 구분할 수 있습니다.
True Zeros
진정한 0은 사용자가 기기를 착용하고 적극적으로 추적했지만 특정 측정항목에 대해 0 값을 기록했음을 나타내는 명시적 데이터 포인트입니다. 예를 들어 사용자가 기기를 착용한 상태에서 1분 간격 동안 0걸음 또는 0거리를 기록할 수 있습니다.
이전에는 데이터가 누락된 경우 의미가 모호했습니다. 사용자가 앉아 있었거나 기기가 손목에서 벗어났음을 나타낼 수 있었습니다. API는 기기를 착용했지만 비활성 상태인 경우 0 값을 명시적으로 저장하고 반환하여 이 문제를 해결합니다. 이렇게 하면 손목에 착용한 상태로 움직이지 않는 기간과 누락된 데이터를 명확하게 구분할 수 있습니다.
손목에서 필터링
손목 착용 필터링은 사용자가 기기를 실제로 착용하고 있는지 확인하는 프로세스입니다. 이를 통해 기기가 가방에 있는 동안 차량 진동으로 인해 기록된 '팬텀' 걸음 수와 같은 불필요한 데이터를 API에서 필터링할 수 있습니다.
지원되는 데이터 유형
다음 데이터 유형은 실제 0 동작과 손목 위 필터링을 지원합니다.
- 고도
- 거리
- 층수
- 단계
- 총 칼로리
애플리케이션에 미치는 영향
실제 0을 구현하면 데이터 격차 해석 및 일일 평균과 같은 측정항목 계산의 정확성이 개선됩니다.
목록 및 롤업 동작
기본적으로 Google Health API는 다음 데이터 유형에 대해 손목 위 데이터만 반환합니다.
- 목록 작업: 기기를 착용한 기간의 데이터 포인트만 반환합니다. 목록의 공백은 기기가 손목에서 벗어났거나 동기화되지 않았음을 나타냅니다.
- 롤업 작업: 응답의 0은 실제 0을 의미합니다(사용자가 기기를 착용했지만 움직이지 않음). 특정 간격 동안 추적 기기를 착용하지 않은 경우 API는 해당 롤업 기간에 대한 데이터를 반환하지 않습니다.
Fitbit Web API와의 비교
Fitbit Web API는 추적 기기를 착용하지 않은 경우에도 0을 포함한 데이터를 반환하는 경우가 많았습니다. Google Health API는 움직임을 더 정확하게 나타냅니다.
| 기능 | Fitbit Web API | Google Health API |
|---|---|---|
| 비활성 상태의 모호성 | 데이터가 누락되었다면 비활성 상태이거나 손목에서 벗어났다는 의미일 수 있습니다. | 0은 착용하지 않은 상태를 명시적으로 나타냅니다. |
| 데이터 누락 | 데이터 격차가 기본적으로 UTC 오프셋으로 설정될 수 있습니다. | 명시적 스토리지는 시간대 및 민간 시간 문제를 해결합니다. |
| 필터링 | 손목에서 제한적으로 필터링 | 엄격한 손목 착용 필터링을 통해 생리적 정확성을 보장합니다. |