跨平台uapp
跨平台uapp
  • 发布:2022-08-11 08:44
  • 更新:2024-11-04 16:18
  • 阅读:2599

sentry for uniapp, 支持微信 支付宝 百度 抖音等小程序,并新增快应用的支持

分类:uni-app

用于小程序平台及快应用的 Sentry SDK

功能特点

  • [x] 基于 sentry-javascript 最新的基础模块 封装
  • [x] 遵守官方统一的 API 设计文档,使用方式和官方保持一致
  • [x] 使用 TypeScript 进行编写
  • [x] 包含 Sentry SDK(如:@sentry/browser)的所有基础功能
  • [x] 支持 ES6CommonJS 两种模块系统(支持小程序原生开发方式、使用小程序框架开发方式两种开发模式下使用)
  • [x] 默认监听并上报小程序的 onError、onUnhandledRejection、onPageNotFound、onMemoryWarning 事件返回的信息(各事件支持程度与对应各小程序官方保持一致)
  • [x] 默认上报运行小程序的设备、操作系统、应用版本信息
  • [x] 支持微信小程序
  • [x] 支持微信小游戏
  • [x] 支持字节跳动小程序
  • [x] 支持支付宝小程序
  • [x] 支持钉钉小程序
  • [x] 支持百度小程序
  • [x] 支持快应用
  • [x] 支持在 Taro 等第三方小程序框架中使用
  • [x] 默认上报异常发生时的路由栈
  • [ ] 完善的代码测试

支持两种使用方式:

  • 直接引用
  • 通过 npm 方式使用(推荐)

npm 方式

注意:目前字节跳动小程序不支持 npm 方式。

  1. 安装依赖

    npm install sentry-uniapp --save  
    # 或者  
    yarn add sentry-uniapp  
  2. 使用「微信开发者工具 - 工具 - 构建 npm」进行构建,详情可参考npm 支持

  3. app.js 中引用并初始化 Sentry,根据实际需求设置上报到 Sentry 的元信息

    import * as Sentry from "sentry-uniapp";  
    
    // init Sentry  
    // init options: https://github.com/getsentry/sentry-javascript/blob/master/packages/types/src/options.ts  
    Sentry.init({  
     dsn: "__DSN__",  
     // ...  
    });  
    
    // Set user information, as well as tags and further extras  
    Sentry.configureScope((scope) => {  
     scope.setExtra("battery", 0.7);  
     scope.setTag("user_mode", "admin");  
     scope.setUser({ id: "4711" });  
     // scope.clear();  
    });  
    
    // Add a breadcrumb for future events  
    Sentry.addBreadcrumb({  
     message: "My Breadcrumb",  
     // ...  
    });  
    
    // Capture exceptions, messages or manual events  
    Sentry.captureException(new Error("Good bye"));  
    Sentry.captureMessage("Hello, world!");  
    Sentry.captureEvent({  
     message: "Manual",  
     stacktrace: [  
       // ...  
     ],  
    });  

开发

知识储备

开发前请仔细阅读下面内容:

相关命令


# 根据 package.json 中的版本号更新 SDK 源码中的版本号  
npm run version  

# 构建供小程序直接引用的 sentry-uniapp.xx.min.js;在本地可直接使用开发者工具打开 examples 下具体项目进行调试  
npm run build:dist  

# 构建用于发布到 npm 的 dist & esm 资源  
npm run build  

# 构建用于发布到 npm 的 esm 资源  
npm run build:esm  
2 关注 分享
BoredApe 1***@qq.com

要回复文章请先登录注册

wwwzzz

wwwzzz

请问能捕获到崩溃和ANR吗
2024-11-04 16:18