Google Play 游戏服务登录机制用于对玩家进行身份验证,并为玩家提供独特的 Android 游戏身份(玩家 ID)。
此平台级玩家 ID 有助于在多个设备上无缝继续游戏,从而在游戏与玩家之间建立紧密的联系。与其他集中式系统相比,玩家更愿意使用此身份登录。
此外,登录流程还可为云端存档系统提供可靠的标识符。玩家可以执行以下操作:
- 在更换或重置设备后,继续游戏进度。
- 在多部设备上畅玩游戏,在智能手机和 Chromebook 之间实现无缝切换。
- 卸载并重新安装游戏。
开发者可以选择将玩家 ID 用作自己的云端存档解决方案的键,也可以使用内置的游戏存档服务。
Play Games 服务 (PGS) 支持自动登录,让玩家可以顺畅地登录。
使用 Play 游戏服务登录是一种有效的方式,可为玩家提供可靠的身份,而无需实现排行榜或游戏存档等其他功能。 这种低摩擦的方法可让玩家更轻松地与您的游戏互动,并打造个性化的体验。
Play Games 服务 v2 SDK
与 v1 相比,Play 游戏服务 v2 SDK 在用户登录方面提供了多项增强功能:
面向用户:
- 改善用户体验:选择默认账号后,用户会自动登录,而不会遇到其他提示。
对于开发者:
- 简化了代码实现:客户端代码不再需要处理登录或退出流程。游戏启动时会自动触发登录,并且账号管理已在操作系统设置中得到简化。
登录请求配额
Play 游戏服务的登录请求存在每日配额。如需了解详情,请参阅管理每日配额。
建议使用的登录流程
若要让玩家成功登录游戏,请使用以下登录流程:
- 在游戏启动过程中,系统将触发自动登录,并尝试让用户登录或创建新账号。
- 如果自动登录不起作用或用户拒绝登录,将显示手动登录按钮,以便用户日后根据需要进行登录。
自动登录
当玩家启动启用了自动登录功能的游戏时,他们无需与登录提示互动即可登录游戏。玩家可以在 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 范围,建议您调用 requestServerSideAccess
。如需了解详情,请参阅获取服务器授权代码或检索服务器身份验证代码。
Recall API
借助 Recall API,游戏可以将 Recall 令牌存储在 Google 服务器中,从而管理 PGS 用户与其游戏内账号之间的关联。如需详细了解如何启用此功能,请参阅在游戏中集成 PGS Recall API。
游戏客户端集成
将登录功能集成到您的游戏项目中时,我们建议您遵循以下用户流:
在游戏启动过程中,自动登录会启动并尝试让用户登录或创建新账号。
如果自动登录不起作用或用户拒绝登录,将显示手动登录按钮,以便用户日后根据需要进行登录。
如需了解如何在游戏项目中集成登录功能,请参阅适用于您的项目类型的入门指南:
游戏服务器集成
在玩家使用登录服务登录您的游戏后,您的后端游戏服务器可以直接与 Play 游戏服务服务器通信,以访问玩家的 ID、个人资料、好友列表和其他 Play 游戏服务数据。这需要由 Play 游戏服务 SDK 提供的服务器授权代码。您的服务器可以结合使用授权代码与 Play 游戏服务 REST API 来与 Play 游戏服务服务器进行安全通信。
如需了解详情,请参阅 Play 游戏服务的服务器端访问。