Tipos de datos

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Google Fit proporciona un conjunto de tipos de datos de salud y bienestar en el espacio de nombres com.google.

Los tipos de datos definen el formato de los valores dentro de los datos. Un dato puede representar lo siguiente:

  • Observación o lectura instantáneas
  • Un agregado con estadísticas durante un intervalo de tiempo

Google Fit define los tipos de datos para las observaciones instantáneas y los tipos de datos para los datos agregados. Los datos consisten en valores para los campos de un tipo de datos y la información de la marca de tiempo. Los puntos que representan observaciones instantáneas incluyen una marca de tiempo, y los puntos de un tipo de datos agregados también incluyen la hora de inicio del intervalo.

Google Fit también te permite definir nuevos tipos de datos.

Grupos de tipos de datos

Google Fit tiene los siguientes tipos de datos:

Tipos de datos públicos
Los tipos de datos estándar que proporciona la plataforma tienen el prefijo 'com.google' Por ejemplo, com.google.step_count.delta. Estos tipos de datos capturan lecturas instantáneas para datos de salud y bienestar, incluida la actividad de entrenamiento, el sueño y la nutrición. Cualquier app puede solicitar los permisos relevantes para leer y escribir en estos tipos de datos, excepto algunos tipos de datos de ubicación que solo puede leer la app que los escribió.

Para obtener más información, consulta:

Tipos de datos de salud
Tipos de datos que proporciona la plataforma y que tienen acceso restringido debido a datos potencialmente sensibles. Para obtener más información, consulta Tipos de datos de salud.
Tipos de datos agregados
Tipos de datos para leer información de salud y bienestar agregada por hora o tipo de actividad. Para obtener más información, consulta Tipos de datos agregados.
Tipos de datos personalizados privados
Tipos de datos personalizados definidos por una app específica. Solo la app que define el tipo de datos puede leer y escribir datos de este tipo. Para obtener más información, consulta Tipos de datos personalizados.

Usa tipos de datos

Android

En Android, los tipos de datos se definen como campos públicos de la clase DataType. La forma de invocar las API de Fitness con el tipo de datos depende de lo que quieras lograr:

  • Si deseas registrar datos, usa la API de Recording a fin de crear una suscripción para cada tipo de datos que desees registrar.
  • A fin de leer datos, usa la API de History a fin de enviar una solicitud de lectura para cada tipo de datos.
  • Si deseas insertar datos históricos del pasado, usa la API de History a fin de enviar una solicitud de inserción para cada tipo de datos.
  • Si quieres crear sesiones, usa la API de sesiones para insertar o registrar datos con metadatos de sesión.

A fin de crear datos para un objeto DataType instantáneo, asigna valores con el formato correcto. En el siguiente ejemplo, se muestra cómo asignar el elemento de comida como una string, el tipo de comida como una constante de la clase Field y el contenido nutricional como valores flotantes asignados.

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()

Después de configurar datos en tu app, puedes insertar, leer o borrar datos históricos con la API de History.

REST

El recurso dataSources incluye el tipo de datos (y una lista de sus campos) para cada fuente de datos. Puedes especificar uno de estos tipos de datos cuando creas fuentes de datos y puedes obtener el nombre del tipo de datos y una lista de sus campos cuando recuperas una fuente de datos de la tienda de entrenamiento.

Por ejemplo, una representación de fuente de datos especifica su tipo de datos de la siguiente manera:

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

Permisos de autorización

Los permisos de autorización abarcan grupos de tipos de datos a los que el usuario puede autorizar el acceso de una app. Ayudan a los usuarios a comprender a qué tipos de datos quiere acceder una app. También facilitan el otorgamiento de permisos a las apps para que usen esos datos, ya que no tienen que aprobar cada tipo de datos individual. Los usuarios otorgan estos permisos una vez que descargan tu app.

Ejemplo de la pantalla de consentimiento de los permisos de OAuth
Figura 2:Pantalla de consentimiento de los permisos de OAuth

Después de probar tu app con un número pequeño de usuarios, antes de lanzarla, debes solicitar la verificación según los alcances relevantes para esos tipos de datos. Lee las páginas de tipos de datos vinculadas anteriormente para comprender qué alcances se aplican a cada tipo de datos.

Por ejemplo, si tu app necesita leer y escribir la presión arterial, necesita declarar que está leyendo y escribiendo, y solicita ambos alcances. Si solo escribe datos de presión arterial en la plataforma de Google Fit, solo debe solicitar el permiso de escritura.

