跳轉至

Unity Windows

Hive SDK Unity Windows 應用程式開發在開發後構建應用程式時需要以下設置。

建立預配置

在构建 Windows 项目之前,请在编辑器的 文件 > 构建设置... 中配置以下设置:

  1. 設定構建:
    • 目標操作系統:Windows
    • 架構:x86_64
    • 生成 Visual Studio 解決方案(構建方法取決於是否選擇)
  2. 配置播放器:您可以通過按下位於構建設置窗口左下角的 播放器設置... 按鈕或在檢查器窗口的 播放器 類別中進行設置。
    • 腳本後端:IL2CPP
    • API 兼容性級別:.NET Standard 2.1
    • Windows 自動圖形 API:Direct3D11 或 OpenGLCore
  3. 配置HIVE_PLUGIN.dll 文件:參考下圖並在檢查器窗口中的Assets\Hive_SDK_v4\Plugins\Windows文件夾中設置HIVE_PLUGIN.dll 文件。

建構配置

根據在建構配置期間是否選擇生成 Visual Studio 解決方案,請根據以下選項 1.選項 2.進行操作。

選項 1. Visual Studio 解決方案生成: 假

  1. 在編輯器的項目中準備Assets\Plugins\Windows\res\hive_config.xml文件。
  2. Hive SDK 附加文件(如.dll, .pak,.bin等資源文件)被複製到由 Unity Build 生成的可執行文件夾中,通過Assets\Hive_SDK_v4\Editor\HivePostprocess.cs。如果未進行複製,請直接按以下方式複製:
  3. Assets\Hive_SDK_v4\Plugins\desktop\hive_string → [可執行文件夾]\resources\hive_string
  4. Assets\Hive_SDK_v4\Plugins\Windows\additional → [可執行文件夾](.meta 文件除外)
  5. Assets\Plugins\Windows\res\hive_config.xml → [可執行文件夾]>\resources\hive_config.xml
  6. 版本設置也通過腳本Assets\Hive_SDK_v4\Editor\HivePostprocess.cs使用項目中設置的版本進行。 如果生成的可執行文件的版本未更改,可以直接在 CMD 或 Powershell 中使用Assets\Hive_SDK_v4\Plugins\Windows\postBuildUtil\rcedit.exe進行更改。
    • 參考
    • 示例:rcedit.exe "D:\Hive\_SDK\_UnityPlugin\_Sample\b\Hive\_SDK\_v4\_Unity.exe" --set-product-version 1.0.3 --set-file-version 1.0.3
    • 結果:

選項 2. Visual Studio 解決方案生成: 真

在所需的文件夾中執行 Windows 目標 Unity 構建,並使用 構建預配置 中配置的環境。

建立後配置

本節描述了在構建Hive SDK Unity Windows應用程序後所需的設置。在Unity構建完成後,將生成以下文件。

  • 建構
  • Il2CppOutputProject
  • [專案名稱] 資料夾
  • UnityPlayerStub
  • [專案名稱].sln
  • UnityCommon.props
  • locales
  • resources
  • swiftshader
  • .dll
  • cef.subprocess.exe
  • .pak
  • .bin
  • icudtl.dat

版本設定

您可以通过修改WindowsPlayerVersion.rc文件中的FILEVERSIONPRODUCTVERSION来设置版本,该文件位于[项目名称]文件夹内。修改后的版本在与Hive 服务器通信时用作appversion信息。

