设置 Google Play 游戏服务

本页介绍了如何使用 Google Play 管理中心为 Android 游戏设置 Google Play 游戏服务。您可以在 Play 管理中心集中管理游戏服务,并配置用于对游戏进行授权和身份验证的元数据。

如需将游戏添加到 Play 管理中心,请按以下常规步骤操作:

  • 为游戏创建游戏项目,并指定游戏的名称和说明等详细信息。

  • 创建必要的凭据以对游戏进行授权和身份验证,并将这些凭据关联到 Google Play 游戏服务。

前期准备

在配置 Google Play 游戏服务之前,请完成以下步骤。

创建 Google Play 开发者账号

创建 Google Cloud 项目

您必须设置一个 Google Cloud 项目。如需了解详情,请参阅

如要使用 Play 管理中心,您必须启用计划用于项目的 API。

控制台

启用 Google Play Game Services API

gcloud

gcloud services enable \
   --project "PROJECT" \
   "games.googleapis.com"

登录 Play 管理中心

如需登录,请进入 Google Play 管理中心。如果您之前没有在 Play 管理中心注册过,系统会提示您进行注册。

将游戏添加到 Play 管理中心

如需添加游戏,请按以下步骤操作:

  1. 在 Play 管理中心内创建一个应用,并指定应用类型是游戏。如需了解详情,请参阅创建和设置应用

  2. 依次转到拓展 > Play 游戏服务 > 设置和管理 > 配置

  3. 指定您的游戏是否已使用 Google API(例如 Firebase)。请务必选择正确的选项;否则,游戏在使用 Google API 时可能会遇到问题。选项如下:

    • 否,我的游戏没有使用 Google API:如果要创建新游戏,或者从未为游戏设置过 Google API,请选择此选项。输入游戏名称,然后点击创建

    • 是,我的游戏已经使用了 Google API:如果已为游戏设置 Google API,请选择此选项。如果属于这种情况,您会在 Google Cloud 控制台中看到项目列表。从列表中选择项目,然后点击使用

    • 使用现有的 Play 游戏服务项目:如果要使用现有的 Play 游戏服务项目,请选择此选项。您将看到自己账号下的现有 Play 游戏服务项目列表。从列表中选择游戏项目,然后点击使用。这并不是一个常见选择,但如果要在 Play 管理中心内创建新游戏以更改软件包名称,或者免费版和付费版游戏的软件包名称不同,则可以选择此选项。

    系统会创建一个 Play 游戏服务游戏项目,并在 Google Cloud 控制台中创建相应条目。

  4. 属性部分,点击修改属性以添加信息,例如游戏的说明、类别和图形资源。以下是关于配置属性的一些准则:

生成 OAuth 2.0 客户端 ID

您的游戏必须具有 OAuth 2.0 客户端 ID,才能通过身份验证并获得授权,以调用 Google Play 游戏服务。如需为 Play 游戏服务设置凭据(即客户端 ID 与游戏之间的关联),请使用 Google Cloud Platform 创建客户端 ID。然后,在 Google Play 管理中心内添加凭据,并将客户端 ID 与游戏相关联。

如需更详细的说明,请参阅以下步骤:

如果您尚未配置 OAuth 权限请求页面,凭据部分将显示一条消息,提示您进行配置。

配置 OAuth 权限请求页面的提示

点击配置。系统会打开一个对话框,其中包含进一步说明,以及指向 Google Cloud Platform 的深层链接。

配置 OAuth 权限请求页面的提示。

确保游戏的所有用户都可以看到权限请求页面。最终范围列表需要包含 gamesgames_litedrive.appdata;这些范围都无需进行应用验证。我们建议您立即发布权限请求页面。如果无法做到这一点,您可以向测试人员显示权限请求页面,以允许他们登录游戏。

如果您已完成 OAuth 权限请求页面的设置,请点击完成。Google Play 管理中心会自动刷新;如果配置成功,您将能够创建凭据:

创建凭据

创建凭据

若要授权您的游戏与 Google Play 游戏服务通信,您必须使用已获授权的 OAuth2 客户端 ID 创建凭据。

凭据部分,点击添加凭据

在向导中,选择是要创建 Android 凭据(如果您的游戏 APK 将对用户进行身份验证并使用 Play 游戏服务 API),还是创建游戏服务器凭据(如果您的游戏服务器将使用 Play 游戏服务 API)。按照所需凭据类型的说明操作。

Android

设置凭据详情

