Visão geral

A API Google Health é uma solução abrangente criada do zero, que oferece aos desenvolvedores acesso robusto a uma ampla variedade de dados de saúde do usuário com consentimento e diversos tipos de dados. A API Google Health usa um novo console para registrar seus apps, o OAuth 2.0 do Google, novos tipos de dados, um novo esquema de endpoint e um novo formato de resposta.

Este guia foi criado para ajudar os desenvolvedores a migrar os apps da API Fitbit Web para a nova API Google Health. Ele apresenta recomendações para garantir uma migração perfeita, mantendo os usuários.

Por que migrar?

Essa não é apenas uma atualização, mas uma mudança estratégica para garantir que seus apps sejam seguros e estejam prontos para avanços futuros na tecnologia de saúde. Confira alguns dos benefícios de usar a API Google Health:

  • Acesso a dados abrangentes: tenha acesso robusto a uma ampla variedade de dados de saúde do usuário com consentimento e diversos tipos de dados.
  • Segurança aprimorada: conformidade com as práticas recomendadas de segurança do Google, alinhadas aos padrões de segurança, privacidade e identidade do Google.
  • Consistência: elimina inconsistências legadas em formatos de dados, fusos horários, unidades de medida e tratamento de erros para uma experiência de desenvolvedor mais intuitiva.
  • Escalabilidade e preparação para o futuro: projetada para escalonar e atender às demandas futuras e oferece suporte a protocolos modernos, como o gRPC.

A transição da API Fitbit Web para a API Google Health envolve mais do que modificações técnicas. Devido à mudança para uma nova biblioteca OAuth, os tokens de acesso e atualização atuais não podem ser transferidos, exigindo que os usuários consintam novamente com a integração atualizada.

Oferecer suporte aos dois métodos de login

Como a API Fitbit Web e a API Google Health usam sistemas diferentes para processar logins de usuários, enquanto as APIs Fitbit Web ainda estiverem ativas, seu app precisará oferecer suporte aos dois métodos temporariamente.

Em vez de pedir dados diretamente, implemente uma camada que decida se vai conversar com a API Fitbit Web ou com a API Google Health para um usuário específico. Assim, o restante do app não precisa se preocupar com os detalhes.

Atualize seu banco de dados de usuários para incluir uma flag (por exemplo, oauth_type) para identificar qual sistema de login eles estão usando.

  • Para novos usuários: configure-os automaticamente com a nova API Google Health (oauth_type: google).
  • Para usuários atuais: mantenha-os na API Fitbit Web até que eles atualizem o consentimento (oauth_type: fitbit).

Para evitar interromper a experiência do usuário, recomendamos não forçar todos a fazer logout e login novamente. Em vez disso:

  1. Quando um usuário que permanece conectado às APIs Fitbit Web interage com seu app, mostre uma notificação amigável incentivando a atualização da conexão.
  2. Quando o usuário aceitar a ação de atualização, acione o fluxo de login do Google Health.
  3. Depois que o login do Google for bem-sucedido, salve as novas credenciais do Google no perfil do usuário e mude a flag oauth_type de fitbit para google. Se a configuração permitir, faça logout programaticamente do antigo sistema Fitbit revogando os tokens para manter tudo organizado e seguro.

Garantir a continuidade dos dados

Ao fazer a transição de uma integração da API Fitbit Web legada para a API Google Health, os aplicativos de desenvolvedor precisam considerar uma mudança nas estruturas de identificação do usuário.

A API Fitbit Web legada identifica contas usando uma string alfanumérica de seis caracteres (como A1B2C3), enquanto a API Google Health usa um healthUserId formatado como uma string de até 63 dígitos e caracteres.

Para preencher essa lacuna sem perder o contexto do usuário, os desenvolvedores podem consultar o getIdentity endpoint para receber os IDs de usuário do Fitbit e do Health. Esse endpoint retorna um payload que contém o legacyUserId e o novo healthUserId, permitindo que os aplicativos criem dinamicamente um mapeamento entre os registros atuais e o novo sistema de contas.

Preenchimento de dados históricos

Se um usuário não fizer a autenticação nos novos endpoints da API Google Health antes que os endpoints legados sejam desativados, os dados dele ainda estarão disponíveis enquanto ele continuar sincronizando o dispositivo com o app Google Health. No entanto, pode haver uma lacuna nos dados desse usuário.

Para preencher os dados, depois que o usuário fizer a autenticação novamente nos novos endpoints, você poderá usar a API Google Health para preencher os dados históricos. Consulte Consultar dados históricos para orientações.

Comunicação e tempo

Para ajudar os usuários a migrar do OAuth do Fitbit para o novo OAuth do Google, siga estas práticas recomendadas.

Comunicação com valor agregado

Não comece com "Atualizamos nossa API", mas com os benefícios da integração dos dados do Google Health ao seu app. No entanto, informe que eles precisam fazer a autenticação novamente se quiserem que os dados sejam sincronizados:

  • Explique claramente quais recursos estão disponíveis no seu app com a integração e personalize a mensagem para mostrar como um usuário se beneficia desses recursos.
  • Concentre-se nos recursos e forneça casos de uso em vez de detalhes técnicos de implementação.
  • Não diga: "Não será possível se conectar à API Fitbit".
  • Diga: "Para continuar vendo treinos detalhados com dados de frequência cardíaca, consinta novamente com as APIs Google Health".

Quando notificar os usuários

Em todas as comunicações com o usuário, siga as diretrizes de marca do Google Health, e use banners, cards ou alertas dispensáveis.

  • Não acione a tela de consentimento novamente enquanto um usuário estiver no meio de um treino ou registrando algo manualmente.
  • Só torne o consentimento obrigatório após várias semanas de avisos, coincidindo com os prazos oficiais de descontinuação da API Fitbit Web.
  • Se um usuário não tiver consentido novamente após o prazo final, forneça um caminho de recuperação adequado. Forneça uma mensagem de ajuda em um banner, card ou dica de ferramenta que ajude a entender por que os dados estão ausentes e como corrigir isso.