前言
wrs-bugly是腾讯Bugly官方插件
功能
- APP检查应用版本升级
- 运营统计
- 异常上报,bug奔溃闪退日志
原生插件通用使用流程
HBuildX集成原生插件请参考:https://www.jianshu.com/p/1418c9e73eb3 或官网https://nativesupport.dcloud.net.cn/NativePlugin/use/use
wrs-bugly插件
使用步骤:
腾讯Bugly官网申请应用
- 到腾讯Bugly官网创建android、iOS应用,记录下应用的App ID
初始化插件
在App.vue应用启动时初始化插件,appId替换成腾讯Bugly官网创建的应用App ID.
var bugly = uni.requireNativePlugin("wrs-bugly");
export default {
onLaunch: function() {
console.log('App Launch')
var options = {};
switch (uni.getSystemInfoSync().platform) {
case 'android':
options.appId = 'a2452039c6';
// options.strategy = {
// "channel": "小米",
// "version": "1.0.1",
// "packageName": "com.wrs.project"
// };
// options.autoCheckUpgrade = true;
// options.autoDownloadOnWifi = true;
// options.autoDownloadOn4g = false;
break;
case 'ios':
options.appId = '277da62019';
break;
default:
break;
}
bugly.init(options);
},
strategy参数用于渠道打包,一般业务都用不上strategy参数
channel: 渠道包
version: 版本号
packageName: 包名
其他常用参数:
autoCheckUpgrade: 是否自动检查升级
autoDownloadOnWifi: wifi网络是否自动下载新包
autoDownloadOn4g: 4G网络是否自动下载新包
API功能
检查更新(只支持Android)
用于在APP设置页“检查更新”按钮功能
bugly.checkUpgrade();
获取本地已有升级策略(只支持Android)
获取本地已经下载的更新包,用于“检查更新”按钮旁边是否显示红点
bugly.getUpgradeInfo((resp) => {
var infoStr = JSON.stringify(resp);
console.log("getUpgradeInfo:" + infoStr);
});
设置用户ID
设置用户ID 您可能会希望能精确定位到某个用户的异常,我们提供了用户ID记录接口。 例:网游用户登录后,通过该接口记录用户ID,在页面上可以精确定位到每个用户发生Crash的情况
var options = {};
options.userId = "1024222221xxxs";
bugly.setUserId(options);
主动上报异常
主动上报开发者Catch的异常 您可能会关注某些重要异常的Catch情况。我们提供了上报这类异常的接口。 例:统计某个重要的数据库读写问题比例。
var options = {};
options.name = "EmpytException"; // 异常名称
options.reason = "value is null"; // 异常原因
options.userInfo = {}; // 用户数据
bugly.postCatchedException(options);
自定义标签
自定义标签,用于标明App的某个“场景”。在发生Crash时会显示该Crash所在的“场景”,以最后设置的标签为准,标签id需大于0。例:当用户进入界面A时,打上9527的标签
var options = {};
options.userSceneTag = 1024;
bugly.setUserSceneTag(options);
设置自定义Map参数
自定义Map参数可以保存发生Crash时的一些自定义的环境信息。在发生Crash时会随着异常信息一起上报并在页面展示。
最多可以有9对自定义的key-value(超过则添加失败);
key限长50字节,value限长200字节,过长截断;
key必须匹配正则:[a-zA-Z[0-9]]+
var options = {};
options.userData = {
"account": "123456",
"age": 24,
"sex": "男"
};
bugly.putUserData(options);
自定义日志功能
自定义日志功能 我们提供了自定义Log的接口,用于记录一些开发者关心的调试日志,可以更全面地反应App异常时的前后文环境。使用方式与android.util.Log一致。用户传入TAG和日志内容。该日志将在Logcat输出,并在发生异常时上报。
var options = {};
options.tag = "index.nvue";
options.log = "登录";
bugly.log(options);
组件文档:https://www.jianshu.com/p/545786e91f43 <br />