Tipi di dati

Google Fit fornisce un insieme di tipi di dati su salute e benessere nello spazio dei nomi com.google.

I tipi di dati definiscono il formato dei valori all'interno dei punti dati. Un punto dati può rappresentare:

  • Una lettura o un'osservazione istantanea
  • Un aggregato con statistiche in un intervallo di tempo

Google Fit definisce i tipi di dati per le osservazioni istantanee e i tipi di dati per i dati aggregati. I punti dati sono costituiti da valori per i campi di un tipo di dati e informazioni sul timestamp. I punti che rappresentano osservazioni istantanee includono un timestamp, mentre i punti di un tipo di dati aggregati includono anche l'ora di inizio dell'intervallo.

Google Fit ti consente anche di definire nuovi tipi di dati.

Gruppi di tipi di dati

Google Fit include i seguenti tipi di dati:

Tipi di dati pubblici
I tipi di dati standard forniti dalla piattaforma hanno il prefisso "com.google". Ad esempio, com.google.step_count.delta. Questi tipi di dati acquisiscono letture istantanee per dati su salute e benessere, tra cui attività di fitness, sonno e alimentazione. Qualsiasi app può richiedere le autorizzazioni pertinenti per leggere e scrivere questi tipi di dati, ad eccezione di alcuni tipi di dati sulla posizione che possono essere letti solo dall'app che li ha scritti.

Per ulteriori informazioni, vedi:

Tipi di dati relativi alla salute
Tipi di dati forniti dalla piattaforma con accesso limitato a causa di dati potenzialmente sensibili. Per saperne di più, consulta Tipi di dati sanitari.
Tipi di dati aggregati
Tipi di dati per leggere le informazioni su salute e benessere aggregate per ora o tipo di attività. Per maggiori informazioni, vedi Tipi di dati aggregati.
Tipi di dati personalizzati privati
Tipi di dati personalizzati definiti da un'app specifica. Solo l'app che definisce il tipo di dati può leggere e scrivere dati di questo tipo. Per saperne di più, consulta Tipi di dati personalizzati.

Utilizzare i tipi di dati

Android

Su Android, i tipi di dati sono definiti come campi pubblici della classe DataType. Il modo in cui richiami le API Fitness con il tipo di dati dipende da cosa vuoi ottenere:

  • Per registrare i dati, utilizza l'API Recording per creare un abbonamento per ogni tipo di dati che vuoi registrare.
  • Per leggere i dati, utilizza l'API History per inviare una richiesta di lettura per ogni tipo di dati.
  • Per inserire dati storici del passato, utilizza l'API History per inviare una richiesta di inserimento per ogni tipo di dati.
  • Per creare sessioni, utilizza l'API Sessions per inserire o registrare dati con metadati di sessione.

Per creare punti dati per un oggetto DataType istantaneo, assegna valori con il formato corretto. L'esempio seguente mostra come assegnare l'alimento come stringa, il tipo di pasto come costante della classe Field e i contenuti nutrizionali come valori float mappati.

val nutritionSource = DataSource.Builder()
    .setDataType(DataType.TYPE_NUTRITION)
    ...
    .build()

val nutrients = mapOf(
    Field.NUTRIENT_TOTAL_FAT to 0.4f,
    Field.NUTRIENT_SODIUM to 1f,
    Field.NUTRIENT_POTASSIUM to 422f
)
val banana = DataPoint.builder(nutritionSource)
    .setTimestamp(now, TimeUnit.MILLISECONDS)
    .setField(Field.FIELD_FOOD_ITEM, "banana")
    .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK)
    .setField(Field.FIELD_NUTRIENTS, nutrients)
    .build()

Dopo aver impostato i punti dati nell'app, puoi inserire, leggere o eliminare i dati storici con l'API History.

REST

La risorsa dataSources include il tipo di dati (e un elenco dei relativi campi) per ogni origine dati. Puoi specificare uno di questi tipi di dati quando crei origini dati e puoi ottenere il nome del tipo di dati e un elenco dei relativi campi quando recuperi un'origine dati dallo store per il fitness.

Ad esempio, una rappresentazione dell'origine dati specifica il tipo di dati nel seguente modo:

{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
  "name": "com.google.step_count.delta"
},
...
}

Ambiti di autorizzazione

