登录

Google Play 游戏服务登录机制用于对玩家进行身份验证,并为他们提供不同的 Android 游戏身份(玩家 ID)。

这种平台级玩家 ID 有助于在多部设备上无缝接续游戏进度,从而建立游戏与玩家之间的紧密联系。与其他集中式系统相比,玩家更愿意使用此身份登录。

此外,登录流程还为云端存档系统提供了可靠的标识符。玩家可以执行以下操作:

  • 在更换或重置设备后恢复游戏进度。
  • 跨多台设备参与游戏,实现智能手机和 Chromebook 之间的无缝过渡。
  • 卸载并重新安装游戏。

开发者可以选择使用玩家 ID 作为自己的云端存档解决方案的键,也可以使用内置的游戏存档服务

Play 游戏服务 (PGS) 支持自动登录,这是一种无缝登录玩家的便捷方式。

使用 Play 游戏服务登录是一种有效的方式,可为玩家提供强大的身份,而无需实现排行榜或游戏存档等其他功能。这种顺畅的方法可让玩家更轻松地与游戏互动并打造个性化体验。

Play 游戏服务 v2 SDK

与 v1 相比,Play 游戏服务 v2 SDK 在用户登录方面提供了多项增强功能:

对于用户:

  • 改进了用户体验:选择默认账号后,用户会自动登录,而不会遇到其他提示。

对于开发者:

  • 简化了代码实现:客户端代码不再需要处理登录或退出流程。游戏启动时会自动触发登录,并且在操作系统设置中简化了账号管理。

登录请求配额

Play 游戏服务的登录请求存在每日配额。如需了解详情,请参阅管理每日配额

建议使用的登录流程

若要让玩家成功登录游戏,请使用以下登录流程:

  1. 在游戏启动过程中,系统将触发自动登录,并尝试让用户登录或创建新账号。
  2. 如果自动登录不起作用或用户拒绝登录,将显示手动登录按钮,以便用户日后根据需要进行登录。

自动登录

当玩家启动启用了自动登录功能的游戏时,他们无需与登录提示互动即可登录游戏。玩家可以在 Google Play 游戏应用中或在游戏中显示的初始登录提示中启用自动登录功能。

自动登录提示

多账号登录服务

Play 游戏服务为 Android 玩家提供游戏身份,但此身份不一定是与用户关联的唯一身份。您可以同时使用 Play 游戏服务、社交网络 ID 和您自己的游戏内 ID 系统为玩家提供登录选项。

玩家 ID

玩家 ID 是 Play 游戏服务玩家账号的标识符。您的游戏可以检索使用 Play 游戏服务登录功能登录游戏的任何玩家的玩家 ID。您的游戏客户端、后端游戏服务器云端存档服务可以使用玩家 ID 安全地访问 Play 游戏服务中的玩家数据。

当用户在多个设备上玩同一款游戏时,玩家 ID 是一致的。但是,不同游戏之间不一定会始终保持一致。如需了解详情,请参阅新一代玩家 ID

OAuth 范围

Play 游戏服务依赖 OAuth 系统来允许玩家授权您的游戏访问他们的账号。Play 游戏服务针对游戏提供唯一范围 (games-lite),如果您的游戏使用游戏存档功能,将依赖另一个范围 (drive.appdata)。通过游戏存档功能,您可以访问用户的 Google 云端硬盘账号,游戏数据便存储在此处。

使用 Play 游戏服务 v2 SDK 时,您无法请求额外的 OAuth 范围。如果您需要额外的 OAuth 范围,我们建议您结合使用 Google 登录 SDK 与 Play 游戏服务。

Recall API

借助 Recall API,游戏可以将 Recall 令牌存储在 Google 服务器中,从而管理 PGS 用户与其游戏内账号之间的关联。如需详细了解如何启用此功能,请参阅在游戏中集成 PGS Recall API

游戏客户端集成

将登录功能集成到您的游戏项目中时,我们建议您遵循以下用户流:

  1. 在游戏启动过程中,自动登录会启动并尝试让用户登录或创建新账号。

  2. 如果自动登录不起作用或用户拒绝登录,将显示手动登录按钮,以便用户日后根据需要进行登录。

如需了解如何在游戏项目中集成登录功能,请参阅适用于您的项目类型的入门指南:

游戏服务器集成

在玩家使用登录服务登录您的游戏后,您的后端游戏服务器可以直接与 Play 游戏服务服务器通信,以访问玩家的 ID、个人资料、好友列表和其他 Play 游戏服务数据。这需要由 Play 游戏服务 SDK 提供的服务器授权代码。您的服务器可以结合使用授权代码与 Play 游戏服务 REST API 来与 Play 游戏服务服务器进行安全通信。

如需了解详情,请参阅 Play 游戏服务的服务器端访问