Unity+Bugly 实现bug收集以及分析

发表于2018-08-07
评论1 5.5k浏览
Bugly可以为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。下面给大家介绍的是在用Unity引擎做开发时,借助Bugly工具去收集出现的BUG以及出现的原因分析,这样可以方便大家去维护。

1:登陆Bugly官网,注册账号并“新建产品”,可以获取到一个“APP ID”,之后有用。

2:下载插件:https://bugly.qq.com/v2/downloads,并导入项目中,注意插件中并未包含IOS的相关插件。
将:BuglyBridge/ios/BuglyBridge 文件夹拖到项目Plugins/IOS中,BuglySDK/IOS/Bugly.framework拖到项目assest目录中。

3:Unity中添加Bugly初始化代码:初始代码就这么简单,简单的添加一些测试代码
 private void initBugly()
    {
        BuglyAgent.ConfigDebugMode(true);
#if UNITY_IPHONE||UNITY_IOS
        BuglyAgent.InitWithAppId("你的APPID");
#elif UNITY_ANDROID
        BuglyAgent.InitWithAppId("你的APPID");
#endif
        BuglyAgent.EnableExceptionHandler();
    }
private void OnGUI()
    {
        if(GUI.Button(new Rect(100,100,100,50),"数组超范围")){
            byte[] byteArr = new byte[20];
            byteArr[21] = 0x11;
        }
        if(GUI.Button(new Rect(100,200,100,50),"Null")){
            GameObject obj = null;
            obj.transform.SetParent(this.transform);
        }
    }

4:打包Xcode工程:

添加相关依赖包:
  • libz.dylib - 用于对上报数据进行压缩
  • Security.framework - 用于存储keychain
  • SystemConfiguration.framework - 用于读取异常发生时的系统信息
  • JavaScriptCore.framework - 设置为Optional
  • libc++.dylib - libc++库依赖

5:填坑

(1)Not found class 'Bugly',解决方法:删除并重新添加Bugly.framework依赖就可以
[BuglyAgent] <Debug> -  : Enable the log message print to console
2018-06-06 15:45:56.908010+0800 gps[5156:2416485] <Error> BuglyAgentV2: Not found class 'Bugly'
[BuglyAgent] <Debug> -  : Initialized with app id: e8429856ea
[BuglyAgent] <Debug> -  : Register the log callback in Unity 5.6.4f1
[BuglyAgent] <Debug> -  : BuglyAgent has already been initialized.
Setting up 1 worker threads for Enlighten.
Thread -> id: 16ed8f000 -> priority: 1

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引