A API Google Health monitora os passos e os dados de atividade do usuário usando o tipo de dados de intervalo steps. A contagem de passos representa uma medida fundamental da atividade física diária, ajudando os desenvolvedores a acompanhar o progresso do condicionamento físico, calcular o gasto de energia e criar resumos de atividades diárias voltados ao usuário.
Entenda como ler e estruturar as métricas de contagem de passos no seu aplicativo para oferecer a melhor experiência aos usuários.
Tipos de dados compatíveis
A API é compatível com o seguinte tipo de dado para monitorar a contagem de passos:
| Tipo de dado | Operações disponíveis |
Escopo |
|---|---|---|
|
Etapas
dataType:
stepsparâmetro de filtro: steps
Tipo de registro: Intervalo
Resolução de armazenamento : 1 minuto
Dispositivos compatíveis
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Diretrizes
Ao integrar o monitoramento de passos ao seu app, siga estas diretrizes de design e implementação.
Cálculo de velocidade e ritmo
A API Google Health usa fórmulas padrão para calcular a velocidade e o ritmo:
- Velocidade =
distance / time(hour) - Ritmo =
time(seconds) / distance
O cabeçalho Accept-Language especificado na solicitação determina a unidade de
distância.
Visão geral diária
Para agregar as contagens diárias de passos com precisão em viagens, mudanças de fuso horário ou
horário de verão, não faça cálculos de duração do lado do cliente. Em vez disso,
consulte o endpoint dailyRollUp, que reconcilia as lacunas de dados físicos
automaticamente usando os deslocamentos de UTC. O rollup retorna um StepsRollupValue
que contém o campo countSum, que representa o total de passos acumulados no
dia solicitado. Para mais detalhes, consulte
Agregar em dias corridos no
guia de dados agregados.
Como desenhar interfaces do usuário (reconciliação)
Ao criar elementos de interface do usuário para mostrar dados de passos, use o endpoint
reconcile. Se várias fontes de dados (como um smartwatch e um smartphone)
tiverem registrado passos ao mesmo tempo, o endpoint reconcile vai resolver
os conflitos e mesclar os fluxos para retornar um único fluxo de dados reconciliado.
Para saber como lidar com intervalos sobrepostos de sincronizações de dispositivos conectados e mutabilidade de carimbos de data/hora, consulte o Guia de gerenciamento de dados.
Monitoramento e histogramas intradiários
Para mostrar a atividade do usuário detalhada ao longo do dia (como gráficos):
- Histogramas de etapas por hora ou minuto:consulte o endpoint
rollUp, especificando a duração (como60spara 1 minuto ou3600spara 1 hora) usando o parâmetrowindowSize. Como os dados de passos são registrados em intervalos de 1 minuto (60s), definawindowSizecomo pelo menos60s. As solicitações com tamanhos de janela inferiores a um minuto (como10sou30s) não dividem os totais de minutos individuais, colocando a contagem total do minuto no primeiro sub-bucket correspondente. Para mais detalhes, consulte Janela de rollup e resolução de armazenamento. - Todos os registros de passos:use o endpoint
listpara buscar os registros de passos mais granulares e brutos.
Os endpoints rollUp, dailyRollUp e reconcile aceitam o parâmetro dataSourceFamily, permitindo filtrar dados de grupos de origem específicos. Para mais detalhes e exemplos de uso, consulte a seção
Filtrar por família de fonte de dados
do guia "Filtrar dados".
Sincronização em tempo real usando webhooks
Inscreva-se na coleção de tipos de dados steps para receber notificações em tempo real
quando novos dados de passos forem importados ou sincronizados. Em vez de consultar endpoints REST, atualize os painéis do lado do cliente de forma dinâmica em resposta a essas notificações de webhook. Para detalhes sobre como configurar assinaturas, consulte
Assinaturas de webhook.