将游戏与 Google Play 游戏服务 (PGS) 集成的第一步是实现平台身份验证。这是访问所有其他功能(例如成就、排行榜和活动)的必要条件。
由于 Play 游戏服务 SDK 会在游戏启动时自动执行平台身份验证,因此您需要将 PGS v2 SDK 与游戏集成,并实现建议的身份验证流程,以便游戏能够实现并满足 Google Play 游戏 Level Up 用户体验指南。
身份验证概念
在 Play 游戏服务 v2 中,“登录”的概念分为两个不同的层:平台身份验证和游戏内身份验证。
平台身份验证
Play 游戏服务提供平台互动层。它使用玩家资料管理玩家与 Google Play 游戏生态系统的关系,以访问成就、排行榜和任务等功能。平台身份验证具有以下关键特征:
- 静默且自动:当游戏启动时,系统会在后台自动进行身份验证。Play 游戏服务不需要手动登录按钮。
- 玩家 ID:成功完成平台身份验证后,Play 游戏服务会提供稳定的玩家 ID。对于同一款游戏,此 ID 在不同设备上是一致的。此 ID 主要用于跟踪平台功能,例如成就进度。
- 解耦:您不得使用 Play 游戏服务作为游戏的主要身份系统来管理玩家的游戏内账号 (IGA)、游戏进度或物品清单。Play 游戏服务可作为持久性平台标识符。
玩家 ID
玩家 ID 是 Play 游戏服务玩家账号的标识符。您的游戏可以检索使用 Play 游戏服务身份验证登录游戏的任何玩家的玩家 ID。您的游戏客户端集成、游戏服务器集成和云端存档服务可以使用玩家 ID 安全地访问 Play 游戏服务中的玩家数据。
当用户在多个设备上玩同一款游戏时,玩家 ID 是一致的。但是,不同游戏之间不一定会始终保持一致。 如需了解详情,请参阅新一代玩家 ID。
游戏内身份验证
您管理游戏内账号 (IGA),该账号是用于绑定玩家在游戏中的进度、产品目录和币种的身份系统。
- 主要身份:您可以使用自己的后端、使用 Google 账号登录 (SiWG) 或其他提供方作为主要登录方法。
- 独立性:玩家可以登录 Play 游戏服务(平台身份),在登录任何特定 IGA(例如,访客账号或特定 SiWG 账号)的同时赚取成就。
- 管理多个 IGA:Play 游戏服务仅处理平台身份验证。游戏负责管理玩家登录 IGA 的主要身份验证。这意味着,玩家在 IGA 之间切换的游戏现有流程不会发生任何变化。当玩家切换账号时,他们仍会通过 PGS 向 Play 游戏平台进行身份验证,并且您会继续根据持久性玩家 ID 发送与成就和其他 PGS 功能相关的数据。
借助“使用 Google 账号登录”功能实现跨平台连续性
为了帮助玩家在 Android、iOS 和 Web 之间同步游戏进度,请使用使用 Google 账号登录作为主要的游戏内身份验证方法。请考虑以下事项:
- “使用 Google 账号登录”按钮:在 PGS v1 中,Google Play 按钮通常同时处理平台登录和游戏登录。在 v2 中,这些是单独的进程。 实现一个标准的使用 Google 账号登录按钮,供玩家进行身份验证并访问其 IGA。
- Google 登录 SDK:
- 对于 Android 和 iOS,请使用标准的 Google 登录 SDK 对玩家进行身份验证,以将其登录到 IGA 中。
- 使用 Google Open ID 作为玩家游戏内账号的主要标识符。
- 使用 Play 游戏服务玩家 ID 来报告玩家在 Play 游戏功能(例如成就)方面的进度。
推荐的集成
如需将游戏与 Play 游戏服务集成,请按以下建议的步骤操作:
初始化和身份验证
您必须完成此步骤才能初始化并验证游戏:
通过在启动时初始化 Play 游戏服务 v2 SDK 来实现平台身份验证。如需了解详情,请参阅适用于 Android 游戏的平台身份验证机制。 此步骤是访问 Play 游戏服务功能(例如成就和排行榜)所必需的。
身份验证在游戏启动期间作为静默后台进程运行。现有 Play 游戏服务用户在成功通过身份验证后会看到一条欢迎消息。系统会在 SDK 初始化期间提示没有 Play 游戏服务个人资料的用户创建个人资料。

