发布应用
在沙盒環境中完成應用程式審查後,請部署應用程式。
應用程式部署¶
若要部署應用程式,請先將應用程式上傳至Hive控制台正式伺服器。上傳完成後,請依照以下步驟進行部署。
- 在 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 加密狗連接至電腦。
- 在畫面右下角的 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 檔案準備的整個過程。上傳畫面的詳細操作請參閱安裝程式發布。

