Pianifica e rivedi i tipi di dati di Connessione Salute

Connessione Salute archivia e struttura i dati relativi a salute e attività fisica. Tiene conto anche della modalità di misurazione dei diversi tipi di dati. Questi tipi di dati includono misurazioni della frequenza cardiaca acquisite immediatamente, numero di passi rilevato nel tempo e dati sul sonno acquisiti nelle sessioni.

È importante comprendere innanzitutto quali tipi di dati e autorizzazioni offre Connessione Salute per poter pianificare i requisiti della tua app. Pertanto, devi esaminare 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. L'obiettivo di Connessione Salute è offrire una visualizzazione e uno spazio di archiviazione completi dei dati relativi a salute e attività fisica. Questi tipi di dati rientrano nelle seguenti categorie:

  • Attività:vengono registrate tutte le attività svolte da un utente. Può includere attività legate alla salute e al fitness come corsa e nuoto.
  • Misurazione del corpo: vengono acquisiti dati comuni relativi al corpo, ad esempio il peso e il tasso metabolico basale di un utente.
  • Monitoraggio del ciclo:vengono acquisiti i cicli mestruali e i relativi punti dati, 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 consumata da un utente in un'unica bevanda. Quest'ultimo include campi facoltativi come calorie, zucchero e magnesio.
  • Sonno:vengono acquisiti i dati intervallari relativi alla durata e al tipo di sonno di un utente.
  • Parametri vitali:vengono acquisite informazioni essenziali sulla salute generale dell'utente. Sono inclusi dati quali temperatura corporea, glicemia, pressione sanguigna e saturazione di ossigeno nel sangue.

Formato del tipo di dati

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

Per ogni tipo di dati sono associati campi generici come time e zoneOffset o specifici come title, count e percentage. Alcuni campi utilizzano tipi semplici, come long, double o string, mentre altri 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 vincolati 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 dati viene assegnato un identificatore univoco (UID) al momento della creazione. Questa operazione è utile per le operazioni di lettura e scrittura standard. Per ulteriori dettagli, consulta ID Connessione Salute.
  • Data di ultima modifica:indica il timestamp dell'ultima istanza di un record con un aggiornamento. 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, di cui fornisci manualmente il valore.
  • ID client:Health Connect fornisce ID client in modo che le app client possano fare riferimento ai dati utilizzando i propri ID, il che facilita la risoluzione dei conflitti e semplifica la sincronizzazione. Viene fornito manualmente al record.
  • Versione del record del client: insieme all'ID client, Connessione Salute fornisce il controllo delle versioni per facilitare il monitoraggio delle modifiche durante la sincronizzazione dei dati. Viene fornito manualmente al record.
  • Metodo di registrazione:Connessione Salute ti consente di capire in che modo vengono registrati i dati. Questi metodi includono le app che registrano i dati in modo passivo (automatico) e gli utenti che registrano i dati attivamente o manualmente.

ID Connessione Salute

Connessione Salute assegna identificatori univoci (UID) agli oggetti dati appena inseriti, che li identificano 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 gli ID client, mentre Connessione Salute assegna esclusivamente gli ID Connessione Salute.

Tieni presente le seguenti note quando lavori con gli ID Connessione Salute:

  • Le sessioni hanno un singolo 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 la memorizzazione 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 che ha appena registrato.

Tempo in Connessione Salute

Tutti i dati scritti in Connessione Salute devono specificare le informazioni sull'offset di zona. La specifica dell'offset di zona consente alle app di leggere i dati per rappresentarli in tempo civile. L'ora civile è l'ora locale e pertinente per l'utente, ma non necessariamente in UTC (Tempo Coordinato Universale).

In rari casi, l'offset zona potrebbe non essere disponibile. In questi casi, su Android 14 (livello API 34), Connessione Salute imposta il fuso orario in base al fuso orario predefinito del sistema del dispositivo. In Android 13 e versioni precedenti (livello API 33 e versioni precedenti), è possibile scrivere in Connessione Salute senza specificare informazioni sull'offset di zona, che devono essere evitate ove possibile.

Impostazione di ora e fuso orario

La specifica delle informazioni sull'offset di zona durante la scrittura dei dati fornisce informazioni sul fuso orario quando si leggono i dati in Connessione Salute. Tuttavia, potrebbe non riuscirci in determinate situazioni, ad esempio quando non viene fornito l'offset zonale. L'app deve essere preparata a gestire entrambi i tipi di dati in modo coerente con le tue circostanze specifiche.

Autorizzazioni

Prima di richiedere autorizzazioni, la tua app deve prima dichiararle nel file manifest. Consulta le seguenti tabelle per la mappatura completa dei tipi di dati e delle relative autorizzazioni.

Per 1.0.0-alpha10 e versioni successive

Tipo di classe di record Dichiarazione delle autorizzazioni di lettura e scrittura
Calorie bruciate attive 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
GlucosioSangue 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
GrassoCorporeo android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT
TemperaturaCorporea android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE
MassaAcquaCorpo 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.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 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
MassaCorporeaMagra 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
Nutrizione 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
PlannedExercise 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
Battito cardiaco a riposo android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE
Attività sessuale android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY
SkinTemperature androidx.health.permission.SkinTemperature.READ
androidx.health.permission.SkinTemperature.WRITE
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
Velocità android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
StepsCadence android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
Passi 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

Per 1.0.0-alpha09 e versioni precedenti

Tipo di classe di record Dichiarazione delle autorizzazioni di lettura e scrittura
Calorie bruciate attive 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
GlucosioSangue androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE
BloodPressure androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE
GrassoCorporeo androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE
TemperaturaCorpo androidx.health.permission.TemperaturaCorpo.READ
androidx.health.permission.TemperaturaCorpo.WRITE
MassaAcquaCorpo androidx.health.permission.MassaAcquaCorpo.READ
androidx.health.permission.MassaAcquaCorpo.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
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
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.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.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
MassaCorporeaMagra androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE
MenstruationFlow androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE
Nutrizione 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
Alimentazione androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE
RespiratoryRate androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE
Battito cardiaco a riposo androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE
Attività sessuale 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
StepsCadence androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE
Passi androidx.health.permission.Passaggi.LETTURA
androidx.health.permission.Passaggi.SCRITTURA
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.Peso.LETTURA
androidx.health.permission.Peso.SCRITTURA
WheelchairPushes androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

Rivedi 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 attentamente l'elenco dei tipi di dati e delle autorizzazioni richiesti dall'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, agli utenti potrebbe essere mostrato 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.