创建个人资料
玩家需要拥有 Play 游戏服务玩家资料才能使用该平台。有些玩家在开始玩您的游戏时可能没有 Play 游戏服务个人资料。系统会要求这些玩家创建账号。
默认情况下,当您启动没有 Play 游戏服务玩家资料的游戏时,系统会自动显示自动触发的玩家资料创建提示。
游戏内身份验证
成功执行平台身份验证后,开发者应根据当前游戏状态,实现以下步骤,以便玩家访问其 IGA:
- 如果设备上存在有效的游戏会话,则允许玩家继续当前会话。
- 如果没有活跃的游戏会话:
- 如果出现无缝恢复场景,且上次玩过的 IGA 与 PGS 玩家 ID 相关联,则继续自动恢复相关联的 IGA。
- 否则,向玩家显示应用的指定登录或账号创建界面。然后,玩家可以选择自己喜欢的身份验证方法来创建或登录现有 IGA。
OAuth 范围
Play 游戏服务依赖 OAuth 系统来允许玩家授权您的游戏访问他们的账号。Play 游戏服务针对游戏提供唯一范围 (games-lite),如果您的游戏使用游戏存档功能,将依赖另一个范围 (drive.appdata)。通过游戏存档功能,您可以访问用户的 Google 云端硬盘账号,游戏数据便存储在此处。
使用 Play 游戏服务 v2 SDK 时,您可以请求额外的 OAuth 范围。如果您需要额外的 OAuth 范围,建议您调用 requestServerSideAccess。如需了解详情,请参阅获取服务器授权代码或检索服务器身份验证代码。
理想身份验证流程的用户体验指南
以下指南介绍了与 PGS v2 集成相关的推荐身份验证流程。这些场景涵盖了新用户、现有用户、回访用户和访客模式。
新建玩家
此流程适用于用户首次在设备上启动游戏,且该设备之前没有该游戏的游玩记录。
- 启动时,PGS SDK 会初始化以验证用户的平台身份(PGS 玩家 ID)。
- 完成此后台握手后,游戏会向玩家显示 IGA 创建选项,例如创建新账号、使用 Google 账号登录或其他社交登录方法。
- 玩家创建或选择 IGA 后,游戏会在其后端将此账号与所选的主标识符绑定。
- 游戏还会将所选 IGA 绑定到 PGS 玩家 ID,将其标记为用于无缝恢复的上次玩过的 IGA。
有活跃会话的玩家
此方案描述的是玩家在已处于有效会话状态的设备上启动游戏。目标是提供顺畅的入门体验。
- 当玩家启动应用时,PGS 会在后台静默进行身份验证,并向您提供玩家 ID,以便您跟踪玩家在成就和其他 Play Games 功能方面的进度。
- 同时,在适用的情况下,游戏会绕过登录界面,立即让玩家登录其有效的 IGA 会话或与其玩家 ID 关联的上次玩过的 IGA,以便玩家可以立即继续游戏。
玩家切换账号
当具有有效会话的玩家前往游戏设置以切换账号时,会发生此流程。 例如,退出主账号以使用备用账号。
- 玩家退出当前 IGA,但 PGS 平台连接仍处于有效状态。
- 当玩家使用其他 IGA 登录时,游戏会将此新账号绑定到当前的 PGS 玩家 ID,作为最后玩过的 IGA,以便无缝恢复。
为回归玩家提供无缝恢复功能
此场景适用于玩家在一段时间不玩游戏后、重新安装游戏后或在全新设备上启动游戏时。建议游戏实现无缝恢复。
- 启动时,PGS 会验证用户身份,并向游戏提供 PGS 玩家 ID。
- 游戏会检查其后端(或检索到的 Recall 令牌,如果使用 Recall API)以查看上次玩过的 IGA 是否已与此 PGS ID 相关联。
- 如果找到关联,游戏会自动恢复玩家的进度并登录,完全跳过手动登录界面。
- 否则,游戏会向玩家显示登录界面
- 然后,玩家选择登录方法并登录 IGA
- 然后,游戏会将此 IGA 与 PGS 玩家 ID 绑定,作为无缝恢复的最后玩过的 IGA。
访客模式
玩家可以使用本地访客账号启动并畅玩您的游戏。 Play 游戏服务仍会在后台对玩家进行身份验证。如果玩家选择保存进度,您的游戏会将游客会话转换为永久 IGA 并将其绑定到玩家 ID。如需详细了解冲突解决,请参阅访客账号。