在 Google Cloud 中管理 Play 游戏服务项目设置

在某些情况下,您可能需要直接在 Google Cloud 中查看和修改 Play 游戏服务项目。

典型场景包括:

  • 为项目启用其他 API(例如 Google 云端硬盘)。
  • 在 OAuth 2.0 对话框中修改游戏的品牌信息。
  • 查看 API 配额并申请更高配额(如有必要)。
  • 修改之前创建的客户端 ID 中已获授权的 URI 或 JavaScript 来源。

查看项目

如需在 Google Cloud 中查看您的项目,请执行以下操作:

  1. 配置页面上为您的游戏选择凭据(依次选择拓展用户 > Play 游戏服务 > 设置和管理 > 配置)。
  2. 前往身份验证部分,然后点击在 Google Cloud 中查看

调整 API 用量配额

在 Google Cloud 中,您可以查看为游戏设置的 API 用量限额和已使用的配额量。您还可以设置每位用户限额,以防止滥用的用户(或存在 bug 的游戏客户端)用尽您的配额。

如需查看或更改项目的用量限额,或申请增加配额,请执行以下操作:

  1. 如果您的项目还没有结算账号,请创建一个。
  2. 在 API 控制台中访问 API 库中的“已启用的 API”页面,然后从列表中选择一个 API。
  3. 如需查看和更改配额相关设置,请选择配额。如需查看使用量统计信息,请选择使用量

请注意,“用户”是根据发出配额请求的客户端的 IP 地址确定的。例如,如果所有请求都来自单个服务器,该服务器可能会被错误地标记为单个垃圾用户。为避免出现这种情况,您可以向 API 端点请求附加 userIp=x.x.x.x 参数。

如需详细了解如何设置单用户配额,请参阅设置 API 用量上限

除了每位用户限额之外,还应针对 Google Play 游戏服务 API 设置应用级每日限额。通常,您无需更改预先分配的限额。不过,如果您预计用量会出现激增(例如即将举行发布活动),可以点击申请更多链接来申请更多配额。

启用其他 API

在 Play 管理中心内创建客户端 ID 时,系统会自动为您的项目启用 Google Play 游戏服务 API。您可以通过 Google Cloud 启用其他 Google API。

如需为您的项目启用 API,请执行以下操作:

  1. 在 Google API 控制台中打开 API 库。如果系统提示您选择一个项目或创建一个新项目,请视需要选择相应选项。API 库列出了所有可用的 API(按产品系列和热门程度分组)。

  2. 如果列表中没有显示您要启用的 API,请使用搜索功能查找该 API。

  3. 选择您要启用的 API,然后点击启用按钮。

  4. 如果系统提示,请启用结算功能。

  5. 如果系统提示,请接受该 API 的服务条款。

修改品牌信息

如需修改 OAuth 2.0 对话框中显示的游戏品牌信息(名称、徽标等),请在 Google Cloud 的权限请求页面中设置属性。

如需设置项目的权限请求页面,请执行以下操作:

  1. 在 Play 管理中心内打开“同意屏幕”页面。如果系统提示您选择一个项目或创建一个新项目,请视需要选择相应选项。
  2. 填写表单并点击保存

修改 OAuth 用户类型

如果您使用个人测试账号正式版 (测试和发布 > 正式版)测试轨道中进行测试,则还必须在 Google Cloud 中将 OAuth 受众群体设置配置为外部。如需了解详情,请参阅管理应用受众群体

修改客户端 ID 的相关属性

如需修改与 OAuth 2.0 客户端 ID 相关的属性(Web 应用的网络来源和重定向网址),请执行以下操作:

  1. 打开 Play 管理中心,然后找到您的游戏。
  2. 配置页面上为您的游戏选择凭据(依次选择拓展用户 > Play 游戏服务 > 设置和管理 > 配置)。
  3. 滚动到身份验证部分的底部,然后点击在 Google Cloud 中查看
  4. 在 Google Cloud 中,选择您的项目。
  5. 在左侧边栏中,选择 API 和身份验证。在显示的 API 列表中,确保 Google Play 游戏服务 API 的状态为启用
  6. 在左侧边栏中,选择已注册的应用
  7. 展开 OAuth 2.0 客户端 ID 部分,找到要修改的属性。

