借助 Recall API,游戏可以将 Play 游戏服务 (PGS) 作为其游戏的伴侣, 现有的登录机制(例如 Google 登录)并无缝同步到 球员的提供跨设备登录信息,以降低新用户流失率 并提高第 1 天留存率。 此 API 可管理用户的 Play 游戏服务 (PGS) 账号与 将 Recall 令牌存储在 Google 服务器上,从而保护其游戏内账号。这里有 如何使用 Recall API 的示例场景:
用户正在玩一款游戏,其开发者可以通过身份系统跟踪用户进度,并同时使用 PGS 和其他身份验证方法让用户登录其游戏。在此示例中,用户登录了其 PGS 账号 Laura,然后使用开发者的身份系统(名为 Racer94)创建了一个游戏内账号。当用户玩游戏时,开发者的游戏服务器会同步其进度。
此外,开发者还在 Google 上保存一个 Recall 令牌,该令牌与用户的游戏内账号相对应。Google 会根据用户的 PGS 玩家资料自动存储该 Recall 令牌。
用户现在决定通过 Google Play Games on PC 端 。用户使用其 PGS 账号自动登录,并且 游戏客户端会检查此 PGS 是否有任何进度 用户。然后,游戏服务器会向 Google 查询,以确认是否有 此 PGS 账号。由于存在,Google 会发回 Recall 令牌, 游戏服务器使用该令牌查找用户的关联账号 Racer94 并恢复其进度。由于使用 PGS 登录 流畅的体验,那么应用无需 用户需要输入用户名或密码此外,开发者还可以 可以通过其现有身份系统使用 PGS 登录,并依赖 Google 来存储玩家进度与其 Play 游戏服务账号之间的关联。
如上例所示, Recall API:
- 当用户使用某个游戏内商品登录时将令牌存储到 Google 账号。
- 检索用户令牌,以便恢复其游戏内功能 账号。
除了 Recall 令牌之外,Recall API 还需要稳定的标识符 (称为“角色”), 基数限制。您可能会认为一个职能角色 代表用户的游戏内账号的标签,该标签在开发者的 将 Recall 令牌作为密钥,用于恢复 将用户的游戏内账号与游戏相关联角色和令牌值不得重复使用 跨越不同的 PGS 项目。 此外,虽然 Recall 令牌可能会随时间而变化,但职能角色应保持稳定 根据用户的游戏内账号创建。
基数规则
Recall API 在 PGS 玩家资料与游戏内账号之间强制建立 1 对 1 的关系(称为基数规则),其中一个角色只能与一份 PGS 玩家资料相关联,而一份 PGS 玩家资料只能与一个角色相关联。由于 Recall 令牌可能会随时间而变化,因此角色会用作游戏内账号的稳定标识符。
与 PGS 玩家资料关联的角色也可能会随时间而变化(因为不同的游戏内账号与 PGS 玩家资料相关联)。
用于存储和检索 Recall 令牌的详细技术流程
本部分介绍了游戏客户端、游戏服务器 和 Google 服务器之间的通信:
第 1 步:登录 PGS 用户账号并检索会话 ID
游戏会初始化 PGS SDK 并尝试让用户使用 PGS 登录。
假设用户已登录,在游戏客户端上从游戏 SDK 请求会话 ID,并从 Google 的 OAuth 后端请求 OAuth 2.0 令牌。会话 ID 和 OAuth 2.0 令牌用于与 Google 游戏后端进行通信。
第 2 步:检索任何可用的 Recall 令牌
请求与 PGS 用户账号关联的任何 Recall 令牌。如果存在令牌,请继续执行第 3a 步并恢复进度。否则,如果这是新用户且没有令牌,请继续执行第 3b 步并存储新令牌。
第 3a 步:如果存在令牌,则恢复进度
如果存在令牌,则检索并解密令牌,然后恢复用户数据。
第 3b 步:如果不存在令牌,则存储令牌
由于不存在令牌,因此不会恢复任何进度。用户继续登录 开发者的身份系统,或者创建一个新账号(如果没有账号的话) 存在。
创建一个加密的 Recall 令牌(该令牌会对用户的游戏内账号进行编码),并将该令牌连同会话 ID 和 OAuth 2.0 令牌一起发送给 Google。此时,Google 会在发送的 Recall 令牌与玩家的 PGS 账号之间建立关联。
没有 PGS 玩家资料的用户的流程
您可以通过以下方式为尚未创建 PGS 玩家资料的用户存储 Recall 令牌 使用无配置文件模式不过,您需要注意以下两点:
- 您无法为没有 PGS 玩家资料的用户检索令牌。个人资料 当用户尝试登录您的游戏时,系统会自动提示创建 在另一台设备上登录 Play 游戏服务。
- 您必须遵循其他准则
以确保您收到有关以下各项的适当通知
获得适当的最终用户同意:
- 您与 Google 分享这些数据以启用 Play 游戏账号 关联功能
- 是否提供用于管理此类共享的设置,例如 Play 游戏 设置。
- 根据 Google 隐私权的规定处理此类数据 政策。
存储令牌和角色对
- 没有 PGS 玩家资料的用户打开了具有无玩家资料找回功能的游戏 。
- 游戏 SDK 会触发自动登录,而登录会失败,因为用户 没有 PGS 玩家资料。
- 游戏 SDK 会显示一个信息提示控件,告知用户游戏已 与 Google 集成。该信息条可供操作 - 用户可以停用 直到配置文件创建完毕为止。
- 游戏请求召回权限。请注意,PGS 会拒绝召回访问权限请求 当设备上有 PGS 玩家资料或没有 Google 时 设备上的账号。在这种情况下,游戏应该在不使用 PGS。
- 用户使用游戏内账号登录后,游戏会创建一个令牌, 用户的角色对。游戏 会将该配对信息存储到 Google。如果存在以下情况,那么游戏稍后可能会存储更多令牌: 用户登录其他游戏内账号。
在新设备上启动游戏
- 没有 PGS 玩家资料的用户打开了启用了无玩家资料找回功能的游戏 。
- 该游戏会按照存储令牌 角色和角色对。
- 用户在使用同一账号的其他设备上打开了同一游戏 设置。
- 游戏 SDK 会触发玩家资料创建操作。用户可以查看并拒绝 之前存储的 Recall 令牌。此时,用户会创建 PGS 玩家资料。
- 自动登录 PGS 的操作已完成,并且该游戏会收到 身份验证状态。
- 游戏会像往常一样为用户检索 Recall 令牌。
后续步骤
如需将 Recall API 与您的客户端和游戏服务器集成,请按照 本实现指南。