腾讯Bugly插件 您所在的位置:网站首页 uniapp原生插件参数异常 腾讯Bugly插件

腾讯Bugly插件

2023-09-15 08:47| 来源: 网络整理| 查看: 265

更新记录 1.0.6(2022-08-08)

Android最低版19

1.0.5(2022-05-25)

升级Android bugly SDK至最新版

查看更多 平台兼容性 Android Android CPU类型 iOS 适用版本区间:4.4 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 14 原生插件通用使用流程: 购买插件,选择该插件绑定的项目。 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。 开发完毕后正式云打包

付费原生插件目前不支持离线打包。 Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择

前言

wrs-bugly是腾讯Bugly插件

功能 APP检查应用版本升级 运营统计 主动上报异常,bug奔溃闪退日志 设置用户ID、用户标签 自定义日志功能 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; } options.style = "bannerNoTitle"; // default: 默认样式,bugly后台如果设置了banner图片无法显示 banner:图标样式,bugly后台如果设置了banner图片可以正常显示 bannerNoTitle:没有标题的banner样式 simple:简约样式 custom:自定义样式 bugly.init(options); }

strategy参数用于渠道打包,一般业务都用不上strategy参数 channel: 渠道包 version: 版本号 packageName: 包名

其他常用参数: autoCheckUpgrade: 是否自动检查升级 autoDownloadOnWifi: wifi网络是否自动下载新包 autoDownloadOn4g: 4G网络是否自动下载新包 style: default: 默认样式,bugly后台如果设置了banner图片无法显示 banner:图标样式,bugly后台如果设置了banner图片可以正常显示 bannerNoTitle:没有标题的banner样式 simple:简约样式 custom:自定义样式

API功能 检查更新 Android 用于在APP设置页“检查更新”按钮功能 在腾讯bugly平台(https://beta.bugly.qq.com/apps/a2452039c6/allupdate)[https://beta.bugly.qq.com/apps/a2452039c6/allupdate]上发布包版本新包后调用调用该接口 switch (uni.getSystemInfoSync().platform) { case 'android': bugly.checkUpgrade(); break; case 'ios': var params = {}; params.zone = "cn"; // 区号,中国地区 params.appleID = "1589572126"; // 开发者商店应用详情页,App 信息 -》 综合信息 -》Apple ID params.showLoading = true; bugly.checkUpgrade(params); break; default: break; } 获取本地已有升级策略(只支持Android)

获取本地已经下载的更新包,用于“检查更新”按钮旁边是否显示红点

switch (uni.getSystemInfoSync().platform) { case 'android': // 获取本地已有升级策略 bugly.getUpgradeInfo((resp) => { var infoStr = JSON.stringify(resp); console.log("getUpgradeInfo:" + infoStr); }); break; case 'ios': // 商店的版本信息 var params = {}; params.zone = "cn"; // 区号,中国地区 params.appleID = "1589572126"; // 开发者商店应用详情页,App 信息 -》 综合信息 -》Apple ID params.showLoading = true; bugly.getUpgradeInfo(params, (resp) => { var infoStr = JSON.stringify(resp); console.log("getUpgradeInfo:" + infoStr); }); break; default: break; } 设置用户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); 完整代码: 检查更新 获取新版app的版本信息(Android获取的是本地已有升级策略,iOS获取的是商店新版信息) 点击按钮APP奔溃 自定义标签 设置自定义Map参数 设置用户ID 主动上报异常 自定义日志功能 var bugly = uni.requireNativePlugin("wrs-bugly"); export default { data() { return { version: "value" } }, methods:{ checkUpgrade: function(){ switch (uni.getSystemInfoSync().platform) { case 'android': bugly.checkUpgrade(); break; case 'ios': var params = {}; params.zone = "cn"; // 区号,中国地区 params.appleID = "1589572126"; // 开发者商店应用详情页,App 信息 -》 综合信息 -》Apple ID params.showLoading = true; bugly.checkUpgrade(params); break; default: break; } }, getUpgradeInfo: function() { switch (uni.getSystemInfoSync().platform) { case 'android': // 获取本地已有升级策略 bugly.getUpgradeInfo((resp) => { var infoStr = JSON.stringify(resp); console.log("getUpgradeInfo:" + infoStr); }); break; case 'ios': // 商店的版本信息 var params = {}; params.zone = "cn"; // 区号,中国地区 params.appleID = "1589572126"; // 开发者商店应用详情页,App 信息 -》 综合信息 -》Apple ID params.showLoading = true; bugly.getUpgradeInfo(params, (resp) => { var infoStr = JSON.stringify(resp); console.log("getUpgradeInfo:" + infoStr); }); break; default: break; } }, custom: function(){ // uni.navigateTo({ // url: './custom' // }); }, testCrash: function(){ bugly.testCrash(); }, setUserSceneTag: function(){ // 自定义标签,用于标明App的某个“场景”。在发生Crash时会显示该Crash所在的“场景”,以最后设置的标签为准,标签id需大于0。例:当用户进入界面A时,打上9527的标签 var options = {}; options.userSceneTag = 1024; bugly.setUserSceneTag(options); }, putUserData: function(){ // 自定义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); }, setUserId: function(){ // 设置用户ID 您可能会希望能精确定位到某个用户的异常,我们提供了用户ID记录接口。 例:网游用户登录后,通过该接口记录用户ID,在页面上可以精确定位到每个用户发生Crash的情况 var options = {}; options.userId = "1024222221xxxs"; bugly.setUserId(options); }, postCatchedException: function(){ // 主动上报开发者Catch的异常 您可能会关注某些重要异常的Catch情况。我们提供了上报这类异常的接口。 例:统计某个重要的数据库读写问题比例。 var options = {}; options.name = "EmpytException"; // 异常名称 options.reason = "value is null"; // 异常原因 options.userInfo = {}; // 用户数据 bugly.postCatchedException(options); }, log: function(){ // 自定义日志功能 我们提供了自定义Log的接口,用于记录一些开发者关心的调试日志,可以更全面地反应App异常时的前后文环境。使用方式与android.util.Log一致。用户传入TAG和日志内容。该日志将在Logcat输出,并在发生异常时上报。 var options = {}; options.tag = "index.nvue"; options.log = "登录"; bugly.log(options); }, languageSetting:function(){ // 暂未实现 // var bugly1 = uni.requireNativePlugin("wrs-bugly"); // var params = {}; // params.languageEntity = { // strToastYourAreTheLatestVersion:"你已经是最新版了", // strToastCheckUpgradeError:"检查新版本失败,请稍后重试", // strToastCheckingUpgrade:"正在检查,请稍候...", // strNotificationDownloading:"正在下载", // strNotificationClickToView:"点击查看", // strNotificationClickToInstall:"点击安装", // strNotificationClickToRetry:"" // }; // bugly.setLanguageEntity(params); } } } .btn { margin-top: 25rpt; }

支持定制 QQ:252797991

如果觉得可以就点个👍吧,欢迎粉丝收藏,土豪打赏,您的关注就是我们创作的动力!


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有