Elige los tipos de datos de manera responsable. No solicites todos los tipos de datos en caso de que tu app los necesite. Los tipos especificados determinan para qué alcances se le solicita permiso al usuario. Solo solicita los tipos de datos que necesita tu app para que los usuarios tengan más probabilidades de otorgar acceso. Los usuarios otorgan acceso con mayor facilidad a alcances limitados y claramente descritos.

Usa esta tabla para verificar si los permisos a los que necesita acceder tu app son sensibles o restringidos (lo que determina los pasos de verificación que deberás seguir):

Alcance Descripción Categoría
https://www.googleapis.com/auth/fitness.activity.read Leer datos de actividad de la plataforma de Google Fit Restringidas
https://www.googleapis.com/auth/fitness.activity.write Cómo escribir datos de actividad en la plataforma de Google Fit Sensible
https://www.googleapis.com/auth/fitness.blood_glucose.read Consulte los datos sobre glucemia en la plataforma de Google Fit. Restringidas
https://www.googleapis.com/auth/fitness.blood_glucose.write Escribir datos de glucemia en la plataforma de Google Fit Sensible
https://www.googleapis.com/auth/fitness.blood_pressure.read Leer los datos de presión arterial desde la plataforma de Google Fit. Restringidas
https://www.googleapis.com/auth/fitness.blood_pressure.write Ingresar datos de presión arterial en la plataforma de Google Fit Sensible
https://www.googleapis.com/auth/fitness.body.read Leer los datos de medición corporal (altura, peso, porcentaje de grasa corporal) desde la plataforma de Google Fit. Restringidas
https://www.googleapis.com/auth/fitness.body.write Ingresar datos de medición corporal en la plataforma de Google Fit Sensible
https://www.googleapis.com/auth/fitness.body_temperature.read Lee los datos sobre temperatura corporal en la plataforma de Google Fit. Restringidas
https://www.googleapis.com/auth/fitness.body_temperature.write Ingresar datos de temperatura corporal en la plataforma de Google Fit Sensible
https://www.googleapis.com/auth/fitness.heart_rate.read Leer datos de ritmo cardíaco desde la plataforma de Google Fit. Restringidas
https://www.googleapis.com/auth/fitness.heart_rate.write Ingresar datos de ritmo cardíaco en la plataforma de Google Fit Sensible
https://www.googleapis.com/auth/fitness.location.read Leer datos de ubicación desde la plataforma de Google Fit Restringidas
https://www.googleapis.com/auth/fitness.location.write Escribe datos de ubicación en la plataforma de Google Fit. Sensible
https://www.googleapis.com/auth/fitness.nutrition.read Lee datos nutricionales de la plataforma de Google Fit. Restringidas
https://www.googleapis.com/auth/fitness.nutrition.write Escribir datos nutricionales en la plataforma de Google Fit Sensible
https://www.googleapis.com/auth/fitness.oxygen_saturation.read Lee los datos sobre la saturación del oxígeno en la plataforma de Google Fit. Restringidas
https://www.googleapis.com/auth/fitness.oxygen_saturation.write Escribir datos de saturación de oxígeno en la plataforma de Google Fit Sensible
https://www.googleapis.com/auth/fitness.reproductive_health.read Leer datos de salud reproductiva de la plataforma de Google Fit. Restringidas
https://www.googleapis.com/auth/fitness.reproductive_health.write Escribir datos de salud reproductiva en la plataforma de Google Fit Sensible
https://www.googleapis.com/auth/fitness.sleep.read Leer datos de sueño de la plataforma de Google Fit Restringidas
https://www.googleapis.com/auth/fitness.sleep.write Escribir datos de sueño en la plataforma de Google Fit Sensible

Agrega permisos nuevos a una app existente

Cuando actualizas tu app para solicitar un alcance nuevo (por ejemplo, si agregas nuevos alcances de sueño o frecuencia cardíaca, o agregas un alcance de lectura), se solicitará a los usuarios que tu app solicite acceso a estos alcances y puedan elegir otorgar o rechazar el acceso.

Se recomienda solicitar autorización a los usuarios para obtener recursos en el momento en que los necesitas. Sigue los lineamientos para solicitar una autorización incremental.

Es más probable que los usuarios otorguen acceso si entienden por qué y cómo tu app usa estos datos:

  • Considera agregar una pantalla que informe a los usuarios que se les pedirá estos permisos.
  • Explica con claridad por qué tu app solicita acceso a estos permisos o datos para que los usuarios puedan tomar una decisión fundamentada.

Obtén más información sobre las prácticas recomendadas sobre permisos de apps para Android.