Pianifica e rivedi i tipi di dati di Connessione Salute

Connessione Salute archivia e struttura i dati relativi a salute e attività fisica. Inoltre, tiene conto di come vengono misurati i diversi tipi di dati. Questi tipi di dati includono le misurazioni della frequenza cardiaca effettuate immediatamente, il conteggio dei passi effettuato nel tempo e i dati sul sonno raccolti in sessioni.

È importante innanzitutto comprendere quali tipi di dati e autorizzazioni offre Connessione Salute per poter pianificare i requisiti della tua app. Pertanto, devi rivedere i tipi di dati prima di poter finalizzare i requisiti.

Categorie di tipi di dati

Connessione Salute supporta i tipi di dati utilizzati nella maggior parte delle app per la salute e l'attività fisica per offrire la massima varietà possibile. Connessione Salute mira a offrire una visualizzazione e un archivio completi dei dati relativi a salute e attività fisica. Questi tipi di dati rientrano nelle seguenti categorie:

  • Attività:acquisisce qualsiasi attività svolta da un utente. Può includere attività di salute e fitness come corsa e nuoto.
  • Misurazione del corpo:acquisisce dati comuni relativi al corpo, ad esempio il peso di un utente e il suo metabolismo basale.
  • Monitoraggio del ciclo:registra i cicli mestruali e i punti dati correlati, come il risultato binario di un test di ovulazione.
  • Alimentazione:acquisisce i tipi di dati relativi a idratazione e alimentazione. Il primo rappresenta la quantità di acqua che un utente consuma in una singola bevuta. Questi ultimi includono campi facoltativi come calorie, zucchero e magnesio.
  • Sonno:acquisisce i dati degli intervalli relativi alla durata e al tipo di sonno di un utente.
  • Segni vitali: acquisisce informazioni essenziali sulla salute generale dell'utente. Include dati come temperatura corporea, glicemia, pressione sanguigna e saturazione di ossigeno nel sangue.

Formato del tipo di dati

I tipi di dati in Connessione Salute vengono memorizzati in oggetti che sono sottoclassi di Record.

Per ogni tipo di dati, esistono campi associati generici, come time e zoneOffset, o specifici, come title, count e percentage. Alcuni campi utilizzano tipi semplici, come long, double o string, mentre altri utilizzano tipi complessi come enumerazioni e classi come Instant e ZoneOffset. Gli attributi di questi campi possono essere obbligatori o facoltativi. Alcuni attributi sono di sola lettura e altri sono limitati a un intervallo specifico di valori.

Per l'elenco completo dei tipi di dati disponibili e dei relativi campi, consulta le classi in Jetpack.

Attributi dei dati aggiuntivi

I dati nell'API Connessione Salute includono anche gli attributi dei metadati descritti nel seguente elenco:

  • ID Connessione Salute: a ogni punto di dati viene assegnato un identificatore univoco (UID) al momento della creazione. Questa funzionalità è utile per le operazioni di lettura e scrittura standard. Per ulteriori dettagli, vedi ID Connessione Salute.
  • Ora dell'ultima modifica:questo timestamp indica l'ultima volta che un record è stato aggiornato. Viene generato automaticamente alla prima creazione del record o a ogni aggiornamento.
  • Origine dati:Connessione Salute memorizza le informazioni sull'app da cui provengono i dati. Contiene il nome del pacchetto dell'origine, che viene aggiunto automaticamente al momento della creazione.
  • Dispositivo:Connessione Salute memorizza le informazioni sul dispositivo da cui provengono i dati. Contiene il produttore e il modello del dispositivo, il cui valore deve essere fornito manualmente.
  • ID client:Health Connect fornisce ID client in modo che le app client possano fare riferimento ai dati utilizzando i propri ID, il che aiuta a risolvere i conflitti e semplifica la sincronizzazione. Questo valore viene fornito manualmente al record.
  • Versione del record client:insieme all'ID client, Connessione Salute fornisce il controllo delle versioni per facilitare il monitoraggio delle modifiche durante la sincronizzazione dei dati. Queste informazioni vengono fornite manualmente al record.
  • Metodo di registrazione:Connessione Salute ti consente di capire come vengono registrati i dati. Questi metodi includono app che registrano i dati passivamente (automaticamente) e utenti che registrano i dati attivamente o manualmente.

