本文档面向要接入 4399 独代SDK 的虚幻引擎游戏
SDK 以蓝图插件的方式封装,游戏以调用蓝图函数的方式接入 插件开发环境是 unreal 4.27, 不同版本注意兼容问题
下载 虚幻引擎蓝图插件 UEA ,解压得到如下结构
.
├── Resources
│ └── Icon128.png
├── Source
│ └── UEA
│ ├── Private
│ │ ├── UEA.cpp
│ │ ├── UEaApi.cpp
│ │ └── UEABPLibraryTL.cpp
│ ├── Public
│ │ ├── UEA.h
│ │ ├── UEaApi.h
│ │ └── UEABPLibraryTL.h
│ ├── UEA.Build.cs
│ └── UEA_API.xml
└── UEA.uplugin
简单介绍文件作用
UEA.uplugin
: UEA 插件描述文件Source/UEA/UEA.Build.cs
: 插件入口代码Source/UEA/UEA_API_TL.xml
: 模板,SDK
的 Android
配置与代码插入点,这些方法会被插入到GameActivity
中Source/UEA/*/UEA.*
: 插件入口样板代码Source/UEA/*/UEaApi.*
: jni 封装代码,包含 SDK 的 java
方法及其回调Source/UEA/*/UEABPLibraryTL.*
:模板,再次封装
jni 方法的蓝图函数,以便于蓝图编辑器可以索引从工具栏上,设置 ->
新插件,选择蓝图库,创建UEA
同名插件;
到游戏项目的Plugins下,用插件压缩包中的内容,覆盖自动生成的文件,
重启编辑器,以保证能索引到蓝图函数
将Source/UEA/UEA_API_TL.xml
文件,拷贝为Source/UEA/UEA_API.xml
,调整所有带
REPLACE 标签的代码
abiFilters "armeabi-v7a"
,so 选择设置<meta-data android:name="FTNN_CHANNEL_ID" android:value="4399"/>
,渠道配置android:name="android.permission.WRITE_EXTERNAL_STORAGE
,可选的存储权限,若游戏使用,则需要处理申请流程private static final boolean COMPAT_NOTCH = true;
,
可选的全面屏兼容将Source/UEA/*/UEA/UEABPLibraryTL.*
文件,拷贝为Source/UEA/*/UEA/UEABPLibrary.*
,并实现其中的回调方法。
这些方法以Java_com_epicgames_ue4_GameActivity
开头,在其中游戏根据业务需要处理SDK接口的后续调用流程
游戏直接调用Source/UEA/*/UEA/UEABPLibrary.
中的蓝图函数即可,可参考相应的接口说明
用新版本插件覆盖旧版插件,将模板文件中的变化,合并到游戏已经配置或实现的文件中。