更新记录

1.0.0(2024-06-04)

Bugly pro专业版,监控奔溃/ANR/OOM/错误/启动/卡顿/内存


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.6.8,Android:5.0,iOS:9,HarmonyNext:不确定 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

Bugly pro专业版,监控奔溃/ANR/OOM/错误/启动/卡顿/内存

快速接入

  1. 集成插件步骤请参考https://www.cnblogs.com/wenrisheng/p/18323027
  2. 登录bugly专业版官网https://bugly.tds.qq.com/v2/index/main
  3. 在 我的产品 页,点击 创建产品,按要求填写相关信息,申请创建产品。成功创建的产品,平台为其分配了AppID及AppKey,作为该产品在平台的凭证。
  4. 开发测试阶段可以使用"iOS体验Demo"、"Android体验Demo"里的AppID及AppKey,发布上线使用创建产品的AppID和AppKey

接口


import {
    UTSBuglyPro
} from "@/uni_modules/wrs-uts-buglypro"
  • 初始化SDK,一般放到App.vue的onLaunch生命周期里 初始化了以后,崩溃是100%上报,不支持采样。除崩溃外,其他监控能力都支持采样,默认是全部关闭。

let params = {}
let appID = "a278f01047"
let appKey = "1e5ab6b3-b6fa-4f9b-a3c2-743d31dffe86"

if (isAndroid) {
    params.appID = "a278f01047"
    params.appKey = "1e5ab6b3-b6fa-4f9b-a3c2-743d31dffe86"

    params.userId = "123456"
    // params.uniqueId = "" // 【推荐设置】设置设备唯一ID,必须保证唯一性,不设置则由Bugly生成唯一ID,影响设备异常率的统计以及联网设备数的统计,建议sp保存复用; 
    params.buildNumber = plus.runtime.versionCode + "" // 【推荐设置】设置App版本的构建号,用于Java堆栈翻译关联版本,跟上传符号表的构建号参数保持一致。
    params.appVersion = plus.runtime
        .version // 【推荐设置】设置App版本号,不设置则从packageManager中读取。建议按应用的规范,主动设置,需要跟上传符号表的应用版本参数保持一致。
    params.appVersionType = "Debug" // Unknown、Debug、Gray、Release【推荐设置】设置版本类型
    // params.deviceModel = ""
    params.logLevel = 1
    params.debugMode = true
    params.enableCrashProtect = true
    params.enableAllThreadStackAnr = true
    params.enableAllThreadStackCrash = true
} else {
    params.appID = "a2031e998b"
    params.appKey = "5f58a9cf-0acc-4c0d-a020-fc8f0bacb3cc"

    params.userId = "123456"
    // params.uniqueId = "" // 【推荐设置】设置设备唯一ID,必须保证唯一性,不设置则由Bugly生成唯一ID,影响设备异常率的统计以及联网设备数的统计,建议sp保存复用; 
    params.buildNumber = plus.runtime.versionCode // 【推荐设置】设置
}

UTSBuglyPro.sdkInit(params)
  • 崩溃监控

UTSBuglyPro.testNativeCrash()
  • ANR监控

UTSBuglyPro.testANR()
  • OOM监控

if(this.isAndroid) {
    UTSBuglyPro.testOOM()
} else {
    this.showModel("ios oom已经集成,模拟暂未实现")
}
  • 错误监控

let params = {}
if(this.isAndroid) {
    params.category = 10
    params.errorType = "loginError"
    params.errorMsg = "account is error"
    params.stack = "loginStack"
    params.extraInfo = {
        name: "张三",
        age: "11"
    }
} else {
    params.category = 10
    params.name = "loginError"
    params.reason = "account is error"
    params.extraInfo = {
        name: "张三",
        age: "11"
    }
    params.terminateApp = false
}

UTSBuglyPro.testError(params)
  • 启动监控

App.vue的onLaunch里调用:


UTSBuglyPro.startSpan("AppLaunch", "")

启动进入到主页时调用:


UTSBuglyPro.endSpan("AppLaunch")
if(this.isAndroid) {
    UTSBuglyPro.reportAppFullLaunch()
}
  • 卡顿监控

let millis = 200 // 毫秒
for(let i = 0; i < 10; i ++) {
    UTSBuglyPro.testFPS(millis)
}
  • 自定义标签

let tagName = "aa"
UTSBuglyPro.addTag(tagName)
  • 自定义打点,即在启动过程中,针对启动流程,监控一些耗时任务。

let spanName = "login"
let parentSpanName = ""
UTSBuglyPro.startSpan(spanName, parentSpanName)
.....
UTSBuglyPro.endSpan(spanName)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的 Bugly Pro SDK会采集数据,详情可参考:https://bugly.tds.qq.com/v2/index/main

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问