Visual Studio 建置和 Hive SDK 複製

  1. 使用 Visual Studio 打开sln,在构建过程中可执行文件将被创建在build\bin\x64\Debug(或 Master)文件夹中。
  2. 在使用 Visual Studio 2019 运行 Unity 2018.4.17 的结果时,需要进行 Retarget Solution 过程。
  3. 将 Unity 构建过程中创建的文件从文件夹复制到与可执行文件相同的文件夹中,排除[Project name_Data].slnUnityCommon.props
  4. 以相同的方式复制localesresourcesswiftshader 文件夹。
  5. 修改hive_config.xml 的内容以匹配项目,并在可执行文件下的 resources 文件夹中指定位置。(Appid、Google 相关、Facebook 相关)
  6. 如果游戏需要在hive_config.xml中输入的市场值,请输入 HS,这是 Hive 商店的市场代码。(但是,输入在hive_config.xml中的市场值不会影响实际服务。)
  7. build\bin\Project name_Data folder 复制到可执行文件所在的文件夹中。

  8. build\bin[Project name_Data]\plugins中的文件(*.dll)是重复的,因此可以删除。

  9. 将额外的.dll和资源放置在build\bin[Project name_Data]\plugins中,而不是可执行文件所在的文件夹是部分可行的,但有些功能无法正常工作,因此它会被复制到可执行文件所在的文件夹中并使用。
Note

Redistributable packages 在开发者的 PC 以外的环境中是必需的。
在调试模式下构建时,需要 redistributable package 的调试版本 DLL:vccorlib140d.dll, vcruntime140d.dll, cruntime140_1d.dll, ucrtbased.dll, msvcp140d.dll, concrt140d.dl

刪除未使用的 XML 檔案

如果您是通过 Unity 包 安装或更新 Hive SDK Unity,而不是通过 Hive SDK 管理器,您必须在构建应用之前删除以下路径中所有 HIVESDK_{library_name}Dependencies.xml 文件。

  • 資產/Hive_SDK_v4/依賴項
  • 資產/Hive_SDK_v4/編輯器

要刪除的文件示例如下:

  • HIVESDK_DefaultDependencies.xml
  • HIVESDK_HerculesDependencies.xml
  • HIVESDK_HiveAnalyticsConsentModeDependencies.xml
  • HIVESDK_HiveDataStoreDependencies.xml
  • HIVESDK_HiveDeviceManagementDependencies.xml
  • HIVESDK_HiveGoogleInAppReviewDependencies.xml
  • HIVESDK_HiveGoogleInAppUpdateDependencies.xml
  • HIVESDK_HivePromotionDependencies.xml
  • HIVESDK_HiveRealNameVerificationDependencies.xml
  • HIVESDK_MarketAmazonDependencies.xml
  • HIVESDK_MarketAppleDependencies.xml
  • HIVESDK_MarketGoogleDependencies.xml
  • HIVESDK_MarketHiveStoreDependencies.xml
  • HIVESDK_MarketHuaweiDependencies.xml
  • HIVESDK_MarketLebiDependencies.xml
  • HIVESDK_MarketOneStoreDependencies.xml
  • HIVESDK_MarketSamsungDependencies.xml
  • HIVESDK_ProviderAdjustDependencies.xml
  • HIVESDK_ProviderAppleDependencies.xml
  • HIVESDK_ProviderAppleSignInDependencies.xml
  • HIVESDK_ProviderAppsFlyerDependencies.xml
  • HIVESDK_ProviderFacebookDependencies.xml
  • HIVESDK_ProviderFirebaseDependencies.xml
  • HIVESDK_ProviderGoogleDependencies.xml
  • HIVESDK_ProviderGooglePlayGamesDependencies.xml
  • HIVESDK_ProviderHiveMembershipDependencies.xml
  • HIVESDK_ProviderHuaweiDependencies.xml
  • HIVESDK_ProviderLineDependencies.xml
  • HIVESDK_ProviderQQDependencies.xml
  • HIVESDK_ProviderRecaptchaDependencies.xml
  • HIVESDK_ProviderSingularDependencies.xml
  • HIVESDK_ProviderVKDependencies.xml
  • HIVESDK_ProviderWechatDependencies.xml
  • HIVESDK_ProviderWeverseDependencies.xml
  • HIVESDK_PushAmazonAdmDependencies.xml
  • HIVESDK_PushGoogleFcmDependencies.xml