Gli ambiti di autorizzazione coprono gruppi di tipi di dati a cui un utente può autorizzare un'app ad accedere. Aiutano gli utenti a capire a quali tipi di dati un'app vuole accedere. Inoltre, semplificano la concessione alle app dell'autorizzazione a utilizzare questi dati, in quanto non è necessario approvare ogni singolo tipo di dati. Gli utenti concedono queste autorizzazioni dopo aver scaricato la tua app.

Esempio della schermata per il consenso degli ambiti OAuth
Figura 2.La schermata per il consenso agli ambiti OAuth.

Dopo aver testato l'app con un numero limitato di utenti, prima di lanciarla devi richiedere la verifica in base agli ambiti pertinenti a questi tipi di dati. Leggi le pagine sui tipi di dati collegate sopra per capire quali ambiti si applicano a ciascun tipo di dati.

Ad esempio, se la tua app deve leggere e scrivere la pressione sanguigna, deve dichiarare di eseguire sia la lettura che la scrittura e richiedere entrambi gli ambiti. Se scrive solo i dati della pressione sanguigna sulla piattaforma Google Fit, deve <x0A>richiedere solo l'ambito di scrittura.

Scegli i tipi di dati in modo responsabile. Non richiedere tutti i tipi di dati nel caso in cui la tua app potrebbe averne bisogno. I tipi specificati determinano gli ambiti per cui viene chiesto all'utente di concedere l'autorizzazione. Chiedi solo i tipi di dati necessari alla tua app, in modo che gli utenti siano più propensi a concedere l'accesso. Gli utenti concedono più facilmente l'accesso ad ambiti limitati e descritti in modo chiaro.

Utilizza questa tabella per verificare se gli ambiti a cui la tua app deve accedere sono sensibili o con restrizioni (il che determina i passaggi di verifica che dovrai seguire):

Ambito Descrizione Categoria
https://www.googleapis.com/auth/fitness.activity.read Legge i dati sull'attività dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.activity.write Scrivere dati sull'attività sulla piattaforma Google Fit Con restrizioni
https://www.googleapis.com/auth/fitness.blood_glucose.read Leggere i dati sul glucosio nel sangue dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.blood_glucose.write Scrivere i dati sulla glicemia sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.blood_pressure.read Leggere i dati sulla pressione sanguigna dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.blood_pressure.write Scrivere i dati della pressione sanguigna sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.body.read Leggere i dati di misurazione corporea (altezza, peso, percentuale di grasso corporeo) dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.body.write Scrivere i dati sulle misurazioni corporee sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.body_temperature.read Leggere i dati sulla temperatura corporea dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.body_temperature.write Scrivere i dati sulla temperatura corporea sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.heart_rate.read Leggere i dati sulla frequenza cardiaca dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.heart_rate.write Scrivere i dati sulla frequenza cardiaca sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.location.read Leggere i dati sulla posizione dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.location.write Scrivere i dati sulla posizione sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.nutrition.read Leggere i dati sull'alimentazione dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.nutrition.write Scrivere dati sull'alimentazione sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.oxygen_saturation.read Leggere i dati sulla saturazione di ossigeno dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.oxygen_saturation.write Scrivere i dati sulla saturazione di ossigeno sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.reproductive_health.read Leggere i dati sulla salute riproduttiva dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.reproductive_health.write Scrivere dati sulla salute riproduttiva sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.sleep.read Leggere i dati sul sonno dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.sleep.write Scrivere i dati relativi al sonno sulla piattaforma Google Fit. Con restrizioni

Aggiungere nuovi ambiti a un'app esistente

Quando aggiorni l'app per richiedere un nuovo ambito (ad esempio, se aggiungi i nuovi ambiti sonno o frequenza cardiaca oppure un ambito di lettura), agli utenti verrà chiesto se concedere o rifiutare l'accesso a questi ambiti.

È buona norma richiedere l'autorizzazione agli utenti per le risorse nel momento in cui ne hai bisogno. Segui le linee guida per richiedere l'autorizzazione incrementale.

Gli utenti saranno più propensi a concedere l'accesso se capiscono perché/come la tua app utilizza questi dati:

  • Valuta la possibilità di aggiungere una schermata che avvisa/informa gli utenti che verranno richiesti questi ambiti.
  • Spiega chiaramente perché la tua app chiede l'accesso a questi ambiti/dati in modo che gli utenti possano prendere una decisione consapevole.

Scopri di più sulle best practice relative alle autorizzazioni app per Android.