Le API Google Fit, inclusa l'API REST Google Fit, non saranno più disponibili dopo il 30 giugno 2025. A partire dal 1° maggio 2024, gli sviluppatori non possono registrarsi per utilizzare queste API.
Per i dati che possono essere registrati continuamente (con più punti dati nell'arco di un periodo di tempo), la piattaforma Google Fit può aggregare questi dati e restituire i risultati calcolati. Può trattarsi di una misurazione media o di un riepilogo/totale. Puoi
risparmiare tempo in questi calcoli e mostrare facilmente agli utenti della tua app riepiloghi o
medie utili leggendo dati aggregati.
Per leggere i dati aggregati, devi scegliere un tipo di dati, un intervallo di tempo e un elemento per "bucket" (o raggruppare) i dati. Puoi raggruppare i dati in diversi modi:
Periodo di tempo
Bucket di dati aggregati per ora o per giorno. Ad esempio, vedi passi o calorie bruciate al giorno.
Tipo di attività
Bucket di dati aggregati per tipo di attività. Ad esempio, per i dati relativi al sonno di una settimana, ci sarà un bucket per ogni tipo di attività del sonno (leggera, profonda e REM).
Segmento di attività
Bucket dei dati aggregati per segmenti di attività in un periodo di tempo. Ad esempio, se un utente ha fatto una corsa tra le 9 e le 10, ma ha corso per i primi 20 minuti, si è seduto per 10 minuti, ha camminato per 15 minuti e ha corso per 15 minuti, vengono considerati 4 segmenti di attività e vengono restituiti 4 bucket.
Sessione
Utilizza i limiti temporali delle sessioni per aggregare i dati. Ad esempio, se un utente ha effettuato 2 corse, registrate come 2 sessioni (una corsa mattutina e una pomeridiana), puoi filtrare per sessione per apprendere i passi o la velocità media di ciascuna corsa.
Attività
Utilizza questi tipi di dati per leggere dati aggregati su salute e benessere.
Riepilogo attività
Tempo totale e numero di segmenti di una determinata attività nel corso di un periodo di tempo.
Ogni punto dati rappresenta un riepilogo di tutti i segmenti di attività per un determinato tipo di attività in un intervallo di tempo.
Il tipo di attività svolta dall'utente. Consulta l'elenco dei tipi di attività qui.
duration (int-millisecondi)
Il tempo totale trascorso su un'attività in tutti i segmenti nell'intervallo di tempo.
numero di segmenti (int—conteggio)
Il numero di segmenti di attività distinti nell'intervallo di tempo di questo punto dati.
Android
Nome
com.google.activity.summary
Oggetto tipo di dati
AGGREGATE_ACTIVITY_SUMMARY
Campi (formato: unità)
FIELD_ACTIVITY (int—enum)
Il tipo di attività svolta dall'utente. Consulta l'elenco dei tipi di attività qui.
FIELD_DURATION (int-millisecondi)
Il tempo totale trascorso su un'attività in tutti i segmenti nell'intervallo di tempo.
FIELD_NUM_SEGMENTS (int—conteggio)
Il numero di segmenti di attività distinti nell'intervallo di tempo di questo punto dati.
Riepilogo del tasso metabolico basale (BMR)
Ogni punto dati rappresenta il metabolismo basale medio, massimo e minimo dell'utente nell'intervallo di tempo, in kilocalorie al giorno. È utile se l'utente ha acquisito o perso peso e, di conseguenza, il suo metabolismo basale è cambiato.
Il BMR massimo dell'utente in un periodo di tempo.
min (float-kcal al giorno)
Il BMR minimo dell'utente in un periodo di tempo.
Android
Nome
com.google.calories.bmr.summary
Oggetto tipo di dati
AGGREGATE_BASAL_METABOLIC_RATE_SUMMARY
Campi (formato: unità)
FIELD_AVERAGE (float-kcal al giorno)
Il BMR medio dell'utente in un periodo di tempo.
FIELD_MAX (float-kcal al giorno)
Il BMR massimo dell'utente in un periodo di tempo.
FIELD_MIN (float-kcal al giorno)
Il BMR minimo dell'utente in un periodo di tempo.
Riepilogo calorie bruciate
Le calorie bruciate totali o totali in kilocalorie in un periodo di tempo.
Questo tipo di dati e i relativi campi sono gli stessi del tipo di dati istantanei.
Riepilogo Punti cardio
Ogni punto dati rappresenta il numero di punti cardio guadagnati nel periodo di tempo.
Il numero di Punti cardio guadagnati nel periodo di tempo, inclusi i punti guadagnati dai moltiplicatori (più punti guadagnati per attività più impegnative).
duration (float—minuti)
Il tempo in cui sono stati accumulati i Punti cardio, misurato in minuti.
Android
Nome
com.google.heart_minutes.summary
Oggetto tipo di dati
AGGREGATE_HEART_POINTS
Campi (formato: unità)
FIELD_INTENSITY (float - Punti cardio)
Il numero di Punti cardio guadagnati nel periodo di tempo, inclusi i punti guadagnati dai moltiplicatori (più punti guadagnati per attività più impegnative).
FIELD_DURATION (float—minuti)
Il tempo in cui sono stati accumulati i Punti cardio, misurato in minuti.
Riepilogo Minuti di movimento
Il numero totale di minuti di trasferimento nel periodo di tempo. Questo tipo di dati e questi campi sono gli stessi del tipo di dati istantanei.
Riepilogo alimentazione
Ogni punto dati rappresenta la potenza media, massima e minima generata in watt dell'utente in un determinato periodo di tempo.
La potenza media generata dall'utente nel periodo di tempo in watt.
max (float—watt)
La potenza massima generata dall'utente nel periodo di tempo, in watt.
min (float—watt)
La potenza minima generata dall'utente nel periodo di tempo, in watt.
Android
Nome
com.google.power.summary
Oggetto tipo di dati
AGGREGATE_POWER_SUMMARY
Campi (formato: unità)
FIELD_AVERAGE (float—watt)
La potenza media generata dall'utente nel periodo di tempo in watt.
FIELD_MAX (float—watt)
La potenza massima generata dall'utente nel periodo di tempo, in watt.
FIELD_MIN (float—watt)
La potenza minima generata dall'utente nel periodo di tempo, in watt.
Riepilogo delta conteggio passi
Ogni punto dati rappresenta il numero totale di passaggi nel periodo di tempo.
Questo tipo di dati e i relativi campi sono gli stessi del tipo di dati istantanei.
Corpo
Usa questi tipi di dati per leggere dati aggregati sulle misurazioni del corpo.
Riepilogo percentuale di grasso corporeo
Ogni punto dati rappresenta la percentuale media, massima e minima di grasso corporeo dell'utente in un periodo di tempo.
REST
Nome
com.google.body.fat.percentage.summary
Ambiti di autorizzazione OAuth
https://www.googleapis.com/auth/fitness.body.read
Campi (formato: unità)
media (float-percentuale)
La percentuale media della massa corporea totale dell'utente, ovvero grasso corporeo, in un periodo di tempo.
max (float, percentuale)
La percentuale massima di massa corporea totale dell'utente, ovvero grasso corporeo, in un periodo di tempo.
min (float-percentuale)
La percentuale minima della massa corporea totale dell'utente, ovvero grasso corporeo, in un periodo di tempo.
Android
Nome
com.google.body.fat.percentage.summary
Oggetto tipo di dati
AGGREGATE_BODY_FAT_PERCENTAGE_SUMMARY
Campi (formato: unità)
FIELD_AVERAGE (float—percentuale)
La percentuale media della massa corporea totale dell'utente, ovvero grasso corporeo, in un periodo di tempo.
FIELD_MAX (float-percentuale)
La percentuale massima di massa corporea totale dell'utente, ovvero grasso corporeo, in un periodo di tempo.
FIELD_MIN (float-percentuale)
La percentuale minima della massa corporea totale dell'utente, ovvero grasso corporeo, in un periodo di tempo.
Riepilogo battito cardiaco
Ogni punto dati rappresenta il battito cardiaco medio, massimo e minimo dell'utente nel periodo di tempo, in battiti al minuto.
REST
Nome
com.google.heart_rate.summary
Ambiti di autorizzazione OAuth
https://www.googleapis.com/auth/fitness.body.read
Campi (formato: unità)
media (float-b/m)
Il battito cardiaco medio dell'utente in battiti al minuto in un determinato periodo di tempo.
max (float-b/m)
Il battito cardiaco massimo dell'utente in battiti al minuto in un determinato periodo di tempo.
min (float-b/m)
Il battito cardiaco minimo dell'utente in battiti al minuto in un determinato periodo di tempo.
Android
Nome
com.google.heart_rate.summary
Oggetto tipo di dati
AGGREGATE_HEART_RATE_SUMMARY
Campi (formato: unità)
FIELD_AVERAGE (float-b/m)
Il battito cardiaco medio dell'utente in battiti al minuto in un determinato periodo di tempo.
FIELD_MAX (float-b/m)
Il battito cardiaco massimo dell'utente in battiti al minuto in un determinato periodo di tempo.
FIELD_MIN (float-bpm)
Il battito cardiaco minimo dell'utente in battiti al minuto in un determinato periodo di tempo.
Riepilogo altezza
Ogni punto dati rappresenta l'altezza media, massima e minima dell'utente in un periodo di tempo, in metri.
REST
Nome
com.google.height.summary
Ambiti di autorizzazione OAuth
https://www.googleapis.com/auth/fitness.body.read
Campi (formato: unità)
media (float, metri)
L'altezza media dell'utente in un periodo di tempo, in metri.
max (float, metri)
L'altezza massima dell'utente in un periodo di tempo, in metri.
min (float—metri)
L'altezza minima dell'utente in un periodo di tempo, in metri.
Android
Nome
com.google.height.summary
Oggetto tipo di dati
AGGREGATE_HEIGHT_SUMMARY
Campi (formato: unità)
FIELD_AVERAGE (float—metri)
L'altezza media dell'utente in un periodo di tempo, in metri.
FIELD_MAX (float - metri)
L'altezza massima dell'utente in un periodo di tempo, in metri.
FIELD_MIN (float - metri)
L'altezza minima dell'utente in un periodo di tempo, in metri.
Riepilogo peso
Ogni punto dati rappresenta il peso medio, massimo e minimo dell'utente in un
periodo di tempo, in chilogrammi.
REST
Nome
com.google.weight.summary
Ambiti di autorizzazione OAuth
https://www.googleapis.com/auth/fitness.body.read
Campi (formato: unità)
media (float—kg)
Peso corporeo medio dell'utente in un periodo di tempo, in chilogrammi.
max (float—kg)
Peso corporeo massimo dell'utente in un periodo di tempo, in chilogrammi.
min (float—kg)
Peso corporeo minimo dell'utente in un periodo di tempo, in chilogrammi.
Android
Nome
com.google.weight.summary
Oggetto tipo di dati
AGGREGATE_WEIGHT_SUMMARY
Campi (formato: unità)
FIELD_AVERAGE (float-kg)
Peso corporeo medio dell'utente in un periodo di tempo, in chilogrammi.
FIELD_MAX (float-kg)
Peso corporeo massimo dell'utente in un periodo di tempo, in chilogrammi.
FIELD_MIN (float-kg)
Peso corporeo minimo dell'utente in un periodo di tempo, in chilogrammi.
Località
Utilizza questi tipi di dati per leggere i dati aggregati sulla posizione.
Delta distanza
Ogni punto dati rappresenta la distanza totale percorsa dall'utente in un periodo di tempo, in metri. Questo tipo di dati e i relativi campi sono gli stessi del tipo di dati istantanei.
Riquadro di delimitazione della località
Ogni punto dati rappresenta il riquadro di delimitazione calcolato sui punti di località dell'utente in un periodo di tempo. Ogni riquadro di delimitazione ha quattro campi
che rappresentano i quattro angoli.
La velocità media dell'utente in un periodo di tempo, in metri al secondo.
max (float, metri al secondo)
La velocità massima dell'utente in un periodo di tempo, in metri al secondo.
min (float, metri al secondo)
La velocità minima dell'utente in un periodo di tempo, in metri al secondo.
Android
Nome
com.google.speed.summary
Oggetto tipo di dati
AGGREGATE_SPEED_SUMMARY
Campi (formato: unità)
media (float, metri al secondo)
La velocità media dell'utente in un periodo di tempo, in metri al secondo.
max (float, metri al secondo)
La velocità massima dell'utente in un periodo di tempo, in metri al secondo.
min (float, metri al secondo)
La velocità minima dell'utente in un periodo di tempo, in metri al secondo.
Alimentazione
Utilizza questi tipi di dati per leggere dati nutrizionali aggregati.
Riepilogo dell'idratazione
Ogni punto dati rappresenta il volume totale di acqua consumata da un utente in un
periodo di tempo, in litri. Questo tipo di dati e i relativi campi sono gli stessi del tipo di dati istantanei.
Riepilogo alimentazione
Ogni punto dati rappresenta la somma di tutte le voci relative all'alimentazione in un periodo di tempo.
Nel campo nutrienti, ogni valore rappresenta la somma della sostanza nutritiva in tutte
le voci nel periodo di tempo.
Se la nutriente non era presente in nessuna delle voci, non sarà presente nella mappa aggregata. Se tutte le voci nel periodo di tempo riguardano lo stesso pasto, verrà impostato anche il tipo di pasto.
Le sostanze nutritive totali negli alimenti assunte in un determinato periodo di tempo.
Valori accettati
"key": "calories" // Calories in kcal
"key": "fat.total" // Total fat in grams
"key": "fat.saturated" // Saturated fat in grams
"key": "fat.unsaturated" // Unsaturated fat in grams
"key": "fat.polyunsaturated" // Polyunsaturated fat in grams
"key": "fat.monounsaturated" // Monounsaturated fat in grams
"key": "fat.trans" // Trans fat in grams
"key": "cholesterol" // Cholesterol in milligrams
"key": "sodium" // Sodium in milligrams
"key": "potassium" // Potassium in milligrams
"key": "carbs.total" // Total carbohydrates in grams
"key": "dietary_fiber" // Dietary fiber in grams
"key": "sugar" // Amount of sugar in grams
"key": "protein" // Protein amount in grams
Android
Nome
com.google.nutrition.summary
Oggetto tipo di dati
AGGREGATE_NUTRITION_SUMMARY
Campi (formato: unità)
FIELD_MEAL_TYPE (int: enum)
Il tipo di pasto mangiato dall'utente (presente se tutte le voci nel periodo di tempo riguardano lo stesso pasto).
Le sostanze nutritive totali negli alimenti assunte in un determinato periodo di tempo.
Valori accettati
NUTRIENT_CALORIES // Calories in kcal
NUTRIENT_TOTAL_FAT // Total fat in grams
NUTRIENT_SATURATED_FAT // Saturated fat in grams
NUTRIENT_UNSATURATED_FAT // Unsaturated fat in grams
NUTRIENT_POLYUNSATURATED_FAT // Polyunsaturated fat in grams
NUTRIENT_MONOUNSATURATED_FAT // Monounsaturated fat in grams
NUTRIENT_TRANS_FAT // Trans fat in grams
NUTRIENT_CHOLESTEROL // Cholesterol in milligrams
NUTRIENT_SODIUM // Sodium in milligrams
NUTRIENT_POTASSIUM // Potassium in milligrams
NUTRIENT_TOTAL_CARBS // Total carbohydrates in grams
NUTRIENT_DIETARY_FIBER // Dietary fiber in grams
NUTRIENT_SUGAR // Amount of sugar in grams
NUTRIENT_PROTEIN // Protein amount in grams
Integrità
Utilizza questi tipi di dati per leggere dati medici aggregati.
Riepilogo glicemia
Ogni punto dati rappresenta il livello o la concentrazione di glicemia media, minima e massima nell'intervallo di tempo, misurati in mmol/L, dove 1 mmol/L è pari a 18 mg/dL.
Se i valori per ciascuno di questi campi sono gli stessi per tutte le misurazioni effettuate durante l'intervallo di tempo, il valore del campo verrà visualizzato nei dati restituiti:
relazione temporale con un pasto
relazione temporale con il sonno
origine dell'esemplare
Se i valori sono diversi nelle misurazioni, il campo verrà escluso.
Il livello o la concentrazione media di glicemia dell'utente in un periodo di tempo.
max (float: mmol/L)
Il livello o la concentrazione massima di glicemia nell'utente in un periodo di tempo.
min (float-mmol/L)
Il livello o la concentrazione minima di glicemia dell'utente in un periodo di tempo.
relazione temporale con il pasto (int: enum) (campo facoltativo)
Il momento in cui la lettura è stata rilevata rispetto a quando l'utente ha mangiato.
Valori accettati
"intVal": 1 // Reading wasn't taken before or after a meal
"intVal": 2 // Reading was taken during a fasting period
"intVal": 3 // Reading was taken before a meal
"intVal": 4 // Reading was taken after a meal
meal type (int: enum) (campo facoltativo)
Il tipo di pasto consumato dall'utente al momento della lettura.
relazione temporale con il sonno (int: enum) (campo facoltativo)
Il momento in cui la lettura è stata rilevata rispetto a quando ha dormito l'utente.
Valori accettati
"intVal": 1 // User was fully awake
"intVal": 2 // Before the user fell asleep
"intVal": 3 // After the user woke up
"intVal": 4 // While the user was still sleeping
specimen source (int: enum) (campo facoltativo)
Tipo di fluido corporeo utilizzato per misurare la glicemia.
Il momento in cui la lettura è stata rilevata rispetto a quando l'utente ha mangiato.
Valori accettati
FIELD_TEMPORAL_RELATION_TO_MEAL_GENERAL // Reading wasn't taken before or after a meal
FIELD_TEMPORAL_RELATION_TO_MEAL_FASTING // Reading was taken during a fasting period
FIELD_TEMPORAL_RELATION_TO_MEAL_BEFORE_MEAL // Reading was taken before a meal
FIELD_TEMPORAL_RELATION_TO_MEAL_AFTER_MEAL // Reading was taken after a meal
FIELD_MEAL_TYPE (int: enum) (campo facoltativo)
Il tipo di pasto consumato dall'utente al momento della lettura.
Il momento in cui la lettura è stata rilevata rispetto a quando ha dormito l'utente.
Valori accettati
TEMPORAL_RELATION_TO_SLEEP_FULLY_AWAKE // User was fully awake.
TEMPORAL_RELATION_TO_SLEEP_BEFORE_SLEEP // Before the user fell asleep.
TEMPORAL_RELATION_TO_SLEEP_ON_WAKING // After the user woke up.
TEMPORAL_RELATION_TO_SLEEP_DURING_SLEEP // While the user was still sleeping.
Ogni punto dati rappresenta la pressione sanguigna media, minima e massima nell'intervallo di tempo, misurata in mmHg.
Se i valori per ciascuno di questi campi sono gli stessi per tutte le misurazioni effettuate durante l'intervallo di tempo, il valore del campo verrà visualizzato nei dati restituiti:
posizione del corpo
luogo di misurazione
Se i valori sono diversi nelle misurazioni, il campo verrà escluso.
La posizione del corpo dell'utente al momento della misurazione.
Valori accettati
BODY_POSITION_STANDING // Standing up
BODY_POSITION_SITTING // Sitting down
BODY_POSITION_LYING_DOWN // Lying down
BODY_POSITION_SEMI_RECUMBENT // Reclining
Il gruppo e parte del braccio eseguito la misurazione.
Valori accettati
BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_WRIST // Left wrist
BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_WRIST // Right wrist
BLOOD_PRESSURE_MEASUREMENT_LOCATION_LEFT_UPPER_ARM // Left upper arm
BLOOD_PRESSURE_MEASUREMENT_LOCATION_RIGHT_UPPER_ARM // Right upper arm
Riepilogo temperatura corporea
Ogni punto dati rappresenta la temperatura corporea media, minima e massima dell'utente in un intervallo di tempo.
Avrà anche la località in cui è stata effettuata la misurazione sul corpo, se
la località di misurazione era la stessa per tutti i punti dati nell'intervallo di tempo.
Ogni punto dati rappresenta la saturazione media, minima e massima di ossigeno nel sangue e la portata del flusso di ossigeno supplementare dell'utente in un intervallo di tempo.
Se i valori per ciascuno di questi campi sono gli stessi per tutte le misurazioni effettuate durante l'intervallo di tempo, il valore del campo verrà visualizzato nei dati restituiti:
modalità di somministrazione di ossigenoterapia
sistema di saturazione ossigeno
metodo di misurazione della saturazione di ossigeno
Se i valori sono diversi nelle misurazioni, il campo verrà escluso.