ID Connessione Salute

Connessione Salute assegna identificatori univoci (UID) agli oggetti dati appena inseriti, che identificano gli oggetti dati e li distinguono dagli altri. Gli ID Connessione Salute sono utili nelle richieste di lettura o scrittura. Gli ID Connessione Salute non sono identici agli ID cliente. Un'app client assegna ID client, mentre Connessione Salute assegna esclusivamente ID Connessione Salute.

Tieni presente le seguenti note quando utilizzi gli ID Connessione Salute:

  • Le sessioni hanno un unico ID Connessione Salute, ma i dati all'interno delle sessioni hanno i propri ID Connessione Salute.
  • Gli ID Connessione Salute non sono collegati o correlati ai timestamp.
  • Alcuni casi d'uso potrebbero richiedere l'archiviazione di un ID Connessione Salute specifico durante un flusso di lavoro. Ad esempio, è necessario un ID specifico per recuperare e mostrare a un utente la voce di dati appena registrata.

Tempo in Connessione Salute

Tutti i dati scritti in Connessione Salute devono specificare le informazioni sull'offset del fuso orario. La specifica dell'offset della zona consente alle app di leggere i dati per rappresentarli in ora civile. L'ora civile è l'ora locale e pertinente per l'utente, ma non necessariamente in UTC (Coordinated Universal Time).

In rari casi, l'offset della zona potrebbe non essere disponibile. Quando si verifica in Android 14 (livello API 34), Connessione Salute imposta l'offset del fuso orario in base al fuso orario predefinito del sistema del dispositivo. In Android 13 e versioni precedenti (livello API 33 e precedenti), è possibile scrivere in Connessione Salute senza specificare informazioni sull'offset del fuso orario, il che deve essere evitato il più possibile.

Impostazione di ora e zona

La specifica delle informazioni sull'offset del fuso orario durante la scrittura dei dati fornisce informazioni sul fuso orario durante la lettura dei dati in Connessione Salute. Tuttavia, potrebbe non riuscirci in determinate situazioni, ad esempio quando non viene fornito l'offset del fuso orario. La tua app deve essere preparata per gestire entrambi i tipi di dati, in modo sensato per le tue circostanze specifiche.

Autorizzazioni

Prima di richiedere qualsiasi autorizzazione, la tua app deve dichiararle nel manifest. Consulta le tabelle seguenti per il mapping completo dei tipi di dati e delle relative autorizzazioni.

Per la versione 1.0.0-alpha10 e successive

Riferimento autorizzazioni Leggi la dichiarazione delle autorizzazioni
Operazioni di lettura in background android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
Letture della cronologia android.permission.health.READ_HEALTH_DATA_HISTORY

Tipo di classe di record Dichiarazione delle autorizzazioni di lettura e scrittura
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 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
Distanza 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.READ_EXERCISE_ROUTE
android.permission.health.WRITE_EXERCISE
android.permission.health.WRITE_EXERCISE_ROUTE

Tipo di esercizio

