设置Google Play游戏服务

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

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

  • 为您的游戏创建一个游戏项目,并指定游戏名称和描述等详细信息。

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

开始之前

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

创建一个Google Play开发者帐号

创建一个Google Cloud项目

您必须已设置Google Cloud项目。有关更多信息,请参阅

要使用Play控制台,您必须启用您计划与您的项目一起使用的API。

控制台

启用Google Play游戏服务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 Console的项目列表。从列表中选择您的项目,然后点击**使用**。

    • **使用现有的Play游戏服务项目**:如果您想使用现有的Play游戏服务项目,请选择此选项。您将看到您的帐户中现有Play游戏服务项目的列表。从列表中选择您的游戏项目,然后点击**使用**。这不是典型的选择,但如果您在Play控制台中创建新游戏以更改包名,或者如果您有不同包名的游戏免费版和付费版,您可能会这样做。

    将创建一个Play游戏服务游戏项目,并在Google Cloud Console中为您创建一个相应的条目。

  4. 在**属性**部分,点击**编辑属性**以添加信息,例如游戏的描述、类别和图形资源。以下是配置属性的一些指南

生成 OAuth 2.0 客户端 ID

您的游戏必须拥有 OAuth 2.0 客户端 ID,才能进行身份验证和授权以调用 Google Play 游戏服务。要为 Play 游戏服务设置凭据(即客户端 ID 与您游戏之间的关联),请使用 Google Cloud Platform 创建客户端 ID。然后,使用 Google Play Console 添加凭据,将客户端 ID 链接到您的游戏。

有关更详细的说明,请参阅以下步骤

如果您尚未配置 OAuth 同意屏幕,“**凭据**”部分将显示一条提示您进行配置的消息。

Prompt to configure OAuth consent screen

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

Prompt to configure your OAuth consent screen.

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

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

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 注意:在 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 实用程序会提示您输入密钥库密码。然后,keytool 将指纹打印到终端。

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

  8. 单击**创建**。

有关 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
在 Play Console 中将您的 Android 应用链接到您的游戏时,必须使用与发布应用时完全相同的包名和证书指纹。如果不匹配,对 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 游戏服务功能,例如已保存的游戏、排行榜和成就。