H5小游戏 活跃维护

sentry-miniapp

lizhiyao/sentry-miniapp

Cross-platform Sentry SDK for WeChat Mini Programs, WeChat & Douyin Mini Games, Taro and uni-app — error monitoring, performance monitoring and Source Maps | 微信小程序、微信小游戏、抖音小游戏等多端项目的异常监控、性能分析与源码定位

690
Stars 标星
145
Forks 分支
3
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
16.1 MB
仓库大小
1 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:lizhiyao/sentry-miniapp
git clone https://github.com/lizhiyao/sentry-miniapp.git
git clone git@github.com:lizhiyao/sentry-miniapp.git
README.md master

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

Sentry Miniapp SDK — 小程序监控 SDK

简体中文 | English

为小程序与小游戏接入 Sentry,结合设备、操作和请求记录排查线上异常;按需开启性能采样,分析请求与业务操作的耗时。

支持微信、支付宝、字节跳动、百度、QQ、钉钉、快手小程序,以及微信和抖音小游戏,适用于原生、Taro 和 uni-app 项目。

快速开始 · 完整文档 · 示例工程


✨ 核心能力与适用场景

你遇到的问题 接入后可以做什么
用户反馈线上报错,本地却难以复现 在 Sentry 集中查看异常,结合设备、页面、操作和请求记录还原出错经过
错误堆栈只有压缩文件和行号,找不到业务源码 上传对应构建的 Source Map 后,定位到原始源码位置并查看代码上下文
登录、支付或页面操作变慢,不知道卡在哪一步 开启性能采样后查看请求与业务步骤的耗时;配置链路追踪后关联已接入 Sentry 的后端操作
业务失败没有抛异常,缺少可查询的排查记录 主动记录独立业务日志和指标,查询关键步骤、统计失败次数或耗时分布
用户在弱网环境出错,监控请求也发送失败 将符合策略的数据暂存到有容量上限的本地队列,网络恢复后尝试补发
必须等用户同意隐私协议后才能发送监控数据 配置同意门禁,在同意前暂停 Sentry 网络发送,同意后尝试补发缓冲数据
微信 / 抖音小游戏也需要监控异常和卡顿 将小游戏异常与会话接入同一套 Sentry 监控,按需开启帧率与卡顿统计

自动采集范围取决于平台能力;React / Vue 组件错误需要接入框架错误处理,小游戏帧率监控需要主动开启。按项目类型查看 Taro、uni-app、小游戏指南或平台支持范围。


接入要求

本文与当前官网面向 2.x 正式版。已有 1.x 项目升级,或自建后台暂时无法升级时,先看版本选择与迁移说明。

使用 Sentry 官方云服务,或 26.4.2 及以上的自建 Sentry。更旧的自建后台不在 2.x 支持范围内;只收到错误事件不能证明其它监控能力兼容。

🚀 5 分钟跑通

接入前确认:

  • 已确认 Sentry 后台满足接入要求,创建好项目并复制该项目的 DSN。
  • 小程序后台已把 Sentry 上报域名加入 request 合法域名。
  • 宿主具备基础 JavaScript 能力;标准方法补齐和可选观测的降级边界见运行时兼容说明。

安装:

npm install sentry-miniapp

原生微信项目还需在开发者工具中执行「工具 → 构建 npm」;目录要求见快速接入。Taro / uni-app 由框架构建处理依赖。

不使用 npm 时,可从 GitHub Releases 下载对应版本的 sentry-miniapp.umd.js,放入项目的 lib/ 目录,将下方导入改为 const Sentry = require('./lib/sentry-miniapp.umd.js');。调试源码仓库中的微信示例时,运行 yarn build:miniapp 生成示例依赖。

在入口文件(app.js / app.ts)最顶部、App() 之前初始化:

const Sentry = require('sentry-miniapp');