确保“名称”字段中的名称与游戏名称一致。选择是否启用反盗版功能

设置授权

接下来,选择要用于此游戏项目的 OAuth 客户端 ID。如果您已有 OAuth2 客户端 ID,请选择一个。不过,您通常需要创建新 ID。点击创建 OAuth 客户端。系统会打开一个对话框,其中包含深层链接,以及在 Google Cloud Platform 中创建 OAuth 客户端 ID 的说明。

  1. 选择 Android 作为应用类型。
  2. 名称字段中输入游戏的名称。
  3. 软件包名称字段中输入 Android 应用的软件包名称
  4. 打开一个终端并运行 keytool 实用程序,以获取发布证书和调试证书的 SHA1 指纹。

    如需获取发布证书指纹,请运行以下命令:

    keytool -list -keystore <path-to-production-keystore> -v

    如需获取调试证书指纹,请运行以下命令:

    keytool -list -keystore <path-to-debug-keystore> -v 注意:在 Windows 上,调试密钥库位于 C:\Users\<USERNAME>\.android\debug.keystore。在 Mac 或 Linux 上,调试密钥库通常位于 ~/.android/debug.keystore

  5. 可选:如果您使用 Unity Hub 创建了新的密钥库,请勿按照上一步中的说明创建新证书。使用您在 Unity 中创建的 SHA1 指纹。

    • 使用以下命令将 SHA1 指纹输出到终端:

      keytool -list -keystore <var>path</var>/<var>name_of_keystore</var>.keystore -v

  6. keytool 实用程序会提示您输入密钥库的密码。然后,该密钥工具将指纹打印到终端。

  7. 将 SHA1 指纹粘贴到签名证书指纹 (SHA1) 字段中。

  8. 点击 Create

如需详细了解 Android 上的 OAuth 2.0,请参阅对 OAuth2 服务进行身份验证

在对话框中点击完成后,系统将刷新可用的客户端 ID。从下拉菜单中选择您创建的凭据,然后点击保存更改。系统会将凭据创建为草稿,以便您在游戏中对 Play 游戏服务进行身份验证。

您可能需要创建两个凭据:一个使用发布证书指纹,另一个使用调试证书指纹。请务必为这两个凭据使用相同的软件包名称。这样一来,Google Play 游戏服务就可以识别使用任一证书签名的关联 APK 发出的调用。如需详细了解 Android 证书签名,请参阅为应用签名

游戏服务器

设置凭据详情

确保“名称”字段中的名称与游戏名称一致。

设置授权

接下来,选择要用于此游戏项目的 OAuth 客户端 ID。如果您已有 OAuth2 客户端 ID,请选择一个。不过,您通常需要创建新 ID。点击创建 OAuth 客户端。系统会打开一个对话框,其中包含深层链接,以及在 Google Cloud Platform 中创建 OAuth 客户端 ID 的说明。

  1. 选择 Web 应用作为应用类型。
  2. 名称字段中输入游戏的名称。
  3. 点击创建

如需详细了解 Android 上的 OAuth 2.0,请参阅对 OAuth2 服务进行身份验证

在对话框中点击完成后,系统将刷新可用的客户端 ID。从下拉菜单中选择您创建的凭据,然后点击保存更改。系统会将凭据创建为草稿,以便您通过游戏服务器对 Play 游戏服务进行身份验证。如需详细了解如何将 Play 游戏服务与游戏服务器配合使用,请参阅启用 Google Play 游戏服务的服务器端访问

启用测试

为了确保 Google Play 游戏服务可以在您的游戏中正常运行,您应先测试游戏服务,然后再将游戏更改发布到 Google Play 上。

如果您的游戏处于未发布状态,请将测试人员的用户账号添加到许可名单,为其授予访问权限。否则,测试人员在尝试访问 Play 游戏服务端点(例如登录端点)时,会遇到 OAuth 和 404 错误。

如果用户拥有已获授权的测试账号,将有权访问您尚未发布的 Play 游戏服务游戏项目,并可以测试您配置的 Play 游戏服务能否正常运行。

您可以通过以下两种方式让测试人员为您的游戏使用 Play 游戏服务 API:

  • 在个人级别,添加个人电子邮件地址。

  • 在组级别,为 Play 管理中心发布轨道启用 Play 游戏服务。

