Unreal Engine
Unreal Plugin 基本说明
与传统的 SDK 应用程序方法相比,本文档旨在提供一种更简便的方法,将插件方法应用到虚幻引擎 4 和 5 开发环境中。
Plugin下载和安装
安装Unreal Plugin, 在 Unreal Engine 4, 5中配置项目的方法如下。
-
进入AppGuard manager 管理平台,选择 Download > Unreal Pluings 并下载最新版本。
-
下载的
AppGuardUnrealPlugin.zip, 文件中包含 /AppGuardSDK文件,将此AppGuardSDK 文件复制到 Project/Plugins/ 路径中。 -
打开Project/Source/ProjectName/ 路径中的
APPNAME.Build.cs文件后如下添加"AppGuardSDK"到 Unreal 项目内安装 AppGuard SDK 。
PublicDependencyModuleNames.AddRange(new string[]
{
"Core", "CoreUObject", "Engine", "InputCore", "AppGuardSDK"
});
AppGuard Config文件下载和安装
-
进入AppGuard manager 管理平台 选择 Applying Security > 下载 > CHAPTER 2. nProtect AppGuard CONFIG 文件下载 > CONFIG FILE DOWNLOAD 并下载。
-
下载的 Config 文件解压后, AppGuard Config 文件由
appguard,appguard.crt,appguard.mf,appguard106000这四个文件组成。 -
以上四个文件复制到下面的路径中。
Copy To : Project/Binaries/IOS/Payload/APPNAME.app/
如果Unreal Editor尚未执行 IOS 构建,那么 Project/Binaries/IOS文件夹可能不存在。 这种情况时执行一次 IOS构建后再进行以上操作。
AppGuardSDK Unreal Plugin 应用
在Delegate上注册回调函数及调用 AppGuard 初始化函数
App 运行时如被检测出违反安全策略的行为时,如果想要通过Callback获得事件,则需在Delegate上注册回调。
以及为进行 AppGuard 初始化操作,必须调用UAppGuardSDKBlueprintLibrary::Start(); 函数。
此时,该函数的调用时间应适用于运行App时最先运行的时间点 。
#include “AppGuardSDKPlugin.h”
#include “AppGuardSDKBlueprintLibrary.h”
void ASampleProjectGameMode::InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage) {
//. 注册安全检测用回调函数
FAppGuardSDKModule::OnDetected.AddUObject(this, &ASampleProject::OnDetected); // 注册回调
//. 注册服务器认证用回调函数
FAppGuardSDKModule::OnS2AuthCompleted.AddUObject(this, &ASampleProject::OnS2AuthCompleted);
//. 为使用AppGuardCore.framework 的AppGuard 初始化
UAppGuardSDKBlueprintLibrary::Start();
}
/* 安全检测用回调函数示例 */
void ASampleProjectGameMode::OnDetected (int data) {
bool killed = data > 0;
int code = data > 0 ? data : data * -1;
/*
如果 Data 的值为正,Appguard 会在 30 秒后终止。
您必须使用下面的示例代码将其显示在用户可以看到的屏幕上。
*/
if (killed) {
//. 显示退出通知窗口,提醒用户游戏结束。
//. 退出通知窗口配置为点击确认按钮时App结束。
}
}
/* 服务器认证用回调函数示例 */
void ASampleProjectGameMode::OnS2AuthCompleted (int value, FString data) {
//. 有关服务器认证用回调函数实现部分请参考[应用服务器认证] 。
}
构建 Release版本时, 请务必删除上述 安全检测用回调函数和服务器认证用回调函数内的日志输出函数。