Health Connect archivia e struttura i dati relativi a salute e fitness. Prende anche in considerazione il modo in cui vengono misurati i diversi tipi di dati. Questi tipi di dati includono misurazioni del battito cardiaco effettuate immediatamente, conteggio di passi nel tempo e dati relativi al sonno acquisiti nelle sessioni.
È importante capire innanzitutto quali tipi di dati e autorizzazioni offre Connessione Salute, in modo da poter pianificare i requisiti della tua app. Devi quindi esaminare i tipi di dati prima di poter finalizzare i requisiti.
Categorie dei 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 visione completa e l'archiviazione dei dati relativi alla salute e all'attività fisica. Questi tipi di dati rientrano nelle seguenti categorie:
- Attività:acquisisce tutte le attività svolte da un utente. ad esempio attività legate alla salute e all'attività fisica, come corsa, nuoto e sonno.
- Misurazione corporea: acquisisce dati comuni correlati al corpo, come il peso di un utente e il tasso metabolico basale.
- Monitoraggio del ciclo: acquisisce i cicli mestruali e i relativi punti dati, ad esempio il risultato binario di un test di ovulazione.
- Alimentazione: acquisisce i tipi di dati relativi all'idratazione e all'alimentazione. La prima rappresenta la quantità di acqua consumata da un utente in una singola bevanda. Quest'ultimo include campi facoltativi come calorie, zuccheri e magnesio.
- Sonno: acquisisce i dati dell'intervallo relativi alla durata e al tipo di sonno di un utente.
- Vitali: acquisisce informazioni essenziali sulla salute generale dell'utente. Include dati come temperatura corporea, glicemia, pressione sanguigna e saturazione dell'ossigeno nel sangue.
Formato del tipo di dati
I tipi di dati in Connessione Salute sono archiviati in oggetti che sono sottoclassi di Record
.
Per ogni tipo di dati sono presenti campi associati generici, come time
e zoneOffset
, o specifici come title
, count
e percentage
.
Alcuni campi utilizzano tipi semplici, come lungo, doppio o stringa, 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, mentre 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 di dati aggiuntivi
I dati nell'API Health Connect includono anche gli attributi metadata descritti nel seguente elenco:
- ID Connessione Salute: a ogni punto dati viene assegnato un identificatore univoco (UID) al momento della creazione. È utile per le operazioni standard di lettura e scrittura. Per maggiori dettagli, visita la pagina ID Connessione Salute.
- Ora dell'ultima modifica: segna il timestamp dell'ultima istanza in cui un record ha un aggiornamento. Viene generato automaticamente alla prima creazione del record o a ogni aggiornamento.
- Origine dei 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, con cui fornirai manualmente il valore.
- ID client:Connessione Salute fornisce gli ID client in modo che le app client possano fare riferimento ai dati utilizzando i propri ID, il che semplifica la risoluzione dei conflitti e la sincronizzazione. Questo viene fornito al record manualmente.
- Versione record client: insieme all'ID client, Connessione Salute fornisce il controllo delle versioni per aiutarti a tenere traccia delle modifiche durante la sincronizzazione dei dati. Questo viene fornito al record manualmente.
- Metodo di registrazione:Connessione Salute ti consente di capire come vengono registrati i dati. Questi metodi includono le app che registrano 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 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 client. Un'app client assegna gli ID client, mentre Connessione Salute assegna esclusivamente gli ID.
Tieni presente le seguenti note quando utilizzi 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 di Connessione Salute non sono legati 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 di offset di zona. Se specifichi l'offset di zona, le app possono leggere i dati per rappresentarli in tempo civile. L'ora civile è l'ora locale e pertinente per l'utente, ma non necessariamente nel fuso orario UTC (Coordinated Universal Time).
In rari casi, l'offset di zona potrebbe non essere disponibile. Quando ciò si verifica in Android 14 (livello API 34), Connessione Salute imposta l'offset di zona in base al fuso orario predefinito di sistema del dispositivo. In Android 13 e versioni precedenti (livello API 33 e livelli precedenti), è possibile scrivere in Connessione Salute senza specificare informazioni sull'offset della zona, che devono essere evitate se possibile.
Impostazione di ora e fuso orario
Se specifichi le informazioni di offset di zona durante la scrittura dei dati, vengono fornite informazioni sul fuso orario durante la lettura dei dati in Connessione Salute. Tuttavia, potrebbe non riuscire a farlo in determinate situazioni, ad esempio quando l'offset di zona non viene fornito. La tua app deve essere preparata per gestire entrambi i tipi di dati, nel modo che sia comprensibile alle tue circostanze specifiche.
Autorizzazioni
Prima di richiedere autorizzazioni, l'app deve dichiararle nel manifest. Consulta le seguenti tabelle per una mappatura completa dei tipi di dati e delle relative autorizzazioni.
Per 1.0.0-alpha10 e versioni successive
Registra tipo di corso | Dichiarazione delle autorizzazioni di lettura e scrittura |
---|---|
CalorieAttiveBruciate |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
Temperatura corporea basale |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
Tasso basale-metabolico |
android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE |
Glicemia |
android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE |
Pressione sanguigna |
android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE |
Grasso corporeo |
android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT. |
Temperatura corporea |
android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE. |
Massa d'acqua |
android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS. |
Massa ossea |
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_DISTAN
android.permission.health.WRITE_DISTANZA |
Elevazione aumentata |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
Sessione Allenamento |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE. |
Piani saliti |
android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED |
Battito cardiaco |
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE. |
Variabilità della frequenza cardiaca (Rmssd) |
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. |
Perdite intermestruali |
android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING |
Massa magra |
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 |
Periodo di mesi |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
Alimentazione |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
Test di ovulazione |
android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST. |
Saturazione di ossigeno |
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION |
Alimentazione |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
Frequenza respiratoria |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
Battito cardiacoa 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. |
SessioneSonno |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP. |
Velocità |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED. |
Passi Cadence |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Passi |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Calorie bruciate totali |
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. |
Spingi in sedia a rotelle |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
Per 1.0.0-alpha09 e versioni precedenti
Registra tipo di corso | Dichiarazione delle autorizzazioni di lettura e scrittura |
---|---|
CalorieAttiveBruciate |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
Temperatura corporea basale |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
Tasso basale-metabolico |
androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE |
Glicemia |
androidx.health.permission.Glucose.READ
androidx.health.permission.Glucose.WRITE |
Pressione sanguigna |
androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE |
Grasso corporeo |
androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE |
Temperatura corporea |
androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE |
Massa d'acqua |
androidx.health.permission.BodywaterMass.READ
androidx.health.permission.BodywaterMass.WRITE |
Massa ossea |
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 |
Elevazione aumentata |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
Sessione Allenamento |
androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE. |
Piani saliti |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
Battito cardiaco |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
Variabilità della frequenza cardiaca (Rmssd) |
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 |
Perdite intermestruali |
androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE |
Massa magra |
androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE |
Flusso mestruale |
androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE |
Alimentazione |
androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE |
Test di ovulazione |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
Saturazione di ossigeno |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Alimentazione |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
Frequenza respiratoria |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
Battito cardiacoa riposo |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE |
Attività sessuale |
androidx.health.permission.EDActivity.READ
androidx.health.permission.PublicActivity.WRITE |
SessioneSonno |
androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE |
Velocità |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
Passi Cadence |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Passi |
androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE |
Calorie bruciate totali |
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 |
Spingi in sedia a rotelle |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
Rivedi i tipi di dati e le autorizzazioni
Ora che hai pianificato le autorizzazioni e i tipi di dati, puoi implementarli durante lo sviluppo.
Quando controlli l'app prima di caricarla sul Play Store, controlla l'elenco dei tipi di dati e delle autorizzazioni richiesti dall'app. In questo modo puoi dichiarare in modo accurato l'utilizzo dei dati dell'app.
Dopo aver pubblicato l'app sul Play Store, ti potrebbe essere visualizzato un messaggio di errore che indica che l'app non può accedere ai tipi di dati di Connessione Salute perché richiedono un'approvazione speciale. In questo caso, devi richiedere l'accesso al tipo di dati tramite il modulo di dichiarazione dello sviluppatore. Per scoprire di più su questo processo, consulta Richiedere l'accesso ai tipi di dati di Connessione Salute.