跳转至

发布应用

在沙盒环境中完成应用审核后,请部署应用。

应用部署

要部署应用,请将应用上传至控制台正式服务器。上传后,按照以下步骤进行部署。

  1. Crossplay Launcher > 应用管理 > 下载设置中,通过应用名称和AppID查询应用列表。
  2. 在列表中找到要发布的应用。如果审核设置为ON,请将其更改为OFF
  3. 在修改/删除列中点击修改,打开部署设置窗口。在设置窗口中指定部署日期后,点击保存部署日期
  4. 到达设定的部署日期时,请重新访问Crossplay Launcher > 应用管理 > 下载设置。确认应用状态是否已变更为Distributing
  5. 在网页上点击运行应用,确认应用是否正常安装和运行。

更多详细信息,请参阅下载设置

Google Play Games 应用发布准备

Google Play Games的PC发布是指将在Hive上部署的应用提交至Google Play Games的操作。在Google Play Games上发布PC应用主要有以下两种方式:

  • 安装程序(Installer)发布
  • Play托管(Play-managed)发布

本文介绍使用安装程序(Installer)发布时的准备方法。准备过程总结如下:

  1. 准备Google Play Games读取的安装文件和配置文件
  2. 使用Hive应用ID生成Game-Installer.exeplay_publishing_config.xml
  3. 使用Play发布工具生成WAB文件
  4. 将WAB文件上传至Google Play Games控制台

1. Hive控制台应用部署

app_id是用于识别在Hive控制台上部署的应用的值。在生成安装程序和编写Google Play Games配置文件时会用到此值。

  1. 在Hive控制台完成应用部署流程。
  2. 在设定的部署日期过后,当Crossplay Launcher > 应用管理 > 下载设置中显示该应用状态为Distributing时,请在同一页面确认并记录应用ID app_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时使用的安装程序制作工具。

  1. 下载并安装Inno Setup最新版本。
  2. 安装完成后,在Windows开始菜单中运行Inno Setup,确认是否能正常打开。

2.2. 构建基于EV证书的代码签名环境

本节假设组织已经颁发了用于代码签名的EV证书USB加密狗和证书PIN。

SafeNet Authentication Client是用于识别EV证书USB加密狗并在代码签名时输入证书PIN的工具。

  1. Digicert下载SafeNet Authentication Client (64-Bit)后安装并运行。安装完成后,Windows系统托盘中将显示SafeNet Authentication Client图标。
  2. 将组织预先颁发的用于代码签名的EV证书USB加密狗连接至PC。
  3. 在屏幕右下角的Windows系统托盘中右键点击SafeNet Authentication Client图标,然后选择菜单 > 工具
  4. 确认SafeNet Authentication Client Tools界面的设备列表中是否显示已连接的EV证书加密狗名称。如果名称显示,则表示连接正常。

3. 生成应用安装包

Game-Installer.exe是Google Play Games在用户PC上安装游戏时使用的安装文件。在生成WAB文件的步骤中,也会将此文件用作输入值。

  1. 下载Google Play Games安装程序包生成工具
  2. 在解压后的文件夹中运行packing_game_installer。将出现命令提示符窗口。
  3. 当显示以下消息时,输入之前记录的Hive应用ID app_id,然后按Enter

    Type the App ID(ex. com.com2us.hivesdk.windows.microsoftstore.global.normal):
    
    Caution

    此处输入的app_id是在Hive上部署的应用的应用ID。请勿输入Play控制台的应用ID。

  4. 出现Token Logon窗口时,输入组织在颁发EV证书USB加密狗时提供的证书PIN值,然后点击OK

  1. 命令提示符窗口关闭后,确认解压文件夹下的output文件夹中是否已生成Game-Installer.exe

    如果未生成文件,请重新确认之前输入的Hive应用ID、证书PIN、EV证书USB加密狗连接状态,然后重新运行工具。

  2. 运行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

请根据以下说明替换示例值。

  1. <path>Game-Installer.exe</path>中,请直接输入上一步骤中生成的安装文件名称。
  2. installation-path-registry-locationlaunch-path-registry-location中,请直接输入Crossplay Launcher记录安装位置的注册表路径。
  3. <filename>hive_updater.exe</filename>中,请直接输入Crossplay Launcher安装后要运行的启动器文件名称。
  4. <arguments><![CDATA[hivelauncher:?app_id={应用ID}&start_point=8]]></arguments>中,仅将{应用ID}替换为之前记录的值。start_point=8保持不变。
  5. 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。

installerlauncheruninstaller均须指定requiresElevation="true"。如果未指定,将无法正常安装或运行。

5. 生成WAB文件

WAB(Web App Bundle)文件是上传至Google Play Games控制台的发布包。Google Play Games根据此文件读取提交的安装文件和运行信息。

下载安装程序发布中提供的Play发布工具。工具显示输入项时,指定上一步骤中创建的play_publishing_config.xmlGame-Installer.exe以生成WAB文件。操作完成后,在Play发布工具显示的输出路径中确认是否已生成扩展名为wab的WAB文件。

6. 上传至Google Play Games控制台及后续流程

在Google Play Games控制台的上传步骤中选择生成的WAB文件并提交。上传完成后,Google Play Games将进行WAB文件验证以及后续审核和发布流程。

本文档涵盖从Hive控制台部署到WAB文件准备的全部流程。关于上传界面的详细操作,请参阅安装程序发布