O Google Fit oferece um conjunto de tipos de dados de saúde e bem-estar no namespace com.google
.
Os tipos de dados definem o formato dos valores dentro dos pontos de dados. Um ponto de dados pode representar:
- Uma leitura ou observação instantânea
- Um agregador com estatísticas em um intervalo de tempo
O Google Fit define tipos de dados para observações instantâneas e tipos de dados para dados agregados. Os pontos de dados consistem em valores para os campos de um tipo de dados e informações de carimbo de data/hora. Os pontos que representam observações instantâneas incluem um carimbo de data/hora, e os pontos de um tipo de dado agregado também incluem o horário de início do intervalo.
O Google Fit também permite definir novos tipos de dados.
Grupos de tipos de dados
O Google Fit tem estes tipos de dados:
- Tipos de dados públicos
- Os tipos de dados padrão fornecidos pela plataforma têm o prefixo "com.google". Por exemplo, com.google.step_count.delta. Esses tipos de dados capturam leituras instantâneas de dados de saúde e bem-estar, incluindo atividade física, sono e nutrição. Qualquer app pode solicitar as permissões relevantes para ler e gravar nesses tipos de dados, exceto alguns tipos de dados de local que só podem ser lidos pelo app que os gravou.
Veja mais informações nos links abaixo:
- Tipos de dados de saúde
- Tipos de dados fornecidos pela plataforma que têm acesso restrito devido a dados potencialmente sensíveis. Para mais informações, consulte Tipos de dados de saúde.
- Tipos de dados agregados
- Tipos de dados para ler informações de saúde e bem-estar agregadas por tipo de atividade ou tempo. Para mais informações, consulte Tipos de dados agregados.
- Tipos de dados personalizados particulares
- Tipos de dados personalizados definidos por um app específico. Somente o app que define o tipo de dados pode ler e gravar dados desse tipo. Para mais informações, consulte Tipos de dados personalizados.
Como usar tipos de dados
Android
No Android, os tipos de dados são definidos como campos públicos da
classe
DataType
. A forma como você invoca as APIs de condicionamento físico com o tipo de dados depende do que você quer realizar:
- Para gravar dados, use a API Recording para criar uma assinatura para cada tipo de dado que você quer gravar.
- Para ler dados, use a API History para enviar uma solicitação de leitura para cada tipo de dados.
- Para inserir dados históricos anteriores, use a API History e envie uma solicitação de inserção para cada tipo de dados.
- Para criar sessões, use a API Sessions para inserir ou gravar dados com metadados de sessão.
Para criar pontos de dados para um objeto
DataType
instável, atribua valores com o formato correto. O exemplo a seguir mostra
como atribuir o prato como uma string, o tipo de refeição como uma constante da
classe Field
e o conteúdo nutricional como valores flutuantes mapeados.
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()
Depois de definir pontos de dados no seu app, você pode inserir, ler ou excluir dados históricos com a API History.
REST
O recurso dataSources
inclui o tipo de dados (e uma lista dos campos) de cada fonte de dados. Você pode especificar um desses tipos de dados ao
criar fontes de dados e conseguir o nome do tipo de dado e uma lista dos campos
ao recuperar uma fonte do armazenamento do fitness.
Por exemplo, uma representação de fonte de dados especifica o tipo de dados da seguinte maneira:
{ "dataStreamId": "exampleDataSourceId", ... "dataType": { "name": "com.google.step_count.delta" }, ... }
Escopos de autorização
Os escopos de autorização abrangem grupos de tipos de dados que um usuário pode autorizar a acessar de um app. Eles ajudam os usuários a entender que tipos de dados um app quer acessar. Elas também facilitam a permissão para que os apps usem esses dados sem precisar aprovar cada tipo de dados individual. Os usuários concedem essas permissões depois de fazer o download do app.
Depois de testar seu app com um pequeno número de usuários, antes de lançar o app, é necessário solicitar a verificação com base nos escopos relevantes para esses tipos de dados. Leia as páginas de tipos de dados vinculadas acima para entender quais escopos se aplicam a cada tipo de dados.
Por exemplo, se o app precisar ler e gravar uma pressão sanguínea de gravação, ele precisa declarar que está lendo e gravando e solicitar os dois escopos. Se estiver apenas gravando dados de pressão arterial na plataforma Google Fit, ela só precisará solicitar o escopo da gravação.
Escolha os tipos de dados com responsabilidade. Não solicite todos os tipos de dados se o app precisar dele. Os tipos especificados determinam para quais escopos o usuário é solicitado a conceder permissão. Solicite apenas os tipos de dados de que o app precisa. Assim, a probabilidade de os usuários concederem acesso será maior. Os usuários concedem acesso mais rápido a escopos limitados e claramente descritos.
Use esta tabela para verificar se os escopos aos quais seu app precisa de acesso são confidenciais ou restritos, o que determina as etapas de verificação que você precisa seguir:
Escopo | Descrição | Categoria |
---|---|---|
https://www.googleapis.com/auth/fitness.activity.read |
Ler os dados de atividade da plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.activity.write |
Gravar dados de atividade na plataforma Google Fit | Restrito |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
Ler dados de glicemia da plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
Gravar dados de glicemia na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
Leia dados de pressão arterial na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
Gravar dados de pressão arterial na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.body.read |
Leia dados de medição corporal (altura, peso e percentual de gordura corporal) na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.body.write |
Grave dados de medição corporal na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.body_temperature.read |
Leia dados de temperatura corporal na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.body_temperature.write |
Grave dados de temperatura corporal na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.heart_rate.read |
Leia dados de frequência cardíaca na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.heart_rate.write |
Gravar dados de frequência cardíaca na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.location.read |
Ler os dados de local da plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.location.write |
Gravar dados de local na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.nutrition.read |
Ler dados nutricionais da plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.nutrition.write |
Gravar dados nutricionais na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
Ler dados de saturação de oxigênio na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
Grave dados de saturação de oxigênio na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
Ler dados de saúde reprodutiva da plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
Gravar dados de saúde reprodutiva na plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.sleep.read |
Ler dados de sono da plataforma Google Fit. | Restrito |
https://www.googleapis.com/auth/fitness.sleep.write |
Grave dados de sono na plataforma Google Fit. | Restrito |
Adicionar novos escopos a um app existente
Quando você atualizar seu app para solicitar um novo escopo (por exemplo, se você adicionar os novos escopos de frequência cardíaca ou de sono ou adicionar um escopo de leitura), os usuários vão receber uma solicitação informando que seu app está solicitando acesso a esses escopos e eles vão poder conceder ou rejeitar o acesso.
É uma prática recomendada solicitar a autorização dos recursos para os usuários no momento necessário. Siga as diretrizes para solicitar uma autorização incremental.
É mais provável que os usuários concedam acesso se entenderem por que/como seu app usa esses dados:
- Considere adicionar uma tela que avisa/informa aos usuários que eles serão solicitados para esses escopos.
- Explique claramente por que o app está solicitando acesso a esses escopos/dados para que os usuários tomem decisões fundamentadas.
Saiba mais sobre as práticas recomendadas para permissões de apps para Android.