登录

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 是一致的。但是,不同游戏之间不一定会始终保持一致。

OAuth 范围

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

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

游戏客户端集成

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

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

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

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

游戏服务器集成

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

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