EXERCISE_TYPE_BIKING
EXERCISE_TYPE_BIKING_HAND
EXERCISE_TYPE_BIKING_MOUNTAIN
EXERCISE_TYPE_BIKING_ROAD
EXERCISE_TYPE_BIKING_SPINNING
EXERCISE_TYPE_BIKING_STATIONARY
EXERCISE_TYPE_BIKING_UTURN
EXERCISE_TYPE_CANOEING
EXERCISE_TYPE_CROSSFIT
EXERCISE_TYPE_DANCING
EXERCISE_TYPE_ELLIPTICAL
EXERCISE_TYPE_GOLF
EXERCISE_TYPE_HORSEBACK_RIDING
EXERCISE_TYPE_KAYAKING
EXERCISE_TYPE_KICKBOXING
EXERCISE_TYPE_MARTIAL_ARTS
EXERCISE_TYPE_PILATES
EXERCISE_TYPE_ROLLERBLADING
EXERCISE_TYPE_RUNNING
EXERCISE_TYPE_RUNNING_JOGGING
EXERCISE_TYPE_RUNNING_SAND
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 android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY
Altezza android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT
Idratazione 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
Flusso mestruale android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION
MindfulnessSession android.permission.health.READ_MINDFULNESS
android.permission.health.WRITE_MINDFULNESS
Alimentazione 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
PlannedExerciseSession android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE
Alimentazione 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
SkinTemperature android.permission.health.READ_SKIN_TEMPERATURE
android.permission.health.WRITE_SKIN_TEMPERATURE
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
Velocità android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
Passi android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
StepsCadence 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
Spinte in sedia a rotelle android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES

Per la versione 1.0.0-alpha09 e precedenti

Tipo di classe di record Dichiarazione delle autorizzazioni di lettura e scrittura
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 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.Exercise.READ
androidx.health.permission.Exercise.WRITE
Distanza 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

Tipo di esercizio

EXERCISE_TYPE_BIKING
EXERCISE_TYPE_BIKING_HAND
EXERCISE_TYPE_BIKING_MOUNTAIN
EXERCISE_TYPE_BIKING_ROAD
EXERCISE_TYPE_BIKING_SPINNING
EXERCISE_TYPE_BIKING_STATIONARY
EXERCISE_TYPE_BIKING_UTURN
EXERCISE_TYPE_CANOEING
EXERCISE_TYPE_CROSSFIT
EXERCISE_TYPE_DANCING
EXERCISE_TYPE_ELLIPTICAL
EXERCISE_TYPE_GOLF
EXERCISE_TYPE_HORSEBACK_RIDING
EXERCISE_TYPE_KAYAKING
EXERCISE_TYPE_KICKBOXING
EXERCISE_TYPE_MARTIAL_ARTS
EXERCISE_TYPE_PILATES
EXERCISE_TYPE_ROLLERBLADING
EXERCISE_TYPE_RUNNING
EXERCISE_TYPE_RUNNING_JOGGING
EXERCISE_TYPE_RUNNING_SAND
FloorsClimbed androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE
HeartRate androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE
HeartRateVariabilityRmssd androidx.health.permission.HeartRateVariability.READ
androidx.health.permission.HeartRateVariability.WRITE
Altezza androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE
Idratazione 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
Flusso mestruale androidx.health.permission.Menstruation.READ
androidx.health.permission.Menstruation.WRITE
Alimentazione 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
PlannedExerciseSession androidx.health.permission.PlannedExerciseSession.READ
androidx.health.permission.PlannedExerciseSession.WRITE
Alimentazione 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
Velocità androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE
Passi androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE
StepsCadence 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
Spinte in sedia a rotelle androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

Rivedere i tipi di dati e le autorizzazioni

Ora che hai pianificato i tipi di dati e le autorizzazioni, puoi implementarli durante lo sviluppo.

Quando esamini la tua app prima di caricarla sul Play Store, controlla l'elenco dei tipi di dati e delle autorizzazioni richieste dalla tua app. In questo modo puoi dichiarare con precisione l'utilizzo dei dati della tua app.

Quando ti prepari a pubblicare la tua app sul Play Store, dichiara l'accesso ai tipi di dati di Connessione Salute utilizzati dalla tua app. In caso contrario, gli utenti potrebbero visualizzare un messaggio di errore che indica che la tua app non può accedere ai tipi di dati di Connessione Salute perché richiedono un'approvazione speciale.