发布应用
在沙盒环境中完成应用审核后,请部署应用。
应用部署¶
要部署应用,请将应用上传至控制台正式服务器。上传后,按照以下步骤进行部署。
- 在Crossplay Launcher > 应用管理 > 下载设置中,通过应用名称和AppID查询应用列表。
- 在列表中找到要发布的应用。如果审核设置为
ON,请将其更改为OFF。 - 在修改/删除列中点击修改,打开部署设置窗口。在设置窗口中指定部署日期后,点击保存部署日期。
- 到达设定的部署日期时,请重新访问Crossplay Launcher > 应用管理 > 下载设置。确认应用状态是否已变更为
Distributing。 - 在网页上点击运行应用,确认应用是否正常安装和运行。
更多详细信息,请参阅下载设置。
Google Play Games 应用发布准备¶
Google Play Games的PC发布是指将在Hive上部署的应用提交至Google Play Games的操作。在Google Play Games上发布PC应用主要有以下两种方式:
- 安装程序(Installer)发布
- Play托管(Play-managed)发布
本文介绍使用安装程序(Installer)发布时的准备方法。准备过程总结如下:
- 准备Google Play Games读取的安装文件和配置文件
- 使用Hive应用ID生成Game-Installer.exe和play_publishing_config.xml
- 使用Play发布工具生成WAB文件
- 将WAB文件上传至Google Play Games控制台
1. Hive控制台应用部署¶
app_id是用于识别在Hive控制台上部署的应用的值。在生成安装程序和编写Google Play Games配置文件时会用到此值。
- 在Hive控制台完成应用部署流程。
- 在设定的部署日期过后,当Crossplay Launcher > 应用管理 > 下载设置中显示该应用状态为
Distributing时,请在同一页面确认并记录应用IDapp_id。
2. 代码签名环境准备¶
代码签名是对安装文件进行签名的过程,使Windows能够验证可执行文件的来源。
EV(Extended Validation)证书是组织分发安装文件时用于证明身份的代码签名证书。
提交至Google Play Games的Game-Installer.exe必须使用组织的EV证书进行签名。因此,请先准备代码签名工具和证书使用环境。
如果已经配置好环境,请跳过此步骤。
在开始代码签名之前,请准备好组织管理的EV证书USB加密狗和证书PIN。如果尚未获取,请先联系组织内的Windows代码签名证书负责人。
2.1. 安装Inno Setup¶
Inno Setup是生成Game-Installer.exe时使用的安装程序制作工具。
- 下载并安装Inno Setup最新版本。
- 安装完成后,在Windows开始菜单中运行Inno Setup,确认是否能正常打开。
2.2. 构建基于EV证书的代码签名环境¶
本节假设组织已经颁发了用于代码签名的EV证书USB加密狗和证书PIN。
SafeNet Authentication Client是用于识别EV证书USB加密狗并在代码签名时输入证书PIN的工具。
- 从Digicert下载SafeNet Authentication Client (64-Bit)后安装并运行。安装完成后,Windows系统托盘中将显示SafeNet Authentication Client图标。
- 将组织预先颁发的用于代码签名的EV证书USB加密狗连接至PC。
- 在屏幕右下角的Windows系统托盘中右键点击SafeNet Authentication Client图标,然后选择菜单 > 工具。
- 确认SafeNet Authentication Client Tools界面的设备列表中是否显示已连接的EV证书加密狗名称。如果名称显示,则表示连接正常。
3. 生成应用安装包¶
Game-Installer.exe是Google Play Games在用户PC上安装游戏时使用的安装文件。在生成WAB文件的步骤中,也会将此文件用作输入值。
- 下载Google Play Games安装程序包生成工具。
- 在解压后的文件夹中运行packing_game_installer。将出现命令提示符窗口。
-
当显示以下消息时,输入之前记录的Hive应用ID
app_id,然后按Enter。Caution
此处输入的
app_id是在Hive上部署的应用的应用ID。请勿输入Play控制台的应用ID。 -
出现Token Logon窗口时,输入组织在颁发EV证书USB加密狗时提供的证书PIN值,然后点击OK。
-
命令提示符窗口关闭后,确认解压文件夹下的output文件夹中是否已生成Game-Installer.exe。
如果未生成文件,请重新确认之前输入的Hive应用ID、证书PIN、EV证书USB加密狗连接状态,然后重新运行工具。
-
运行Game-Installer.exe。确认与输入的应用ID对应的应用是否能正常安装。如果安装顺利完成,则表示包已正常生成。
4. 编写play_publishing_config.xml¶
play_publishing_config.xml是Google Play Games读取应用的安装文件、可执行文件、卸载路径时使用的配置文件。Google Play Games根据此文件在PC上安装和运行应用。
请参阅安装程序发布,编写以下XML。
请将占位符替换为已部署应用的实际值。
| 占位符 | 如何确定 | 示例 |
|---|---|---|
{包名} | 本次提交至Google Play Games的游戏版本的包名。从游戏项目的构建设置中确认的值,必须与Google Play Console中注册的包名相同。 | com.company.game |
{版本名} | 本次部署的游戏版本的版本字符串。从游戏项目的构建设置中确认的值,必须与在Windows资源管理器中右键点击实际要部署的游戏可执行文件后,在属性 > 详细信息中确认的版本相同。 | 1.2.3 |
{应用ID} | 上一步骤中在Hive控制台部署后记录的Hive应用ID app_id。 | com.company.game.windows.googleplay.normal |
请根据以下说明替换示例值。
<path>Game-Installer.exe</path>中,请直接输入上一步骤中生成的安装文件名称。installation-path-registry-location、launch-path-registry-location中,请直接输入Crossplay Launcher记录安装位置的注册表路径。<filename>hive_updater.exe</filename>中,请直接输入Crossplay Launcher安装后要运行的启动器文件名称。- 在
<arguments><![CDATA[hivelauncher:?app_id={应用ID}&start_point=8]]></arguments>中,仅将{应用ID}替换为之前记录的值。start_point=8保持不变。 uninstall-path-registry-location中,请直接输入查找卸载命令的注册表路径。仅将{应用ID}替换为之前记录的值。
以下是将占位符替换为实际值后编写的play_publishing_config.xml示例。
<?xml version="1.0" encoding="UTF-8"?>
<play-publishing-config version="1.0">
<application>
<package-name>{包名}</package-name>
<version-name>{版本名}</version-name>
</application>
<installer requiresElevation="true" acceptsCommandLineArguments="true">
<path>Game-Installer.exe</path>
<installation-path-registry-location>
<key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CrossplayLauncher_is1</key-name>
<value-name>InstallLocation</value-name>
</installation-path-registry-location>
</installer>
<launcher requiresElevation="true">
<launch-path-registry-location>
<key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CrossplayLauncher_is1</key-name>
<value-name>InstallLocation</value-name>
</launch-path-registry-location>
<executable-invocation>
<filename>hive_updater.exe</filename>
<arguments><![CDATA[hivelauncher:?app_id={应用ID}&start_point=8]]></arguments>
</executable-invocation>
</launcher>
<uninstaller requiresElevation="true">
<uninstall-path-registry-location>
<key-name>SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{应用ID}</key-name>
<value-name>UninstallString</value-name>
</uninstall-path-registry-location>
</uninstaller>
</play-publishing-config>
Caution
app_id中请输入在Hive上部署的应用的应用ID。请勿输入Play控制台的应用ID。
installer、launcher、uninstaller均须指定requiresElevation="true"。如果未指定,将无法正常安装或运行。
5. 生成WAB文件¶
WAB(Web App Bundle)文件是上传至Google Play Games控制台的发布包。Google Play Games根据此文件读取提交的安装文件和运行信息。
下载安装程序发布中提供的Play发布工具。工具显示输入项时,指定上一步骤中创建的play_publishing_config.xml和Game-Installer.exe以生成WAB文件。操作完成后,在Play发布工具显示的输出路径中确认是否已生成扩展名为wab的WAB文件。
6. 上传至Google Play Games控制台及后续流程¶
在Google Play Games控制台的上传步骤中选择生成的WAB文件并提交。上传完成后,Google Play Games将进行WAB文件验证以及后续审核和发布流程。
本文档涵盖从Hive控制台部署到WAB文件准备的全部流程。关于上传界面的详细操作,请参阅安装程序发布。

