Unity
Unity Plugin基本説明
この文書はプラグイン方式を使用してUnity開発の環境で既存SDK適用方式よりより簡単に適用できる方法を提供するために作成されました。
Pluginダウンロード及び設置
Unity Pluginを設置して、Unityからプロジェクトを構成する方法は以下になります。
-
GameGuard for Mobile マネージャーサーバに接続して Download > Unity Pluings を選択、最新バージョンをダウンロードします。
-
ダウンロードされた
AppGuardUnityPlugin.zipファイルを圧縮解除すれば内部に Assets フォルダーが存在し、
内部のAppGuardPostProcessBuild.cs、AppGuardUnityManager.csファイルと /Plugins フォルダーを Project/Asset/ 経路の中にコピーします。
もしコンパイルの際 Assets/ AppGuardUnityManager.cs のみ存在して /Assets/Plugins/ * フォルダーがコピーされない場合、
エラー("Error: Symbol(s) not found for a architecture arm64")が発生される可能性がありますのでご注意ください。
GameGuard for Mobile Config ファイルダウンロード及び設定
-
GameGuard for Mobileマネージャーサーバに接続して Applying Security > ダウンロード> CHAPTER 2. nProtect AppGuard CONFIGファイルダウンロード> CONFIG FILE DOWNLOAD を選択してダウンロードします。
-
ダウンロードされたConfigファイルを圧縮解除すればAppGuard Configファイルは
appguard,appguard.crt,appguard.mf,appguard1060004つのファイルで構成されています。 -
上記の4つのファイルを以下の経路にコピーします。
Copy To : Project/Assets/
AppGuardPostProcessBuild.cs 説明
AppGuardPostProcessBuild.csは Unity Editorから提供 するPostProcessBuild機能を使用してUnityから生成されるXcode Projectで以下の機能を遂行します。
- GameGuard for Mobile SDK駆動に必要なビルド環境ファイルの設定作業
- GameGuard for Mobile SDK駆動に必要な環境ファイルの設定作業
- Unityから選択されたTarget SDK別
AppGuardCore.xcframeworkリンク設定作業
但し、Unityから生成されるXcode Projectの場合xcframewrokフォーマットを正常に認識していない状態です。 これはUnity自体からサポートされていない部分と判断されます。
これに対する対応策として、インカインターネットではAppGuardPostProcessBuild.csファイルを通じてUnityで選択したTargetSDKによって必要なframeworkをリンクする機能を提供しています。
GaneGuard for Mobile for iOS SDK v1.8.6 からはiOS用SDKの配信方式が既存単一frameworkから多重frameworkをサポートする
xcframework フォーマットに配信されます。
従って、GameGuard for Mobile for iOS SDKの名称がAppGuardCore.frameworkから AppGuardCore.xcframeworkに変更され、
AppGuardCore.xcframeworkはUnityの Device SDKと Simulator SDKのビルド及び実行を全てサポートします。
xcframework は多重プラットフォーム支援のためのframework配信のためにアップルが推奨するフォーマットです。
GameGuard for Mobile 1.8.6 バージョン未満及びXcode 13.3.3バージョン未満の環境を使用するお客様の場合
AppGuardCore.xcframework/ios-arm64_armv7/ AppGuardCore.frameworkを
Project/Assets/Plugins/AppGuardCore.xcframework/ios-arm64/ フォルダーにコピーして使用すれば既存と同じ方式で使うことができます。
GameGuard for Mobile 1.8.6 バージョン以上及び Xcode 13.3.3 バージョン以上の環境を使用するお客様の場合
AppGuardCore.xcframework/ios-arm64/ AppGuardCore.frameworkを使用すれば既存と同じ方式で使うことができます。
AppGuardPostProcessBuild.csファイルを確認して、お客様の環境と異なる場合は修正が必要になる場合があります。
AppGuardUnityManager.cs 説明
構成ファイルの Assets/ フォルダーの AppGuardUnityManager.csはサーバ認証のためのUnity Pluginサンプルで、
該当 *.cs ファイル内の存在されるクラス名及びメソッド名は維持される必要があり、
以下のメソッドを使用若しくは修正して使用できます。
Setメソッド
| メソッド | 説明 |
|---|---|
public void setUserId(string userid) | セキュリティー政策為犯検知時ログサーバーに転送すユーザー識別子 (UserID)を設定します。 |
public void setUniqueClientId(string uniqueId, long retryTimeSec = 180) | サーバー認証に使用するセッションの唯一の識別子を設定します。 |