跳轉至

发布应用

在沙盒環境中完成應用程式審查後,請部署應用程式。

應用程式部署

若要部署應用程式,請先將應用程式上傳至Hive控制台正式伺服器。上傳完成後,請依照以下步驟進行部署。

  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 加密狗連接至電腦。
  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 檔案準備的整個過程。上傳畫面的詳細操作請參閱安裝程式發布