平台身份验证

如需将游戏与 Google Play 游戏服务集成,请先实现平台身份验证。您必须同意此条款才能使用所有其他功能,例如成就、排行榜和活动。

为了满足 Google Play Games Level Up 用户体验指南,您的游戏需要符合推荐的身份验证流程

初始化和身份验证

这是初始化和验证游戏所必需的步骤:

  • 通过在启动时初始化 Play 游戏服务 v2 SDK 来实现平台身份验证。如需了解详情,请参阅 Android 游戏的平台身份验证。 这是访问 Play 游戏服务功能(例如成就和排行榜)的必要步骤。
  • 身份验证在游戏启动期间作为静默后台进程运行。
  • 现有 Play 游戏服务用户在成功通过身份验证后会看到一条欢迎消息。

    自动登录提示

个人资料创建选项

玩家必须拥有 Play 游戏服务玩家资料才能与平台互动。 部分玩家在开始玩您的游戏时可能没有 Play 游戏服务玩家资料。系统会要求这些玩家创建个人资料。

您可以选择以下任一选项,为用户打造合适的体验:

  • 自动触发的个人资料创建提示:默认情况下,当您启动没有 Play 游戏服务个人资料的游戏时,系统会自动显示个人资料创建提示。

    启动游戏时,系统会提示您创建个人资料。
    启动游戏时显示的个人资料创建提示(点击可放大)。

  • 在启动时停用个人资料创建提示,并在游戏初始化后添加手动提示 您可以通过清单文件停用自动触发的个人资料创建提示。这样一来,没有 Play 游戏服务玩家资料的用户就可以继续使用您实现的身份验证方法,而不会立即收到创建 Play 游戏服务玩家资料的提示。

    虽然用户可以使用任何身份提供方登录,但我们建议您通过启动个人资料创建提示 Get the authentication result 来鼓励用户注册 Play Games 平台。您可以自行决定何时触发此提示,但请验证此提示是否在用户在成就和排行榜等功能中取得重大进展之前显示。

    请考虑在以下建议的时间触发个人资料提示:

    • 完成教程后。
    • 在获得奖励的时刻(例如,赢得比赛、收集稀有物品或达到里程碑)。
    • 在启动第二个会话时。

建议的身份验证流程

为符合 Google Play Games Level Up 用户体验指南,请验证您是否符合玩家连续性要求。若要让玩家成功登录游戏,请使用以下身份验证流程:

  1. 在游戏启动序列期间,查看个人资料创建选项并选择一个选项。
  2. 如果自动登录不起作用或用户拒绝登录,将显示手动登录按钮,以便用户日后根据需要进行登录。

玩家 ID

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

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

OAuth 范围

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

使用 Play 游戏服务 v2 SDK 时,您可以请求额外的 OAuth 范围。如果您需要额外的 OAuth 范围,建议您调用 requestServerSideAccess。如需了解详情,请参阅获取服务器授权代码检索服务器身份验证代码

多种身份验证服务

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

Recall API

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

游戏客户端集成

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

  1. 在游戏启动过程中,个人资料创建选项会启动并尝试让用户登录或创建新账号。

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

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

游戏服务器集成

验证玩家已通过身份验证后,您可以调用 requestServerSideAccess 来获取服务器授权代码。将此服务器授权代码传递给您的后端游戏服务器,以便直接与 Play 游戏服务服务器通信。通过这种通信,您的服务器可以访问玩家数据,包括:

  • 玩家 ID
  • 个人资料
  • 朋友列表
  • 游戏进度
  • 成就

然后,您的服务器会结合使用此授权代码与 REST API 来与 Play 游戏服务服务器进行安全互动。 如需了解详情,请参阅 Play 游戏服务的服务器端访问

登录请求配额

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