A API Google Health rastreia os passos do usuário e os dados de atividade 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 para os usuários.
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 dados para contagem de passos:
| Tipo de dado | Operações disponíveis |
Escopo |
|---|---|---|
|
Etapas
dataType:
stepsfilter parameter: 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 acompanhamento 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 velocidade e 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 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 automaticamente as lacunas de dados físicos usando os ajustes de UTC. A consolidação retorna um StepsRollupValue contendo o campo countSum, que representa o total de etapas acumuladas para o dia solicitado.
Desenhar interfaces do usuário (conciliação)
Ao criar elementos da interface do usuário para mostrar dados de etapas, 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 conflitos e mesclar os fluxos para retornar um único fluxo de dados conciliado.
Para informações sobre 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.
Acompanhamento e histogramas intradiários
Para mostrar a atividade detalhada do usuário 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 do minuto inteiro no primeiro subagrupamento correspondente. Para mais detalhes, consulte Tamanho da janela de rollup e resolução de armazenamento subjacente. - Todos os registros de passos:use o endpoint
listpara buscar os registros de passos brutos e mais granulares.
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 coleta do tipo de dados steps para receber notificações em tempo real
quando novos dados de etapas forem importados ou sincronizados. Em vez de fazer polling de 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.
Processar zeros verdadeiros
A API Google Health implementa zeros verdadeiros para resolver intervalos sedentários. Se um usuário estiver usando um rastreador, mas não estiver caminhando durante um determinado período, a API vai retornar um registro para esse intervalo que contém a fonte de dados normal e metadados de carimbo de data/hora, mas omite a propriedade count.
Isso permite distinguir entre:
- Períodos de imobilidade no pulso:o usuário está usando o dispositivo, mas não está caminhando. Isso retorna registros sem a propriedade
count(interpretada como zero etapas). - Períodos sem uso no pulso:o usuário não está usando o dispositivo. Isso não retorna nenhum registro, resultando em grandes lacunas de dados.
Consulte o guia Presença de dados e zeros reais para mais detalhes.