A plataforma Conexão Saúde armazena e estrutura dados de saúde e condicionamento físico. Ela também considera como diferentes tipos de dados são medidos. Esses tipos de dados incluem medições de frequência cardíaca realizadas imediatamente, contagem de passos realizada ao longo do tempo e dados de sono registrados em sessões.
É importante entender primeiro quais tipos de dados e permissões a Conexão Saúde oferece para que você possa planejar os requisitos do seu app. Com isso, é necessário analisar os tipos de dados antes de finalizar os requisitos.
Categorias de tipo de dados
A Conexão Saúde oferece suporte aos tipos de dados usados na maioria dos apps de saúde e fitness, para oferecer a maior variedade possível. O objetivo da Conexão Saúde é oferecer uma visão abrangente e um armazenamento de dados de saúde e condicionamento físico. Esses tipos de dados se enquadram nas seguintes categorias:
- Atividade: captura todas as atividades do usuário. Pode incluir atividades de saúde e fitness, como corrida, natação e sono.
- Medidas corporais:captura dados comuns relacionados ao corpo, como o peso e a taxa de metabolismo basal do usuário.
- Monitoramento do ciclo: captura ciclos menstruais e pontos de dados relacionados, como o resultado binário de um teste de ovulação.
- Nutrição: captura os tipos de dados de hidratação e nutrição. O primeiro representa a quantidade de água que um usuário consome em uma única bebida. O último inclui campos opcionais, como calorias, açúcar e magnésio.
- Sono: captura dados de intervalos relacionados à duração e ao tipo de sono de um usuário.
- Sinais vitais: captura informações essenciais sobre a saúde geral do usuário. Inclui dados como temperatura corporal, glicose no sangue, pressão sanguínea e saturação de oxigênio no sangue.
Formato de tipo de dados
Os tipos de dados na Conexão Saúde são armazenados em objetos que são subclasses de
Record
.
Para cada tipo de dados, há campos associados que são genéricos, como
time
e zoneOffset
, ou específicos, como title
, count
e percentage
.
Alguns campos usam tipos simples, como long, double ou string, enquanto outros usam
tipos complexos, como enumerações e classes, como Instant
e
ZoneOffset
. Os atributos desses campos podem ser obrigatórios ou opcionais. Alguns atributos são somente leitura e outros são fixados a um
intervalo específico de valores.
Para conferir a lista completa de tipos de dados disponíveis e os campos deles, consulte as classes no Jetpack.
Outros atributos de dados
Os dados da API Health Connect também incluem atributos de metadados descritos na lista a seguir:
- ID do Conexão Saúde: cada ponto de dados recebe um identificador exclusivo (UID, na sigla em inglês) após a criação. Isso é útil para operações de leitura e gravação padrão. Consulte o ID do app Conexão Saúde para mais detalhes.
- Horário da última modificação:marca o carimbo de data/hora da última instância em que um registro teve uma atualização. Ele é gerado automaticamente na primeira criação do registro ou em cada atualização.
- Origem de dados:o Conexão Saúde armazena informações sobre o app de origem dos dados. Ele contém o nome do pacote dessa origem, que é adicionado automaticamente na criação.
- Dispositivo: o Conexão Saúde armazena informações sobre o dispositivo de origem dos dados. Ele contém o fabricante e o modelo do dispositivo, que você fornece manualmente o valor.
- ID do cliente:o app Conexão Saúde fornece IDs do cliente para que os apps clientes possam se referir aos dados usando os próprios IDs, o que ajuda na resolução de conflitos e facilita a sincronização. Isso é fornecido ao registro manualmente.
- Versão do registro do cliente:além do ID do cliente, o Conexão Saúde oferece o controle de versão para ajudar a rastrear as mudanças durante a sincronização de dados. Isso é fornecido ao registro manualmente.
- Método de gravação:o app Conexão Saúde permite que você entenda como os dados são gravados. Esses métodos incluem apps que gravam dados passivamente (automaticamente) e usuários que gravam dados ativa ou manualmente.
ID do app Conexão Saúde
A Conexão Saúde atribui identificadores exclusivos (UIDs) a objetos de dados recém-inseridos, que identificam objetos de dados e os distinguem de outros. Os IDs da Conexão Saúde são úteis em solicitações de leitura ou gravação. Os IDs da Conexão Saúde não são idênticos aos IDs do cliente. Um app cliente atribui IDs do cliente, enquanto a Conexão Saúde atribui exclusivamente esses IDs.
Lembre-se das seguintes observações ao trabalhar com IDs do app Conexão Saúde:
- As sessões têm um único ID do app Conexão Saúde, mas os dados delas têm os próprios IDs.
- Os IDs da Conexão Saúde não estão vinculados nem estão relacionados a carimbos de data/hora.
- Alguns casos de uso podem exigir o armazenamento de um ID específico da Conexão Saúde durante um fluxo de trabalho. Por exemplo, é necessário um ID específico para recuperar e mostrar a entrada de dados que o usuário acabou de registrar.
Tempo no Conexão Saúde
Todos os dados gravados no Conexão Saúde precisam especificar as informações de deslocamento da zona. Especificar o deslocamento da zona permite que os apps leiam os dados para representá-los em tempo civil. Tempo civil é o horário local e relevante para o usuário, mas não necessariamente no Horário Universal Coordenado (UTC).
Em raras circunstâncias, o deslocamento da zona pode não estar disponível. Quando isso ocorre no Android 14 (nível 34 da API), a plataforma Conexão Saúde define o deslocamento da zona com base no fuso horário padrão do sistema do dispositivo. No Android 13 e versões anteriores (nível 33 da API e anteriores), é possível gravar no Conexão Saúde sem especificar nenhuma informação de deslocamento da zona, o que precisa ser evitado sempre que possível.
Configuração de horário e fuso
A especificação das informações de deslocamento da zona durante a gravação de dados fornece informações de fuso horário ao ler dados no Conexão Saúde. No entanto, ela pode não fazer isso em determinadas situações, por exemplo, quando o deslocamento da zona não é fornecido. Seu app precisa estar preparado para lidar com os dois tipos de dados de uma forma que faça sentido para suas circunstâncias específicas.
Permissões
Antes de solicitar uma permissão, o app precisa declará-la no manifesto. Consulte as tabelas a seguir para ver o mapeamento completo dos tipos de dados e as permissões deles.
Para 1.0.0-alpha10 e mais recentes
Tipo de classe de registro | Ler e gravar a declaração de permissão |
---|---|
ActiveCaloriesBurned |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
BasalBodyTemperature |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
BasalMetabolicRate |
android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE |
BloodGlucose |
android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE |
BloodPressure |
android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE |
BodyFat |
android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT |
BodyTemperature |
android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE |
BodyWaterMass (em inglês) |
android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS |
BoneMass |
android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS |
CervicalMucus |
android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS |
CyclingPedalingCadence |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
Distance |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
ElevationGained |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
ExerciseSession |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
FloorsClimbed |
android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED |
HeartRate |
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE |
HeartRateVariabilityRmssd (link em inglês) |
android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY |
Height |
android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT |
Hydration |
android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION |
IntermenstrualBleeding |
android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING |
LeanBodyMass |
android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS |
MenstruationFlow |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
MenstruationPeriod |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
Nutrition |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
OvulationTest |
android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST |
OxygenSaturation |
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION |
Energia |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
RespiratoryRate |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
RestingHeartRate |
android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE |
SexualActivity |
android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
Speed |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
StepsCadence |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Etapas |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
TotalCaloriesBurned |
android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED |
Vo2Max |
android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX |
Peso |
android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT |
WheelchairPushes |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
Para 1.0.0-alpha09 e anteriores
Tipo de classe de registro | Ler e gravar a declaração de permissão |
---|---|
ActiveCaloriesBurned |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
BasalBodyTemperature |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
BasalMetabolicRate |
androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE |
BloodGlucose |
androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE |
BloodPressure |
androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE |
BodyFat |
androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE |
BodyTemperature |
androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE |
BodyWaterMass (em inglês) |
androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE |
BoneMass |
androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE |
CervicalMucus |
androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE |
CyclingPedalingCadence |
androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE |
Distance |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
ElevationGained |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
ExerciseSession |
androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE |
FloorsClimbed |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
HeartRate |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
HeartRateVariabilityRmssd (link em inglês) |
androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE |
Height |
androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE |
Hydration |
androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE |
IntermenstrualBleeding |
androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE |
LeanBodyMass |
androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE |
MenstruationFlow |
androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE |
Nutrition |
androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE |
OvulationTest |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
OxygenSaturation |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Energia |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
RestingHeartRate |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE |
SexualActivity |
androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE |
SleepSession |
androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE |
Speed |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
StepsCadence |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Etapas |
androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE |
TotalCaloriesBurned |
androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE |
Vo2Max |
androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE |
Peso |
androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE |
WheelchairPushes |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
Revise os tipos de dados e as permissões
Agora que você planejou os tipos de dados e as permissões, é possível implementá-los durante o desenvolvimento.
Ao analisar seu app antes de fazer upload para a Play Store, confira novamente a lista de tipos de dados e permissões exigidos. Isso permite declarar o uso de dados do app com precisão.
Depois de publicar seu app na Play Store, talvez você receba uma mensagem de erro informando que o app não pode acessar os tipos de dados da Conexão Saúde porque eles exigem aprovação especial. Nesse caso, é necessário solicitar acesso ao tipo de dados pelo formulário de declaração do desenvolvedor. Para saber mais sobre esse processo, consulte Solicitar acesso a tipos de dados do app Conexão Saúde.