借助 Credential Manager 的“恢复凭据”功能,用户可以在设置新设备后首次打开应用时自动恢复其应用账号并登录。恢复凭据(也称为恢复密钥)是一种可以本地保存或备份到云提供商的凭据,然后用于在用户的新设备上配置访问权限。
本指南假定您熟悉以下概念:
优势
“恢复凭据”功能的好处包括:
- 提供顺畅的用户体验:用户无需手动登录,即可立即在新设备上开始使用应用。
- 立即互动:用户开始使用新设备后,您可以立即通过通知或其他提示与他们互动。
- 支持多种身份验证机制:它可与 Credential Manager 支持的所有身份验证机制搭配使用,包括:
流程概览
以下部分介绍了每部设备上所需的操作流程:
在旧设备上
在用户向您的应用完成身份验证后生成恢复密钥,即在用户登录后立即生成,或者在用户已登录的情况下,在后续应用启动期间生成。 Android 备份服务会自动将生成的恢复密钥存储在设备上,并根据用户的备份设置将其保存到云端。
用户必须满足以下要求,才能备份到云端:
- 已登录自己的 Google 账号。
- 已启用 Android 数据备份。如需了解详情,请参阅数据备份。
- 设置了屏幕解锁机制,例如解锁图案、PIN 码、密码或生物识别信息。
如果不满足这些条件,系统会抛出 E2eeUnavailableException。
在新设备上
当用户设置新设备时,“恢复凭据”会在设备设置过程中在后台静默运行。用户可以选择通过以下任一方式恢复数据:
- 从云端备份:如果使用云端备份,恢复密钥会随应用数据一起下载到新设备。
- 使用设备到设备传输:当用户使用 USB 数据线连接旧设备和新设备时,恢复密钥会通过 USB 数据线从旧设备转移到新设备。
在新设备上获得恢复密钥后,您可以使用该密钥让用户登录。
处理多个系统个人资料和应用账号
在实现“恢复凭据”功能时,请考虑以下与多账号应用和系统级个人资料相关的限制。
已登录多个账号的应用
有些应用允许用户在多个有效账号之间切换(例如,在同一应用中切换个人电子邮件账号和工作电子邮件账号)。恢复凭据仅支持每个应用一个账号。如果用户登录了多个账号,您必须仅选择一个账号来创建恢复密钥。通常,这应该是主账号或最近使用的账号。
具有多个系统配置的设备
在配置了单独系统资料(例如具有工作资料和个人资料的公司设备)的设备上,恢复密钥仅适用于设备上最先设置的资料。
限制
恢复凭据功能可在移动设备上使用,但无法跨设备规格使用。