Sentry.init({
  dsn: 'YOUR_DSN', // 复制 Sentry 项目中的完整 DSN
  release: 'my-project@1.0.0', // 与上传 Source Map 时的 release 一致
  environment: 'production',
});

App({ onLaunch() {} });

验证是否打通:

Sentry.captureException(new Error('sentry test'));

然后到 Sentry 的 Issues 列表查看事件。

确认错误上报后,再按项目流量配置 tracesSampleRate 开启性能监控,见性能与链路追踪。最小接入配置不启动性能采样。

没看到事件时,优先确认 DSN、合法域名、初始化位置和采样配置;完整排查清单见 文档站 · 快速接入 与 FAQ。

🤖 AI Coding Agent 辅助接入

在自己的小程序 / 小游戏项目中安装接入 skill:

npx --yes degit lizhiyao/sentry-miniapp/.agents/skills/sentry-miniapp-sdk .agents/skills/sentry-miniapp-sdk

然后让 Agent「使用 sentry-miniapp-sdk skill,识别平台和框架,完成初始化并给出验证步骤」。未自动发现时,让它读取 .agents/skills/sentry-miniapp-sdk/SKILL.md;使用方法见 skill 指南。


🧭 下一步看哪里

已经跑通基础上报后,按你下一步要做的事进入对应文档:

我想做什么 看这里
按原生小程序完整接一遍 快速接入
在 Taro / uni-app 项目中接入,并处理组件错误 Taro / uni-app
接入微信 / 抖音小游戏和性能监控 小游戏接入与性能
为错误补充用户、操作和业务日志 异常、日志与上下文
排查慢请求或关联后端链路 性能与链路追踪
配置弱网补发或用户同意后发送 可靠上报与隐私同意
查公开方法和完整初始化参数 常用 API / 配置项参考
上传 Source Map 或排查 Debug ID、微信合并文件 上线指南 / 进阶排障
确认各平台、小程序 / 小游戏能力差异 支持范围
关心主包体积 主包体积优化
看可运行示例 示例工程
排查没有事件、自动捕获、追踪或隐私同意问题 常见问题
查看版本历史与每次发布内容 GitHub Releases
参与开发或贡献 架构文档 / 开发指南 / 贡献指南

实验性微信页面回放

想查看出错前的界面变化,可按需启用微信页面回放。它录制选定页面的采样布局、文字变化与点击;构建工具为支持的节点和静态组件生成标记。需要 sentry-miniapp 2.1.0 或更新版本,并按指南安装回放集成、生成页面标记;目前仅适用于微信普通 WebView 小程序。

Taro 4/webpack5 和 uni-app Vue 3/Vite 项目使用 2.2.0 或更新版本,配置一次构建插件后,正常构建和开发时会自动生成标记,无需逐页修改模板。

源码示例也提供本地录制与播放:导出录制后在 PC 浏览器查看,不使用 Sentry 云服务额度。


💬 联系与交流

如果是接入问题或线上排查,建议优先在 GitHub 提出来,方便把排查结论沉淀为可搜索的答案:

  • Bug / 没有数据 / Source Map 不还原:提交 Issue,请附 SDK 版本、目标平台、复现步骤、关键配置和 Sentry.getDiagnostics() 输出。
  • 功能建议 / 监控方案讨论:发起 Discussion,说明业务场景、目标平台和期望行为。

分享配置和日志前,请移除 Auth Token、AppSecret 和用户隐私数据。

想实时交流小程序 / 小游戏监控方案,可以加入微信群。由于微信群二维码有 7 天时效,请添加作者微信(备注 sentry-miniapp),由作者邀请入群:

本站来源与版权声明
  • 本文标题:sentry-miniapp - Cross-platform Sentry SDK
  • 本文链接:https://cn121.com/h5game/lizhiyao-sentry-miniapp.html
  • 原项目:lizhiyao/sentry-miniapp 版权归原作者 lizhiyao 及贡献者所有
  • 收录信息:本站于 2026-10-17 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 lizhiyao/sentry-miniapp。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。