主体文件概要说明

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.jarJuBoxInterface类。(示例 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在同一个局域网)