设置 Google Play 游戏服务

此页面介绍如何使用 Google Play 控制台为您的 Android 游戏设置 Google Play 游戏服务。Play 控制台提供了一个集中位置,供您管理游戏服务并配置用于授权和验证游戏的元数据。

要将您的游戏添加到 Play 控制台,请按照以下一般步骤操作

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

  • 创建并链接必要的凭据以授权和验证您的游戏到 Google Play 游戏服务。

开始之前

登录 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 同意屏幕,则凭据部分将显示一条消息,提示您进行配置。

Prompt to configure OAuth consent screen

点击配置。这将打开一个对话框,其中包含更多说明以及到 Google Cloud Platform 的深层链接。

Prompt to configure your OAuth consent screen.

确保同意屏幕可供游戏可供使用的所有人使用。最终的范围列表需要包含gamesgames_litedrive.appdata;这些范围都不需要应用验证。我们建议立即发布同意屏幕。如果这不可行,您可以使同意屏幕可供测试人员使用,以允许他们登录游戏。

如果您已完成 OAuth 同意屏幕的设置,请点击完成。Google Play 控制台会自动刷新,如果配置成功,您将能够创建凭据

Creating a credential

创建凭据

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

凭据部分,点击添加凭据

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

Android

设置凭据详细信息

确保名称字段中的名称与您的游戏名称匹配。选择是否启用反盗版

设置授权

接下来,选择一个 OAuth 客户端 ID 用于此游戏项目。如果您已经拥有 OAuth2 客户端 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

  5. keytool 实用程序会提示您输入密钥库的密码。调试密钥库的默认密码为 android。然后,keytool 会将指纹打印到终端。

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

  7. 点击创建

有关 Android 上 OAuth 2.0 的更多信息,请参阅 对 OAuth2 服务进行身份验证

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

您可能需要创建两个凭据:一个使用发布证书指纹,另一个使用调试证书指纹。请确保两者使用相同的包名称。这允许 Google Play 游戏服务识别来自使用任一证书签名的关联 APK 的调用。有关 Android 证书签名的更多信息,请参阅 签名您的应用

游戏服务器

设置凭据详细信息

确保名称字段中的名称与游戏名称匹配。

设置授权

接下来,选择一个 OAuth 客户端 ID 用于此游戏项目。如果您已经拥有 OAuth2 客户端 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 Console 发布轨道启用 Play 游戏服务。

将单个测试人员添加到游戏项目

  1. 在 Google Play Console 中打开游戏的测试人员选项卡(发展 > Play 游戏服务 > 设置和管理 > 测试人员)。
  2. 点击添加测试人员按钮。
  3. 在出现的对话框中,输入您希望添加为测试人员的 Google 帐户的电子邮件地址(用逗号分隔或每行一个电子邮件地址)。
  4. 点击添加将用户保存为测试人员。您添加的测试人员帐户应该能够在几个小时内访问 Play 游戏服务。

授予组测试访问权限,启用发布轨道以访问 Play 游戏服务

Google Play 可以轻松地将应用的预发布版本分发给受控的可靠用户组,方法是使用发布轨道功能。请参阅 Google Play 帮助网站上的 设置公开、封闭或内部测试

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

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

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

此功能仅在 Google Play Console 中将 Android 应用链接到游戏时可用。

避免常见问题

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

1. 使用 Play Console 设置游戏
如果您在 Google Cloud Console 中为应用创建了 Oauth 2.0 客户端 ID,则 Google Play 游戏服务将不知道游戏成就和排行榜与客户端 ID 之间的关联。要创建此关联,您必须使用 Oauth 2.0 客户端 ID 创建凭据,如 创建凭据 中所述。
2. 在 Android 中使用正确的应用程序 ID
应用程序 ID 是必须在 Android 清单中引用的必需字符串资源。应用程序 ID 字符串仅包含 Play Console 提供的客户端 ID 开头的数字(通常为 12 位或更多)。应用程序 ID 位于配置页面顶部,在游戏名称下方标为项目 ID
3. 使用正确的证书签名 APK
在将 Android 应用链接到 Play Console 中的游戏时,您必须使用与发布应用时完全相同的包名称和证书指纹。如果存在不匹配,则对 Google Play 游戏服务的调用将失败。您应该创建两个客户端 ID,一个使用发布证书指纹,另一个使用调试证书指纹,并对两者使用相同的包名称。要了解如何在 Play Console 中指定签名证书,请参阅 签名您的应用程序
4. 在为 Android 开发时,将 Play 游戏 SDK 作为库项目包含在内,而不是作为独立 JAR。
确保 Google Play 服务 SDK 在您的 Android 项目中被引用为库项目,否则这可能会导致应用无法找到 Google Play 服务资源时出错。要了解如何设置您的 Android 项目以使用 Google Play 服务,请参阅 设置 Google Play 服务
5. 在开发期间使用测试人员帐户登录
如果您尚未在 Play Console 中发布游戏设置更改,则如果未使用白名单中的测试人员帐户登录,您可能会在测试期间遇到错误。您应该始终启用 Play Console 发布者帐户以进行测试。要了解如何管理测试人员帐户,请参阅 启用测试帐户
6. 在 Google Cloud Platform 中发布同意屏幕
在 Play Console 中发布应用之前,请在 Google Cloud Platform 中发布同意屏幕。如果没有此步骤,公众将无法使用任何 Play 游戏服务功能。
7. 在发布时,请先发布 Play 游戏服务设置,然后再发布游戏
开发人员可能会意外发布他们的应用,而没有为其应用发布相应的 Play 游戏服务设置。这可能会导致使用非测试人员帐户登录的玩家遇到错误,因为应用无法引用正确的游戏设置。发布游戏时,请务必首先使用 Play Console 中的发布游戏选项发布游戏设置。要了解如何发布更改,请参阅 发布游戏更改

有关其他提示,请参阅 Android 故障排除指南

后续步骤

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