Google Health API 是一款从头开始构建的综合解决方案,可为开发者提供对各种已获用户同意的健康数据和多样化数据类型的强大访问权限。Google Health API 使用新的控制台来注册应用、Google OAuth 2.0、新的数据类型、新的端点架构和新的响应格式。
本指南旨在帮助开发者将其现有的 Fitbit Web API 应用迁移到新的 Google Health API。其中包含一些建议,可确保无缝迁移,同时留住用户。
为什么要迁移?
这不仅仅是一次更新,更是一项战略举措,旨在确保您的应用安全无虞,并为未来的健康技术进步做好准备。使用 Google Health API 的一些优势包括:
- 访问全面数据:获得对各种 已获用户同意的健康数据和多样化数据类型的强大访问权限。
- 增强安全性:符合 Google 的安全最佳实践, 与 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 使用 healthUserId,其格式为最多 63 位数字和字符的字符串。
为了弥合这一差距而不丢失用户上下文,开发者可以查询
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 品牌指南, 并使用可关闭的横幅、卡片或提醒。