Play 游戏服务登录功能对玩家进行 Play 游戏服务身份验证,并提供 Android 游戏身份(玩家 ID),以支持跨设备游戏畅玩体验。登录功能支持游戏存档服务,但您也可以使用玩家 ID 作为您自己的云端存档服务的键。
SDK 版本
本主题适用于 Play 游戏服务 v2 SDK。如需了解之前的 SDK,请参阅 Play 游戏服务 v1 文档。
与 v1 相比,Play 游戏服务 v2 SDK 提供以下登录功能改进:
- 针对用户的改进:
- 选择默认账号后,用户便可登录账号,而无需与提示互动。
- 针对开发者的改进:
- 游戏启动时会自动触发登录,账号管理处理也将包含在操作系统设置中,因此客户端代码不再需要处理登录或退出流程。
登录请求配额
Play 游戏服务的登录请求存在每日配额。如需了解详情,请参阅管理每日配额。
多账号登录服务
Play 游戏服务为 Android 玩家提供游戏身份,但此身份不一定是与用户关联的唯一身份。您可以同时使用 Play 游戏服务、社交网络 ID 和您自己的游戏内 ID 系统为玩家提供登录选项。
自动登录
当玩家启动启用了自动登录功能的游戏时,他们无需与登录提示互动即可登录游戏。玩家可以在 Google Play 游戏应用中或在游戏中显示的初始登录提示中启用自动登录功能。
玩家 ID
玩家 ID 是 Play 游戏服务玩家账号的标识符。您的游戏可以检索使用 Play 游戏服务登录功能登录游戏的任何玩家的玩家 ID。您的游戏客户端、后端游戏服务器和云端存档服务可以使用玩家 ID 安全地访问 Play 游戏服务中的玩家数据。
当用户在多个设备上玩同一款游戏时,玩家 ID 是一致的。但是,不同游戏之间不一定会始终保持一致。如需了解详情,请参阅关于新一代玩家 ID 的这一主题。
OAuth 范围
Play 游戏服务依赖 OAuth 系统来允许玩家授权您的游戏访问他们的账号。Play 游戏服务针对游戏提供唯一范围 (games-lite
),如果您的游戏使用游戏存档功能,将依赖另一个范围 (drive.app_data
)。通过游戏存档功能,您可以访问用户的 Google 云端硬盘账号,游戏数据便存储在此处。
使用 Play 游戏服务 v2 SDK 时,您无法请求额外的 OAuth 范围。如果您需要额外的 OAuth 范围,我们建议您结合使用 Google 登录 SDK 与 Play 游戏服务。
游戏客户端集成
将登录功能集成到您的游戏项目中时,我们建议您遵循以下用户流:
在游戏启动过程中,自动登录会启动并尝试让用户登录或创建新账号。
如果自动登录不起作用或用户拒绝登录,将显示手动登录按钮,以便用户日后根据需要进行登录。
如需了解如何在游戏项目中集成登录功能,请参阅适用于您的项目类型的入门指南:
游戏服务器集成
在玩家使用登录服务登录您的游戏后,您的后端游戏服务器可以直接与 Play 游戏服务服务器通信,以访问玩家的 ID、个人资料、好友列表和其他 Play 游戏服务数据。这需要由 Play 游戏服务 SDK 提供的服务器授权代码。您的服务器可以结合使用授权代码与 Play 游戏服务 REST API 来与 Play 游戏服务服务器进行安全通信。
如需了解详情,请参阅 Play 游戏服务的服务器端访问。