Google Health API는 처음부터 구축된 포괄적인 솔루션으로, 개발자에게 동의한 다양한 사용자 건강 데이터와 다양한 데이터 유형에 대한 강력한 액세스를 제공합니다. Google Health API는 앱 등록을 위한 새 콘솔, Google OAuth 2.0, 새 데이터 유형, 새 엔드포인트 스키마, 새 응답 형식을 사용합니다.
이 가이드는 개발자가 기존 Fitbit Web API 앱을 새로운 Google Health API로 이전하는 데 도움이 되도록 설계되었습니다. 사용자를 유지하면서 원활한 이전을 보장하기 위한 권장사항이 포함되어 있습니다.
이전해야 하는 이유
이전은 단순한 업데이트가 아니라 앱이 안전하고 향후 건강 기술 발전을 대비할 수 있도록 하는 전략적 조치입니다. Google Health API를 사용하면 다음과 같은 이점이 있습니다.
- 포괄적인 데이터 액세스: 동의한 다양한 사용자 건강 데이터와 다양한 데이터 유형에 대한 강력한 액세스 권한을 얻습니다.
- 보안 강화: Google의 보안, 개인 정보 보호, ID 표준에 부합하는 Google의 보안 권장사항을 준수합니다.
- 일관성: 데이터 형식, 시간 대, 측정 단위, 오류 처리의 기존 불일치를 없애 개발자 환경을 더욱 직관적으로 만듭니다.
- 확장성 및 미래 대비: 향후 요구사항을 충족하도록 확장할 수 있도록 설계되었으며 gRPC와 같은 최신 프로토콜을 지원합니다.
Fitbit Web API에서 Google Health API로 전환하려면 기술적 수정 이상의 작업이 필요합니다. 새 OAuth 라이브러리로 전환되므로 기존 액세스 토큰과 갱신 토큰을 전송할 수 없으며 사용자가 업데이트된 통합에 다시 동의해야 합니다.
두 로그인 방법 모두 지원
Fitbit Web API와 Google Health API는 사용자 로그인을 처리하는 데 서로 다른 시스템을 사용하므로 Fitbit Web API가 계속 활성 상태인 동안 앱은 일시적으로 두 가지 방법을 동시에 지원해야 합니다.
앱에서 직접 데이터를 요청하는 대신 특정 사용자를 위해 Fitbit Web API 또는 Google Health API와 통신할지 결정하는 레이어를 구현하여 앱의 나머지 부분에서 세부정보를 걱정하지 않도록 합니다.
사용자가 사용하는 로그인 시스템을 식별하는 플래그 (예: oauth_type)를 포함하도록 사용자 데이터베이스를 업데이트합니다.
- 신규 사용자: 새 Google Health API
(
oauth_type: google)로 자동으로 설정합니다. - 기존 사용자: 동의를 업데이트할 때까지 Fitbit Web API를 계속 사용합니다 (
oauth_type: fitbit).
사용자 환경을 방해하지 않으려면 모든 사용자에게 로그아웃 후 다시 로그인하도록 강제하지 않는 것이 좋습니다. 대신 다음을 수행합니다.
- Fitbit Web API에 계속 연결된 사용자가 앱과 상호작용할 때 연결을 업데이트하도록 권장하는 친절한 알림을 표시합니다.
- 사용자가 업데이트 작업을 수락하면 즉시 Google Health 로그인 흐름을 트리거합니다.
- Google 로그인이 완료되면 새 Google 사용자 인증 정보를 사용자 프로필에 저장하고
oauth_type플래그를fitbit에서google로 전환합니다. 설정에서 허용하는 경우 토큰을 취소하여 이전 Fitbit 시스템에서 프로그래매틱 방식으로 로그아웃하여 깔끔하고 안전하게 유지합니다.
데이터 연속성 보장
통합을 기존 Fitbit Web API에서 Google Health API로 전환할 때 개발자 애플리케이션은 사용자 식별 구조의 변경사항을 고려해야 합니다.
기존 Fitbit Web API는 6자리 영숫자 문자열 (예: A1B2C3)을 사용하여 계정을 식별하는 반면 Google Health API는 최대 63개의 숫자 및 문자로 구성된 문자열 형식의 healthUserId를 사용합니다.
사용자 컨텍스트를 잃지 않고 이 격차를 해소하기 위해 개발자는
getIdentity 엔드포인트를 쿼리하여 Fitbit 및 Health 사용자
ID를 가져올 수 있습니다.
이 엔드포인트는 legacyUserId와 새 healthUserId를 모두 포함하는 페이로드를 반환하므로 애플리케이션에서 기존 레코드와 새 계정 시스템 간의 매핑을 동적으로 만들 수 있습니다.
이전 데이터 백필
사용자가 기존 엔드포인트가 사용 중지되기 전에 새 Google Health API 엔드포인트에 인증하지 않으면 기기를 Google Health 앱에 계속 동기화하는 한 데이터는 계속 사용할 수 있습니다. 하지만 이 사용자의 데이터에 격차가 있을 수 있습니다.
사용자가 새 엔드포인트에 다시 인증하면 Google Health API를 사용하여 이전 데이터를 백필할 수 있습니다. 자세한 내용은 이전 데이터 쿼리 를 참고하세요.
커뮤니케이션 및 타이밍
사용자가 기존 Fitbit OAuth에서 새 Google OAuth로 이동할 수 있도록 하려면 다음 권장사항을 따르세요.
가치 우선 커뮤니케이션
'API를 업데이트했습니다'로 시작하지 말고 Google Health 데이터를 앱에 통합하는 이점을 먼저 설명하되, 데이터 동기화를 원하면 다시 인증해야 한다는 점을 사용자에게 알리세요.
- 통합으로 구동되는 앱에서 사용할 수 있는 기능을 명확하게 설명하고 사용자가 이러한 기능을 통해 얻을 수 있는 혜택에 맞게 메시지를 맞춤설정합니다.
- 기술 구현 세부정보 대신 기능에 집중하고 사용 사례를 제공합니다.
- 다음과 같이 말하지 마세요: 'Fitbit API에 연결할 수 없습니다.'
- 다음과 같이 말하세요: "심박수 데이터가 포함된 자세한 운동을 계속 보려면 Google Health API에 다시 동의하세요."
사용자에게 알림을 보내야 하는 경우
모든 사용자 커뮤니케이션에서 Google Health 브랜드 가이드라인을 준수하고 닫을 수 있는 배너, 카드 또는 알림을 사용합니다.