コンテンツにスキップ

Unity Windows

Hive SDK Unity Windows アプリ開発には、開発後にアプリをビルドする際に以下の設定が必要です。

ビルドの事前設定

Windowsプロジェクトをビルドする前に、エディタのファイル > ビルド設定...で以下の設定を構成してください:

  1. ビルドを設定します:
    • 対象OS: Windows
    • アーキテクチャ: x86_64
    • Visual Studioソリューションを生成します(ビルド方法は選択されているかどうかによります)
  2. プレイヤーを設定します: ビルド設定ウィンドウの左下にあるPlayer Settings...ボタンを押すか、インスペクタウィンドウのPlayerカテゴリで設定できます。
    • スクリプティングバックエンド: 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などのリソースファイル)は、Assets\Hive_SDK_v4\Editor\HivePostprocess.csによって、Unity Buildによって生成された実行可能ファイルがあるフォルダにコピーされます。コピーされない場合は、以下のように手動でコピーしてください。
    • Assets\Hive_SDK_v4\Plugins\desktop\hive_string → [Executable Folder]\resources\hive_string
    • Assets\Hive_SDK_v4\Plugins\Windows\additional → [Executable Folder](.metaファイルを除く)
    • Assets\Plugins\Windows\res\hive_config.xml → [Executable Folder]\resources\hive_config.xml
  3. 前のステップでファイルを手動でコピーした場合は、[Executable Folder]\hive-sdk-resフォルダの内容を[Executable Folder]\resourcesフォルダに移動します。
    • [Executable Folder]\hive-sdk-resからすべての内容を移動した場合は、hive-sdk-resフォルダを削除できます。
  4. 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ソリューション生成: True

希望するフォルダーにWindowsターゲットのUnityビルドを実行し、ビルド事前設定で構成された環境を使用します。

ビルド後の設定

このセクションでは、Hive SDK Unity Windows アプリをビルドした後に必要な設定について説明します。Unity ビルドが完了すると、以下のファイルが生成されます。

  • ビルド
  • Il2CppOutputProject
  • [プロジェクト名] フォルダ
  • UnityPlayerStub
  • [プロジェクト名].sln
  • UnityCommon.props
  • ローカル
  • リソース
  • 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. 同様にlocalesresources、およびswiftshaderフォルダーをコピーします。
  5. hive_config.xmlの内容をプロジェクトに合わせて修正し、実行可能ファイルの下にあるresourcesフォルダー内の場所を指定します。(Appid、Google関連、Facebook関連)
  6. ゲームがhive_config.xmlに入力された市場値を必要とする場合は、Hiveストアの市場コードであるHSを入力します。(ただし、hive_config.xmlに入力された市場値は実際のサービスには影響しません。)
  7. build\bin\Project name_Data folderを実行可能ファイルがあるフォルダーにコピーします。

  8. build\bin[プロジェクト名_データ]\plugins内のファイル(*.dll)は重複しているため、削除できます。

  9. build\bin[プロジェクト名_データ]\pluginsに追加の.dllやリソースを配置することは部分的に可能ですが、動作しない機能があるため、実行可能ファイルがあるフォルダーにコピーして使用します。
Note

Redistributable packages は、開発者のPC以外の環境で必要です。
デバッグモードでビルドする場合、再配布可能パッケージのデバッグ版DLLが必要です:vccorlib140d.dll, vcruntime140d.dll, cruntime140_1d.dll, ucrtbased.dll, msvcp140d.dll, concrt140d.dl

SDKの個別デプロイメント(オプション)

プロジェクトのビルドプロセス中にSDKの個別デプロイをオプションで適用することができ、ゲームプロジェクトディレクトリ内でゲームとSDKを分離することができます。

既存のプロジェクトディレクトリでは、SDK関連のライブラリはゲームプログラム(*.exe)と同じレベルにありました。SDK関連のファイルとライブラリを専用の PlatformHive サブフォルダーに配置することで、SDKの独立した依存関係を確保できます。

ディレクトリ構造の比較

プロジェクトの**スクリプティング定義シンボル**にHIVE_SDK_LOAD_FROM_STREAMING_ASSETSマクロを追加すると、SDK関連のファイルやライブラリはデフォルトのプロジェクト構造とは異なり、_PlatformHive_フォルダーに配置されます。

  • デフォルトプロジェクト構造 (HIVE_SDK_LOAD_FROM_STREAMING_ASSETSなし)

    GameRoot
    ├─ <GameName>_Data/                 ; Unityデータフォルダ
    ├─ HIVE_SERVICE.dll, libcef.dll, cef.subprocess.exe …
    ├─ propFolder/       hiveローカルデータ
    ├─ resource/         hive_config.xml, html
    └─ <GameName>.exe
    

  • 別個のデプロイメント構造 (with HIVE_SDK_LOAD_FROM_STREAMING_ASSETS)

    GameRoot
    ├─ <GameName>_Data/                 ; Unityデータフォルダー
    │   └─ StreamingAssets/                ; 隔離されたフォルダー
    │      └─ PlatformHive/                ; 隔離されたフォルダー
    │         ├─ HIVE_SERVICE.dll, libcef.dll, cef.subprocess.exe …
    │         ├─ propFolder/       ; hiveローカルデータ
    │         └─ resource/         ; hive_config.xml, html
    └─ <GameName>.exe
    

    ※ ビルド後のSDKファイルの最終位置は _Data/StreamingAssets/PlatformHive/ に変更されます。それ以外のプロジェクト構造とSDK参照方法は同じままです。

設定手順

別々のSDKデプロイメントを構成するための手順に従ってください:

  1. Unityで、**プロジェクト設定 > プレイヤー > その他の設定**に移動し、*スクリプト定義シンボル*フィールドにHIVE_SDK_LOAD_FROM_STREAMING_ASSETSを追加します。詳細については、カスタムスクリプトシンボルガイドを参照してください。
  2. プロジェクトビルド構成については、オプション1. Visual Studioソリューション生成: 偽を参照してください。
  3. プロジェクトをビルドすると、_Assets/Hive_SDK_v4/Editor/HivePostprocess.cs_スクリプトが自動的にSDK関連のファイルを_PlatformHive_フォルダーにコピーします。

未使用のXMLファイルを削除する

Hive SDK UnityをUnityパッケージ経由でインストールまたは更新した場合は、Hive SDK Managerを使用せずに、アプリをビルドする前に以下のパスにあるすべてのHIVESDK_{library_name}Dependencies.xmlファイルを削除する必要があります。

  • Assets/Hive_SDK_v4/Dependencies
  • Assets/Hive_SDK_v4/Editor

削除されるファイルの例は次のとおりです:

  • 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