如需将各个测试人员添加到游戏项目,请执行以下操作:

  1. 在 Google Play 管理中心内打开游戏的测试人员标签页(依次选择拓展 > Play 游戏服务 > 设置和管理 > 测试人员)。
  2. 点击添加测试人员按钮。
  3. 在显示的对话框中,输入您希望添加为测试人员的 Google 账号的电子邮件地址(以英文逗号分隔或者每行一个电子邮件地址)。
  4. 点击添加,将用户保存为测试人员。您添加的测试人员账号应在几小时内就能访问 Play 游戏服务。

如需向某个组授予测试访问权限,请启用发布轨道以访问 Play 游戏服务:

Google Play 可让您通过发布轨道功能轻松将应用的预发布版本分发给受信任的用户对照组。如需了解详情,请参阅 Google Play 帮助网站上的设置开放式测试、封闭式测试或内部测试

您可以向有权在指定发布轨道上测试 APK 的所有用户授予游戏的测试访问权限。这与单独将他们添加到测试人员列表相同。为此,请按以下步骤操作:

  1. 打开 PGS 测试人员部分(依次选择拓展 > Play 游戏服务 > 设置和管理 > 测试人员),然后选择发布轨道标签页。在此页面上,您还可以查看已为 Play 游戏服务测试启用的轨道列表。
  2. 点击添加轨道
  3. 选择要为 Play 游戏服务测试启用的一个或多个轨道。
  4. 点击添加轨道

选定的发布轨道现在将显示在已为 Play 游戏服务测试启用的轨道列表中。

仅当您在 Google Play 管理中心内已有一款 Android 应用与游戏相关联时,才能使用此功能。

注意规避常见问题

为了规避常见的设置错误,在设置游戏以使用 Google Play 游戏服务时,请务必遵循以下建议。

1. 通过 Play 管理中心设置游戏
如果您在 Google Cloud 控制台中为应用创建 OAuth 2.0 客户端 ID,Google Play 游戏服务将不会知道游戏的成就和排行榜与客户端 ID 之间的关联。如需创建此关联,您必须使用 OAuth 2.0 客户端 ID 创建凭据,如创建凭据中所述。
2. 在 Android 中使用正确的应用 ID
应用 ID 是必需的字符串资源,必须在 Android 清单中引用。应用 ID 字符串仅包含数字(通常至少为 12 位),位于由 Play 管理中心提供的客户端 ID 的开头部分。应用 ID 位于配置页面的顶部,并在游戏名称下方标记为项目 ID
3. 使用正确的证书为 APK 签名
在 Play 管理中心内将 Android 应用与游戏相关联时,您必须使用发布应用时所用的软件包名称和证书指纹,确保它们完全一致。如果不一致,对 Google Play 游戏服务的调用将会失败。您应该创建两个客户端 ID,一个使用发布证书指纹,另一个使用调试证书指纹,并为这两个客户端 ID 使用相同的软件包名称。如需详细了解如何在 Play 管理中心内指定签名证书,请参阅为应用签名
4. 针对 Android 进行开发时,将 Play 游戏 SDK 添加为库项目(而非独立的 JAR)。
请务必在 Android 项目中将 Google Play 服务 SDK 作为库项目引用;否则,当您的应用无法找到 Google Play 服务资源时,可能会导致错误。如需了解如何设置 Android 项目以使用 Google Play 服务,请参阅设置 Google Play 服务
5. 在开发期间使用测试人员账号登录
如果您尚未在 Play 管理中心内发布游戏设置更改,且未使用已列入白名单的测试人员账号登录,则可能会在测试期间遇到错误。您应该始终启用 Play 管理中心发布商账号以进行测试。如需了解如何管理测试人员账号,请参阅启用账号以进行测试
6. 在 Google Cloud Platform 中发布权限请求页面
在 Play 管理中心内发布应用之前,请先在 Google Cloud Platform 中发布权限请求页面。否则,广大用户将无法使用 Play 游戏服务的任何功能。
7. 发布时,先发布 Play 游戏服务设置,然后再发布游戏
开发者可能会不小心发布应用但未发布应用的相应 Play 游戏服务设置。这可能会导致使用非测试人员账号登录的玩家遇到错误,因为应用无法引用正确的游戏设置。发布游戏时,请务必在 Play 管理中心内使用“发布游戏”选项发布游戏设置。如需了解如何发布更改,请参阅发布游戏更改

如需查看其他提示,请参阅 Android 问题排查指南

后续步骤

完成上述初始设置任务后,您就可以为游戏启用 Play 游戏服务功能,例如游戏存档、排行榜和成就。