发布核对清单

在 Google Play Games 电脑版上提交游戏以供审核之前,请使用此核对清单确保游戏符合所有要求和最佳实践。

设置和配置项目

  • 下载并导入 SDK:为您的环境集成最新的 Play 游戏电脑版 SDK。如需了解详情,请参阅 Unity 指南C++ 指南
  • 创建应用清单:创建一个 manifest.xml 文件,将 <PackageName> 映射到您声明的 Play 管理中心软件包。如需了解详情,请参阅清单指南
  • 为可执行文件添加数字签名:使用 Authenticode 数字签名对游戏进行签名,并妥善保管证书以备将来进行更新。 虽然您可以在本地开发期间通过启用开发者模式跳过此步骤,但您必须使用已知证书授权机构颁发的实际生产证书对最终二进制文件进行签名。如需了解详情,请参阅为游戏进行数字签名
  • 设置证书格式并发送:将证书信息发送给您的 Google 代表。证书文件应仅包含与证书相关的信息;请验证是否已移除所有非证书块。您可以使用 OpenSSL 将 DER/CER 文件转换为所需的 PEM 格式。

集成 API 和功能

  • 初始化 SDK:在启动期间使用其他功能之前,实现 SDK 初始化逻辑,例如 InitializeAsync。如需了解详情,请参阅初始化指南
  • 实现无缝登录:通过 Recall API 使用 Play 游戏客户端账号自动对玩家进行身份验证。如需了解详情,请参阅无缝登录指南
  • 集成 Play Integrity:使用 IntegrityClient 请求令牌,并在后端验证游戏会话的合法性。如需了解详情,请参阅 Play Integrity 指南
  • 添加 Play Install Referrer:如果您需要跟踪 PC 端的用户获取来源,请集成 Install Referrer API。如需了解详情,请参阅安装来源网址指南
  • 处理初始化错误:如需使用 SDK,请调用 GooglePlayInitialize (C++) 或 GooglePlayInitialization.InitializeAsync (C#) 来初始化 API。您必须调用此方法并验证延续回调是否以 InitializeResult::ok() (C++) 或 Result.IsOk (C#) 完成,并且是否返回 true,然后才能使用任何其他 API。
  • 处理强制关闭:通过尽快关闭客户端进程来处理 kActionRequiredShutdownClientProcess
  • 处理 Google Play 游戏 安装要求:通过告知用户必须安装 Google Play 游戏 和 SDK 运行时才能继续,来处理 kSdkRuntimeUnavailable
  • 处理 Google Play 游戏更新:通过通知用户需要更新 Google Play 游戏运行时来处理 kSdkRuntimeUpdateRequired

实现 Play 结算服务

  • 检查购买类型:确认游戏仅依赖于应用内购,因为不支持定期付款和订阅。如需了解详情,请参阅结算常见问题解答
  • 查询商品详情:使用 QueryProductDetails 检索本地化商店数据。如果您有 50 件以上的商品,请将请求拆分为多个调用。如需了解详情,请参阅“查询产品”指南
  • 启动购买流程:使用 LaunchPurchaseFlow 以原生方式处理交易。如果您在未付款的情况下关闭付款浏览器,系统会显示五分钟超时错误。如需了解详情,请参阅购买流程指南
  • 恢复现有购买交易:在启动和应用进入前台时调用 QueryPurchases,以捕获未确认的跨设备购买交易。如需了解详情,请参阅恢复购买交易指南
  • 确保后端处理安全:在授予使用权并使用 AcknowledgePurchaseConsumePurchase 完成最终处理之前,请验证后端上的 purchaseToken。如需了解详情,请参阅安全处理指南

在开发者模式下进行测试并执行发布前质量检查

  • 在开发者模式下进行测试:将 <IsDeveloperMode>true</IsDeveloperMode> 添加到清单中,并为本地集成开发环境 (IDE) 测试配置抢先体验合作伙伴 GUID。如果您没有抢先体验合作伙伴 GUID,请填写意向调查表
  • 管理开发者模式下的购买交易:在开发者模式下测试购买交易时,请在三分钟内消耗购买交易,以免系统自动退款。如需了解详情,请参阅测试常见问题解答
  • 移除开发者模式:您必须在打包发布 build 之前尽快移除 <IsDeveloperMode> 标记。如需了解详情,请参阅开发者模式指南
  • 使用第三方启动器转发实参:将启动器从 Google Play 游戏客户端收到的所有未知命令行实参直接传递给生成的游戏进程。如需了解详情,请参阅多进程指南
  • 使用 VPN 进行测试:如果您从不受支持的地区进行测试,请使用已启用 TUN 模式的 VPN 来获取受支持的 IP 地址。如需了解详情,请参阅 VPN 测试常见问题解答
  • 支持桌面快捷方式:如需了解有关无缝快捷方式支持的信息,请参阅快捷方式常见问题解答,了解快捷方式执行。使用快捷方式直接启动游戏或第三方启动器可能会导致初始化错误。

打包、测试和发布游戏

  • 打包 WAB:使用 Play 发布工具将游戏打包为 Windows App Bundle (WAB)。WAB 文件的大小必须小于 10 GB 的文件大小限制。如需了解详情,请参阅打包指南
    • 确认是否需要提升权限:如果您的安装程序、启动器或卸载程序每次启动时都需要以管理员身份运行,请务必检查您是否已将 INSTALLER_REQUIRES_ELEVATIONLAUNCHER_REQUIRES_ELEVATIONUNINSTALLER_REQUIRES_ELEVATION 设置为 true。否则,它们将无法以管理员权限运行,从而导致启动失败。如需了解详情,请参阅 WAB 配置文件格式
  • 提交第三方启动器安装程序:如果您使用第三方启动器,请在 WAB 中提交其安装程序。如需了解详情,请参阅安装程序发布指南
  • 更新游戏和启动器或安装程序:您的软件包内容(包括启动器安装程序)必须能够自行更新。管理游戏所需的所有资源,包括更新启动器本身。
  • 与 Google 分享发布信息:请与您的 Play 合作伙伴联系,并以协调世界时 (UTC) 格式分享您的软件包名称、发布国家/地区(使用 ISO 双字符代码,例如 US、CA、MX)以及发布日期和时间。
  • 设置测试访问权限:提供要添加到许可名单中的外部 Google 群组,以便进行测试、查看文档和访问 Google 云端硬盘。与您的 Play 合作伙伴分享测试账号的电子邮件列表,因为 Play 管理中心测试轨道不支持 PC。
  • 添加 PC 设备规格:在 Google Play 管理中心内,明确为您的应用添加“Google Play 游戏电脑版”设备规格。如果您无法访问此标签页,请与您的 Play 合作伙伴联系,将您的账号添加到许可名单中。
  • 配置 PC 要求:输入 Windows PC 的硬件要求(RAM、GPU、存储空间)。如需了解详情,请参阅 PC 要求指南
  • 上传商店资源:将打包的 WAB 文件上传到正式版轨道,然后配置视觉资源。如需了解详情,请参阅资源上传指南
  • 发布以进行用户环境测试:在 Google Play 管理中心内选择发布。与 Android 版本不同,在 WAB 上选择发布不会触发公开版本。相反,它会使您的共享测试账号能够搜索到该应用,以便在 Google 的审核流程结束后在用户环境中进行测试。
  • 正式发布:Google 会根据您与 Play 合作伙伴分享的正式发布日期来控制发布。
  • 在预注册期间进行测试:在预注册阶段,您必须在未包含在所选预注册区域中的国家/地区进行内部测试。

从 API 迁移到 SDK

从 API 迁移到 SDK 是一个可选步骤。如果您选择迁移,请遵循以下建议:

  • 移除旧版 REST API:将旧版 Play Developer API 调用(例如 purchases.products.get)映射到客户端 Native SDK 函数。如需了解详情,请参阅迁移指南
  • 验证命令行实参:SDK 环境中的命令行实参可能与 API 环境中的命令行实参不同。验证您的软件包是否正确处理并传递了所有实参。如需了解详情,请参阅验证
  • 验证注册表路径:为了顺利迁移到原生 SDK,注册表配置必须与之前的版本保持一致。如需了解详情,请参阅 WAB 文件指南

另请参阅