Para garantir a precisão dos dados e agregações consistentes, a API Google Health moderniza a forma como a atividade do usuário é informada. Ao introduzir true zeros e
on-wrist filtering, a API permite distinguir com precisão entre
períodos em que um usuário estava parado e quando não estava usando o
dispositivo.
Zeros reais
Um zero verdadeiro é um ponto de dados explícito que indica que um usuário estava usando o dispositivo e monitorando ativamente, mas registrou um valor zero para uma métrica específica. Por exemplo, um usuário pode registrar 0 etapas ou 0 distância durante um intervalo de 1 minuto enquanto usa o dispositivo.
Historicamente, os dados ausentes eram ambíguos. Isso pode significar que o usuário estava sedentário ou que o dispositivo não estava no pulso. A API resolve isso armazenando e retornando explicitamente um valor 0 quando o dispositivo está sendo usado, mas está inativo. Isso garante que você possa distinguir claramente entre períodos estacionários no pulso e dados ausentes.
Filtragem no pulso
A filtragem no pulso é o processo de identificar se um usuário está usando o dispositivo. Isso permite que a API filtre dados estranhos, como etapas "fantasma" registradas devido a vibrações do veículo enquanto um dispositivo está em uma bolsa.
Tipos de dados compatíveis
Os seguintes tipos de dados são compatíveis com o comportamento de zero verdadeiro e a filtragem no pulso:
- Altitude
- Distância
- Andares
- Etapas
- Total de calorias
Impacto no seu aplicativo
A implementação de zeros reais melhora a precisão da interpretação da lacuna de dados e dos cálculos de métricas, como médias diárias.
Comportamento de lista e visualização completa
Por padrão, a API Google Health retorna apenas dados do pulso para os seguintes tipos de dados:
- Operações de lista:retornam pontos de dados apenas para períodos em que o dispositivo
foi usado.
- Lacunas de dados:lacunas e registros ausentes na lista indicam que o dispositivo estava fora do pulso ou não estava sincronizando.
- Registros vazios:os pontos de dados em que um usuário estava usando o dispositivo, mas não teve atividade (um verdadeiro zero), são retornados com
dataSourcenormal e informações de intervalo ou carimbo de data/hora, mas omitem o campo específico da métrica (como a propriedadecount). Eles precisam ser interpretados como valores zero.
- Operações de rollup:um zero na resposta significa um zero verdadeiro (o usuário estava usando o dispositivo, mas não se movendo). Se um dispositivo de rastreamento não foi usado durante um intervalo específico, a API não vai retornar dados para esse período de agregação.
Em operações list, sincronizações consecutivas de dispositivos conectados também podem produzir intervalos sobrepostos quando algoritmos no dispositivo reclassificam a telemetria bruta do sensor. Para mais informações sobre como lidar com sobreposições de intervalos, consulte o
guia de gerenciamento de dados.
Comparação com a API Fitbit Web
A API Fitbit Web costumava retornar dados, incluindo zeros, mesmo quando um dispositivo de monitoramento não estava sendo usado. A API Google Health oferece uma representação mais precisa do movimento.
| Recurso | API Fitbit Web | API Google Health |
|---|---|---|
| Ambiguidade de inatividade | A falta de dados pode significar inatividade ou que o dispositivo não está no pulso. | Os zeros verdadeiros indicam explicitamente inatividade enquanto o dispositivo está sendo usado. |
| Lacunas de dados | As lacunas de dados podem usar os ajustes de UTC por padrão. | O armazenamento explícito resolve problemas de fuso horário e horário civil. |
| Filtro | Filtragem limitada no pulso. | A filtragem rigorosa no pulso garante a precisão fisiológica. |