Crash上报
Unity3D
概述
接入向导
查看数据
上报额外业务日志
上报额外二进制数据
上报输出日志
动态关闭bugly上报
常见问题
Android
概述
接入向导
查看数据
上报额外业务日志
上报额外二进制数据
上报输出日志
动态关闭bugly上报
常见问题
IOS
概述
接入向导
查看数据
上报额外业务日志
上报额外二进制数据
上报输出日志
动态关闭bugly上报
常见问题
其他
数据结构
系统工具
Crash上报 / IOS / 概述

概述

MSDK集成了Bugly的数据上报功能,能够将客户端crash时客户端的信息上传到服务器,供开发者查看。 能帮助开发者发现应用在线上的致命bug。

显示详情

接入向导

MSDK 3.3.30 版本开始,Bugly 以插件化形式提供,业务可按需合入。如果不需要,可按照对应路径删除即可。

插件路径

  • MSDKDemo/Library/MSDKBugly/MSDKBugly.framework

1 前置条件

1) 您已经按初始化模块说明完成 初始化
2) App 还原符号表配置 请到Bulgy平台设置还原符号表,网址为:http://bugly.qq.com/,可以参考bugly官网中符号表配置中的方式来进行配置。

2 参考Demo示例

回调设置参考 MSDKDemo/MyObserver.mm 文件的 OnCrashExtMessageNotify 方法。

接口调用参考 MSDKDemo/LoginSucceedVC.mm 文件各个方法调用 WGBuglyLog 的位置。

3 查看上报数据

请使用协作者账号登录到bugly.qq.com的网站上,选择您要查看的应用,如下图所示,查看bugly上报的数据。如果您不知道协作者账号,请企业微信联系“MSDK助手”账号。

查看bulgy数据样图

上报添加额外日志回调

1)功能描述

当程序Crash时,会有回调 OnCrashExtMessageNotify 通知游戏,此时游戏可以添加一些额外的自定义数据,随crash日志一起上报到Bugly平台,这样可以更好的定位造成crash的原因。 上报的数据可以在Bugly平台上可以在“自定义日志”->“额外数据”中找到。

2)接口声明
std::string OnCrashExtMessageNotify();
3)参数说明

4)返回值
返回值类型 说明
string crash时上报用户自定义字符串
5)示例代码
std::string MyObserver::OnCrashExtMessageNotify()
{
    return "dsafdasfsafdasdfasdf";
}
6)特殊说明

在进行native上报时,崩溃过快时无多余时间执行此回调,该回调有可能失效。如需要更有效的上报数据方法,可调用Bugly自定义日志上报接口WGBuglyLog

7)名词解释

上报Lua/C#/JS脚本错误

1)功能描述

当游戏Lua/C#/JS脚本发生异常时,可以向bugly上报这些异常信息,可以在bugly上"错误分析" ->"Lua脚本错误/C#脚本错误/JS脚本错误"标签下查看这些上报

2)接口声明
void WGReportException(eExceptionType exception_type,
                           unsigned char *exception_name,
                           unsigned char *exception_msg,
                           unsigned char *exception_stack,
                           std::vector<KVPair> &ext_info)
3)参数说明
参数名称 类型 说明
exception_type eExceptionType枚举类型 异常上报类型
exception_name unsigned char * 异常名字
exception_msg unsigned char * 异常信息
exception_stack unsigned char * 异常堆栈
ext_info vector 事件内容,一个key-value形式的vector;key最大长度64,value最大长度1024,key个数最大50,key建议使用"B1","B2"规则命名,以减少流量消耗
4)返回值

5)示例代码
std::vector<KVPair>extInfo;
KVPair item;
item.key="extInfo_Body";
item.value=std::string("wegame_extInfo_body");
eveList.push_back(item);
WGPlatform::GetInstance()->WGReportException((eExceptionType) exceptionType,
                                            "MSDK_excetipon_name",
                                            "MSDK_exception_msg",
                                            "MSDK_exception_stack_test",
                                            extInfo);
6)特殊说明

7)名词解释

Bugly自定义日志上报

1)功能描述

在某些native crash的场景下,注册给bugly的 OnCrashExtMessageNotify 事件回调函数可能无法得到执行,推荐您使用自定义日志的接口。用此接口可以在游戏运行过程中记录游戏需要的日志并缓存起来,并在发生异常时上报(上报日志最大30K)。

在bugly页面上可以在 "错误分析" -> "自定义错误" 查看上报的自定义日志。

2)接口声明
void WGBuglyLog (eBuglyLogLevel level, unsigned char* log);
3)参数说明
参数名称 参数类型 说明
level enum 详见结构体说明中eBuglyLogLevel部分
log unsigned char* 要上传(打印)的内容
4)返回值及回调说明

5)示例代码
WGPlatform::GetInstance()->WGBuglyLog(eBuglyLogLevel_I, (unsigned char*)"login qq, flag:0");
6)特殊说明

7)名词解释

动态关闭bugly上报

1 概要说明

动态关闭bugly上报。调用时会关闭崩溃上报,其他bugly功能不影响;重新启动应用后再触发的崩溃会正常上报。

2 接口调用

1)功能描述

有些场景下,应用不需要崩溃上报,如:有些应用在杀进程时触发的上报不想上报到bugly;此时可以调用该接口关闭崩溃上报,其他bugly功能不影响;重新启动应用后再触发的崩溃会正常上报。

2)接口声明
void WGCloseCrashReport();
3)参数说明

4)示例代码
WGPlatform::GetInstance()->WGCloseCrashReport();
6)特殊说明

调用该接口关闭崩溃上报后,其他bugly功能不影响;重新启动应用后再触发的崩溃会正常上报。

7)名词解释

常见问题