设置 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. 转到 Grow > Play Games Services > Setup and management > Configuration(发展 > 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 管理中心添加凭据,将客户端 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 注意:在 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 管理中心发布轨道启用 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 Console 中为您的应用创建了 OAuth 2.0 客户端 ID,Google Play 游戏服务将不知道游戏成就和排行榜与客户端 ID 之间的关联。要创建此关联,您必须按照创建凭据中所述,使用 OAuth 2.0 客户端 ID 创建凭据。
2. 在 Android 中使用正确的应用 ID
应用 ID 是一个必需的字符串资源,您必须在 Android 清单中引用它。应用 ID 字符串仅包含 Play 管理中心提供的客户端 ID 开头的数字(通常为 12 位或更多)。应用 ID 可以在配置页面的顶部找到,并在您的游戏名称下方标记为项目 ID
3. 使用正确的证书签署您的 APK
在 Play 管理中心中将您的 Android 应用关联到游戏时,您必须使用与发布应用时完全相同的软件包名称和证书指纹。如果存在不匹配,对 Google Play 游戏服务的调用将失败。您应该创建两个客户端 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 游戏服务功能,例如保存的游戏、排行榜和成就。