2026-06-16 17:18:35 +08:00
|
|
|
# @xuqm/rn-bugcollect
|
2026-06-16 12:14:52 +08:00
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
JS 错误、业务日志、API 异常和漏斗采集模块。它依赖 `@xuqm/rn-common` 获取远程配置和当前会话,不提供独立初始化或登录入口。
|
2026-06-16 12:14:52 +08:00
|
|
|
|
|
|
|
|
## 安装
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-07-17 13:50:30 +08:00
|
|
|
pnpm add @xuqm/rn-common @xuqm/rn-bugcollect \
|
|
|
|
|
@react-native-async-storage/async-storage
|
2026-06-16 12:14:52 +08:00
|
|
|
```
|
|
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
## 使用
|
2026-06-16 12:14:52 +08:00
|
|
|
|
|
|
|
|
```ts
|
2026-06-16 17:18:35 +08:00
|
|
|
import { BugCollect } from '@xuqm/rn-bugcollect'
|
2026-06-16 12:14:52 +08:00
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
BugCollect.setEnvironment(__DEV__ ? 'development' : 'production')
|
2026-06-16 17:18:35 +08:00
|
|
|
BugCollect.event('page_view', { page: 'home' })
|
2026-06-16 12:14:52 +08:00
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
try {
|
|
|
|
|
// business
|
|
|
|
|
} catch (error) {
|
|
|
|
|
BugCollect.captureError(error)
|
|
|
|
|
}
|
2026-06-16 12:14:52 +08:00
|
|
|
```
|
|
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
初始化只由 common 自动完成,登录只由 `XuqmSDK.login()` 完成。配置中启用 bugcollect 后,SDK 在共享初始化完成时自动执行一次 `startCapture()`;手工调用仍然幂等,但正常集成不需要调用。`BugCollect.flush()` 可在 App 转入后台前主动刷新队列。
|
2026-06-18 15:34:48 +08:00
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
错误指纹使用 common 的统一 SHA-256 实现,事件里的 SDK 版本直接读取当前发布包版本,不再维护第二份硬编码版本号。
|
2026-06-16 12:14:52 +08:00
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
SourceMap 上传使用独立打包后处理流程;不要再叠加基于 Metro `customSerializer` 的旧插件方案,以免破坏新版 Metro 的 exports 与序列化流程。
|