接入指南
主体文件概要说明
uBox.dll
这个为插件入口主文件,是监控的主入口文件
JuBox.jar
这个为功能扩展实现包,含有截图,流量统计等功能
创建应用
如果你的项目已经创建过应用,跳至uBox SDK接入步骤,直接使用该应用的Appkey接入uBox。
Appkey是应用的唯一标识,可以同时用于Crasheye和uBox。
如果需要为你的项目创建新的应用,点击创建新的应用,按照步骤集成SDK即可。
SDK接入
1、下载插件uBox-sdk.zip,解压。
2、导入相应版本的uBox unitypackage
包。
Unity 版本 | uBox SDK |
---|---|
4.6.* - 5.0.* | uBox4.6_to_5.0.unitypackage |
5.1.* - 5.2.* | uBox5.1_to_5.2.unitypackage |
5.3.* | uBox5.3.unitypackage |
5.4.* | uBox5.4.unitypackage |
5.5.* | uBox5.5.unitypackage |
5.6.* - 2017.3.* | uBox5.6_to_2017.3.unitypackage |
2017.4.* - 2018.2.* | uBox2017.4_to_2018.2.unitypackage |
≥ 2018.3.* | uBox2018.3.unitypackage |
注:2018.1-2018.2版本因为Unity API变动,无法获取深度性能数据
3、如果项目本身就使用了java代码,那么需要主Activity类里,引用到JuBox.jar
的JuBoxInterface
类。(示例 demo.rar)
注:JuBox.jar必须打入包内,否则ubox一些在Android设备上的功能可能出现异常(例如截图、基础性能监控等)。但是,打release包的时候,应该将JuBox.jar替换成jubox_empty.jar,避免在release环境下消耗资源。
详情参考
demoActivity.java和JuBoxActivity.java
4、在需要接入的unity项目工程中增加三个按钮并调用以下接口,以启动和停止监控:
启动基础性能监控:(该接口仅在Android平台,且项目设置的Scripting Backend项为mono时可用)
调用uBox.dll 中的 uBoxInterface.StartLiteBox接口
注:该接口不能和 uBoxInterface.StartRecord接口一起调用
启动深度性能监控:调用uBox.dll
中的 uBoxInterface.StartRecord
接口
停止监控:调用uBox.dll
中的 uBoxInterface.StopRecordAndUpload
接口
/** 启动监控 **/
uBoxInterface.StartRecord(AppKey, version, startProfiler, startCapture, startNetwork, startRecource)
/** 停止监控 **/
uBoxInterface.StopRecordAndUpload(compress, internet)
/** 启动基础性能监控 **/
uBoxInterface.StartLiteBox(AppKey, version, accountStr, startResource, startMemory, startWwise,startStack)
参数 | 说明 |
---|---|
AppKey | 项目Key,通过官网注册即可获取项目Key (String) |
version | 项目当前版本号 (String) |
accountStr | 账号邮箱字符串,通过账号筛选当前账号的所有报告,不能为空串 (如果没有该账号邮箱,则传任意非空字符串即可) |
startResource | 是否开启资源监控,资源可监控是否存在资源间泄漏,资源大小是否符合标准等信息 |
startMemory | 是否开启内存监控息 (Bool,True为开启) |
startWwise | 是否开启wwise监控,只对音效使用wwise有效 (Bool,True为开启)/**** 没装wwise插件的不要开启这个功能 ****/ |
startStack | 是否开启堆栈监控,每隔1000帧自动采取堆栈信息 (Bool,True为开启) |
compress | 是否压缩报告文件 (该功能暂时无效) |
internet | 是否上传到外网服务器 (Bool,True为上传到外网服务器) |
注:由于额外功能较为消耗性能,建议startResource、startMemory、startWwise、startStack均设为false,这样仅会获取FPS等基础数据。
/** 启动深度性能监控 **/
uBoxInterface.StartRecord(AppKey, version, startProfiler, startCapture, startNetwork, startRecource, accountStr)
参数 | 说明 |
---|---|
AppKey | 项目Key,通过官网注册即可获取项目Key (String) |
version | 项目当前版本号 (String) |
startProfiler | 是否开启Profiler监控,Profile可能监控到,CPU、内存、渲染、函数调用堆栈等信息 (Bool,True为开启) |
startCapture | 是否开启截图监控 (Bool,True为开启) |
startNetwork | 是否开启流量监控 (Bool,True为开启) |
startResource | 是否开启资源监控,资源可监控是否存在资源间泄漏,资源大小是否符合标准等信息 (Bool,True为开启) |
accountStr | 账号邮箱字符串,通过账号筛选当前账号的所有报告,不能为空串 (如果没有该账号邮箱,则传任意非空字符串即可) |
5、配置AndroidManifest.xml文件
在AndroidManifest.xml
文件中添加SDK所需的权限等配置。代码示例如下:
<application ......>
<!-- android:name="com.kingsoft.ubox.JuBoxActivity" 必需 -->
<android:name="com.kingsoft.ubox.JuBoxActivity">
</application>
<!-- SDK版本,必须最小为14,必需 -->
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
<!-- 权限配置,必需 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_LOGS" />
如果你的项目没有AndroidManifest.xml
可以直接使用
demo
文件里的AndroidManifest.xml
。
6、如果使用官网提供的uBox工具把测试数据在PC打包和上传,可调用sdk提供的接口,支持文件上传到运行uBox工具的机器上。(可选)
调用uBox.dll
中的uBoxInterface.SetUploadIP (string ip, int port)
注意:此接口需在启动监控前调用,且调用之后,报告将会上传到内网服务器
7、编译时,勾选“开发编译”选项。
上传数据
1、成功集成后,试一下在手机上跑几次测试。开始测试时点击启动监控,结束测试时点击停止监控。停止监控时,数据会自动上传到服务器,然后你就可以在后台看到性能分析报告。
2、进入后台,点击你的项目的【uBox】按钮,查看报告列表。
3、点击其中一份报告查看详情。
uBoxtool工具使用说明
描述:测试过程产生的测试数据文件大,为了避免网络不稳定情况造成上传失败或时间太久的情况,可使用uBoxtool将测试数据从手机传到PC进行压缩后再上传到服务器。
1、在游戏项目中接入sdk的SetUploadIP
接口,并在游戏内提供可以输入IP和端口的输入框。
2、官网下载uBoxtool工具。
3、在电脑启动uBoxtool工具。
4、在游戏中输入运行uBoxtool的电脑的IP和端口(uBoxtool界面上会显示电脑的IP和端口)。
5、点击uBoxtool的开始按钮,然后在手机启动监控后开始测试
6、完成测试后点击停止调试,数据将会在PC上压缩并上传到服务器。(停止调试时确保手机和PC在同一个局域网)