无缝恢复是一种机制,当回访玩家在新设备上安装游戏或重新安装游戏时,系统会立即将其重新连接到其进度,从而消除登录界面的摩擦。 理想情况下,在适用无缝恢复的情况下,游戏应恢复玩家最近玩过的游戏内账号。
在以下情况下,游戏会恢复玩家最近玩过的游戏内账号:
实现准则
请参阅以下有关如何使用无缝恢复的准则:
何时使用无缝恢复?
- 新设备 / 全新安装: 当回访玩家在新设备上安装游戏时,游戏应恢复与 Google Play 游戏服务玩家 ID 关联的最近玩过的游戏内账号 (IGA)。玩家希望继续玩上次保存的进度。
- 重新安装: 当回访玩家在任何设备上安装游戏时,请将其视为新设备安装并实现无缝恢复。
何时不应使用无缝恢复?
- 应用更新: 如果玩家更新应用,则本地数据应已存在(例如,玩家通过 Google Play 更新了应用)。在这种情况下,请勿触发无缝恢复,并尊重本地状态。 但是,如果没有本地数据,并且最近玩过的 IGA 与 PGS 玩家 ID 相关联,则游戏可以恢复此 IGA 或向玩家显示游戏的登录界面。
- 明确退出: 如果玩家明确退出 IGA,则其最有可能的意图是切换账号或保持退出游戏状态。在这种情况下,请勿在下次启动时强制恢复之前的账号。而是显示登录界面。这样,玩家就可以在多个游戏内账号之间切换。
冲突解决:
如果您的游戏实现了理想身份验证
流程的用户体验准则,并遵循了无缝恢复实现准则,则
游戏不会遇到任何冲突解决问题。但是,如果游戏遇到玩家拥有本地 Guest 账号且进度显著,但同时拥有与 PGS 关联的最近玩过的 IGA 的云端备份的情况,则游戏不应自动覆盖本地数据。而是向玩家显示提示,让玩家在两种状态之间进行选择。
例如,显示以下提示: "发现云端保存。您想恢复 50 级还是保留本地 5 级?” 。
将最近玩过的 IGA 与 PGS 玩家 ID 绑定
为了实现无缝恢复,游戏必须验证玩家最近玩过的 IGA 与其经过身份验证的 PGS 玩家 ID 之间是否存在关联。您可以通过以下任一方法来完成此操作:
- 自有后端:您可以在后端中维护玩家 ID 与 游戏内标识符的关联,此外,还可以将最近玩过的状态与游戏内标识符进行映射,以便在平台身份验证后立即获取玩家 ID 时,检索玩家最近玩过的 IGA。
Recall API(推荐):如果您没有自己的可靠身份后端,建议使用 Recall API 来实现无缝恢复。它允许 Google 存储用户玩家 ID 与您的内部游戏内账号 ID(角色)之间的关联。 Recall API 的工作原理如下:
存储: 当用户玩游戏时,向 Google 发送“Recall 令牌” (指向其 IGA 的加密链接)。
检索: 在新设备上,在 PGS 身份验证后,您查询 Recall API。如果存在令牌,您将对其进行解密以查找 IGA ID 并立即恢复进度。