Pianifica e rivedi i tipi di dati di Connessione Salute

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.