从现有云项目迁移 OAuth 客户端

如需在 Google Cloud 中查看您的项目,请按照查看项目中的步骤操作。

如需设置 Play 游戏服务 (PGS),您需要一个唯一的 Google Cloud 项目。如果多个游戏共用一个云项目,您必须将其 Android OAuth 客户端迁移到独立的项目,以确保配置正确。

两款游戏共用一个 Google Cloud 项目的简要视图
图 1. 游戏 1 和游戏 2 共用一个 Google Cloud 项目的示例

在上述示例中,游戏 1 和游戏 2 已在单个 Google Cloud 项目中创建了其 Web 客户端和 Android 客户端,以实现“使用 Google 账号登录”功能。我们需要将游戏 2 的 Web 客户端和 Android 客户端从当前的旧版 Google Cloud 项目迁移到新的目标 Google Cloud 项目。

将游戏 2 迁移到新的 Google Cloud 云项目的高级视图
图 2. 将 Game 2 客户端迁移到新的目标 Google Cloud 项目

第 1 步:后端准备

在执行切换之前,您必须调整后端和客户端,以处理新旧 Web 客户端 ID 同时存在的情况。

  • 服务器端配置:如果您的服务器验证 ID 令牌中的 Web 客户端 ID,您将需要更新服务器端逻辑,以同时支持由旧版 Cloud 项目中的旧客户端和您需要在目标 Cloud 项目中生成的新客户端签发的 ID 令牌。
  • 客户端配置:您的客户端应用需要支持多个 Web 客户端 ID,以便在切换时使用新的 Web 客户端 ID 登录。您可以使用以下任一方法:
    • 在客户端应用中内置了 2 个 Web 客户端 ID,当旧客户端 ID 过期时切换到新 Web 客户端 ID
    • 从服务器动态获取最新的 Web 客户端 ID 以完成切换
  • 预先创建 Web 客户端:在目标项目中,您需要预先创建一个新的 Web 客户端,以避免在原子切换期间出现潜在的延迟。

第 2 步:在正确的 Google Cloud 项目中配置新的 Web 和 Android OAuth 客户端

第 2.1 步:在目标 Google Cloud 项目中为游戏 2 创建新的 Web OAuth 客户端:

用于创建新的 Web OAuth 客户端 ID 的 Google Cloud 界面
图 3. 创建新的 Web OAuth 客户端

第 2.2 步: 警告:修改 Android 客户端会阻止游戏用户使用 Google 登录功能登录您的游戏,因此您必须确保在完成第 2.2 步后立即执行第 2.3 步。建议同时打开 2 个网页进行操作,以尽可能缩短修改和重新创建之间的时间间隔。

旧版 Google Cloud 项目中游戏 2 的 Android 客户端的软件包名称更改为无效值,例如 com.noexist.none

用于更改 Android 客户端软件包名称的 Google Cloud 界面
图 4. 更改旧版项目中的 Android 客户端的软件包名称

第 2.3 步:立即在目标 Google Cloud 项目中为游戏 2 创建新的 Android 客户端,并使用游戏 2 的相同 SHA-1 指纹和软件包名称:

用于创建新的 Android OAuth 客户端 ID 的 Google Cloud 界面
图 5. 在目标项目中创建新的 Android 客户端

第 3 步:实时配置部署

目标项目中成功创建新的 Android 客户端后,立即执行以下操作:

  • 重定向客户端:使用动态配置机制(例如 Remote Config)立即切换客户端应用,使其开始使用新的 Web 客户端 ID。
  • 保留旧客户端:保留旧的 OAuth 客户端,以便在出现任何问题时,回滚到之前的 OAuth 客户端登录方式。