Tipi di dati

Google Fit fornisce una serie 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'aggregazione con statistiche su un intervallo di tempo

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

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

Gruppi di tipi di dati

In Google Fit sono disponibili i seguenti tipi di dati:

Tipi di dati pubblici
I tipi di dati standard forniti dalla piattaforma utilizzano "com.google" . Ad esempio, com.google.step_count.delta. Questi tipi di dati acquisiscono letture istantanee dati su salute e benessere, tra cui attività fisica, sonno e alimentazione. Qualsiasi un'app può richiedere le autorizzazioni pertinenti per leggere e scrivere in 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 sanitari
Tipi di dati forniti dalla piattaforma che hanno accesso limitato a causa di: dati potenzialmente sensibili. Per ulteriori informazioni, vedi Dati sanitari .
Tipi di dati aggregati
Tipi di dati per leggere informazioni su salute e benessere, aggregate per data o ora tipo di attività. Per ulteriori informazioni, consulta la sezione Dati aggregati .
Tipi di dati personalizzati privati
Tipi di dati personalizzati definiti da un'app specifica. Solo l'app che definisce può leggere e scrivere dati di questo tipo. Per ulteriori informazioni, vedi Tipi di dati personalizzati.

Utilizzo dei tipi di dati

Android

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

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

Per creare punti dati per un'istanza DataType assegna i valori con il formato corretto. L'esempio seguente mostra come assegnare l'alimento come stringa, il tipo di pasto come costante dalla Field, e nutrienti come valori in virgola mobile 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 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 per ottenere il nome del tipo di dati e un elenco dei suoi campi quando recuperi un'origine dati dal Fitness Store.

Ad esempio, una rappresentazione dell'origine dati specifica il proprio tipo di dati come segue:

{
"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 l'accesso. Aiutano gli utenti a capire a quali tipi di dati vuole accedere un'app. Semplificano anche l'autorizzazione delle app a usare tali dati, in quanto per approvare ogni singolo tipo di dati. Gli utenti concedono queste autorizzazioni una volta che hanno scaricato l'app.

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

Dopo aver testato l'app con un numero ridotto di utenti, prima di lanciare l'app app devi richiedere la verifica in base ai pertinenti per quei tipi di dati. Leggi le pagine relative ai tipi di dati a cui rimanda un link descritti sopra per capire quali ambiti si applicano a ogni tipo di dati.

Ad esempio, se la tua app ha bisogno di leggere e scrivere la misurazione della pressione sanguigna, e deve dichiarare che sta eseguendo sia la lettura che la scrittura e richiede entrambi gli ambiti. Se si tratta di scrivere dati sulla pressione sanguigna nella piattaforma Google Fit, i dati devono richiedere 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 servirti. I tipi specificati determinano gli ambiti a cui viene richiesto l'utente per i quali concedere l'autorizzazione. Chiedi solo i tipi di dati di cui la tua app ha bisogno, in modo che gli utenti siano di concedere l'accesso. Gli utenti concedono più facilmente l'accesso a gli ambiti descritti.

Usa questa tabella per verificare se gli ambiti a cui la tua app deve accedere sono sensibili o limitato (che determina la verifica passaggi da seguire):

Ambito Descrizione Categoria
https://www.googleapis.com/auth/fitness.activity.read Leggere i dati delle attività dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.activity.write Scrivere dati relativi alle attività nella piattaforma Google Fit Con restrizioni
https://www.googleapis.com/auth/fitness.blood_glucose.read Leggere dati sulla glicemia dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.blood_glucose.write Scrivere 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 dati sulla pressione sanguigna nella piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.body.read Leggere i dati delle misurazioni corporee (altezza, peso, percentuale di grasso corporeo) dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.body.write Scrivere i dati della misurazione corporea nella 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 dati sulla temperatura corporea sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.heart_rate.read Lettura di dati sulla frequenza cardiaca dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.heart_rate.write Scrivere dati sulla frequenza cardiaca nella 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 dati sulla posizione nella piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.nutrition.read Leggere i dati relativi all'alimentazione dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.nutrition.write Scrivere dati nutrizionali 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 di saturazione dell'ossigeno sulla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.reproductive_health.read Lettura di 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 relativi al sonno dalla piattaforma Google Fit. Con restrizioni
https://www.googleapis.com/auth/fitness.sleep.write Scrivere dati relativi al sonno nella piattaforma Google Fit. Con restrizioni

Aggiunta di nuovi ambiti a un'app esistente

Quando aggiorni l'app per richiedere un nuovo ambito (ad esempio, se aggiungi il nuovo sonno o battito cardiaco o aggiungi un ambito di lettura), agli utenti verrà chiesto la tua app richiede l'accesso a questi ambiti e può scegliere di concedere o rifiutare l'accesso.

Al momento, ti consigliamo di richiedere l'autorizzazione agli utenti per le risorse ne hai bisogno. Segui le linee guida per richiedere incrementi autorizzazione.

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 richiede l'accesso a questi ambiti/dati, in modo da possono prendere una decisione consapevole.

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