@bugfender/capacitor

中文文档
5.0.0发布于 2026/07/27MITTypeScriptESM + CJS零依赖近 30 天下载 2700

用 Bugfender 远程记录

中文使用文档
文档目录39 节
  1. 安装
  2. 使用量
  3. 网络记录
  4. API 密码
  5. 因数(...)
  6. 强制发送( C)
  7. 获取DeviceurL ()
  8. 获取会议( )
  9. 获取用户Feedback(...)
  10. 日志(...)
  11. 日志(...)
  12. 警告(...)
  13. 警告(...)
  14. 错误(...)
  15. 错误(...)
  16. 跟踪(...)
  17. 跟踪(...)
  18. 信息(...)
  19. 信息(...)
  20. 致命(...)
  21. 致命(...)
  22. 删除DeviceKey(...)
  23. 发送日志(...)
  24. 发送 Issue (...)
  25. 发送崩溃(...)
  26. 发送用户Feed back(...)
  27. 设置DeviceKey(...)
  28. 已生效(...)
  29. 设置SDKType(...)
  30. 设置网络日志Enabled(...)
  31. 设置网络记录
  32. 设置网络记录
  33. 设置网络日志请求ObfuscationHandler(...)
  34. 设置NetworkLogging ResponseObfuscationHandler(...)
  35. 设置网络LoggingURLFilter(...)
  36. 设置NetworkLoggingMax 请求 PerMinte (.)
  37. 接口
  38. 类型异名
  39. 数字

@ bugfender/ 电容器

远程记录、崩溃报告和应用程序中的用户反馈 臭虫师 财务报告和审定财务报表 电容。 。 。 .

此模块是自第4版起Capacitor的插件. 你用得着 @bugfender/capacitor 在iOS,Android,网络和电子平台的Ionic项目中.

安装

npm install @bugfender/capacitor @bugfender/sdk @bugfender/common
npx cap sync

使用量

像这样导入臭虫 :

import { Bugfender } from '@bugfender/capacitor';

说明: 总是导入 @bugfender/capacitor 改为 @bugfender/sdk。 。 。 . 这将使SDK的原生特征成为你无法得到的.

网络记录

网络记录为 选入 并默认禁用。 启用时, HTTP 请求会作为日志在 Bugfender 中显示 bf_network。 。 。 .

Bugfender.setNetworkLoggingEnabled(true);
// Optional:
Bugfender.setNetworkLoggingCaptureBodies(false);
Bugfender.setNetworkLoggingCaptureErrorResponseBodies(true);
Bugfender.setNetworkLoggingURLFilter(
  ['https://api.example.com/*'],
  ['*/secrets/*']
);
Bugfender.setNetworkLoggingMaxRequestsPerMinute(60);

// Optional: redact sensitive headers/bodies before they are logged
Bugfender.setNetworkLoggingRequestObfuscationHandler((url, headers, body) => ({
  url,
  headers: { ...headers, authorization: '[REDACTED]' },
  body,
}));
Bugfender.setNetworkLoggingResponseObfuscationHandler((headers, body) => ({
  headers,
  body: body ? body.replace(/"token":"[^"]*"/g, '"token":"[REDACTED]"') : null,
}));

您也可以启用它的时间与 networkLoggingEnabled, (中文(简体) ), networkLoggingCaptureBodies,以及 networkLoggingCaptureErrorResponseBodies。 。 。 .

平台注释:

  • iOS: (英语) URL会话流量被捕获(在使用URL会话时包括电容HTTP). 需要臭虫 iOS SDK 3.0.1+ (单位:千美元)。 。 。 .
  • 机器人: OkHttp的交通通过 android-okhttp 适配器. 需要臭虫Android SDK 4.x (中文(简体) ). 注:电容已内置 CapacitorHttp 用途 HttpURLConnection 和Android和现在 没有 已观察到; apps 应使用 OKHttp( 或示例) sendInstrumentedNetworkRequest 帮助)用于网络日志.
  • 网络/ 电子 : 用途 @bugfender/sdk (≥ 4.0.0),拦截 fetch 财务报告和审定财务报表 XMLHttpRequest。 。 。 .

API 密码

请检查以下 URL 以获取完整的 API 引用 : https://js.bugfender.com (中文(简体) )。 。 。 .

因数(...)

init(options: SDKOptions) => Promise<void>
参数类型
optionsSDKOptions

强制发送( C)

forceSendOnce() => void

获取DeviceurL ()

getDeviceURL() => Promise<string>

回返情况: Promise<string>


获取会议( )

getSessionURL() => Promise<string>

回返情况: Promise<string>


获取用户Feedback(...)

getUserFeedback(options?: UserFeedbackOptions | undefined) => Promise<UserFeedbackResult>
参数类型
optionsUserFeedbackOptions

回返情况: Promise<UserFeedbackResult>


日志(...)

log(obj: unknown, ...objs: unknown[]) => void
参数类型
objunknown
objsunknown[]

日志(...)

log(msg: string, ...subst: unknown[]) => void
参数类型
msgstring
substunknown[]

警告(...)

warn(obj: unknown, ...objs: unknown[]) => void
参数类型
objunknown
objsunknown[]

警告(...)

warn(msg: string, ...subst: unknown[]) => void
参数类型
msgstring
substunknown[]

错误(...)

error(obj: unknown, ...objs: unknown[]) => void
参数类型
objunknown
objsunknown[]

错误(...)

error(msg: string, ...subst: unknown[]) => void
参数类型
msgstring
substunknown[]

跟踪(...)

trace(obj: unknown, ...objs: unknown[]) => void
参数类型
objunknown
objsunknown[]

跟踪(...)

trace(msg: string, ...subst: unknown[]) => void
参数类型
msgstring
substunknown[]

信息(...)

info(obj: unknown, ...objs: unknown[]) => void
参数类型
objunknown
objsunknown[]

信息(...)

info(msg: string, ...subst: unknown[]) => void
参数类型
msgstring
substunknown[]

致命(...)

fatal(obj: unknown, ...objs: unknown[]) => void
参数类型
objunknown
objsunknown[]

致命(...)

fatal(msg: string, ...subst: unknown[]) => void
参数类型
msgstring
substunknown[]

删除DeviceKey(...)

removeDeviceKey(key: string) => void
参数类型
keystring

发送日志(...)

sendLog(log: LogEntry) => void
参数类型
logLogEntry

发送 Issue (...)

sendIssue(title: string, text: string) => Promise<string>
参数类型
titlestring
textstring

回返情况: Promise<string>


发送崩溃(...)

sendCrash(title: string, text: string) => Promise<string>
参数类型
titlestring
textstring

回返情况: Promise<string>


发送用户Feed back(...)

sendUserFeedback(title: string, text: string) => Promise<string>
参数类型
titlestring
textstring

回返情况: Promise<string>


设置DeviceKey(...)

setDeviceKey(key: string, value: DeviceKeyValue) => void
参数类型
keystring
valueDeviceKeyValue

已生效(...)

setForceEnabled(state: boolean) => void
参数类型
stateboolean

设置SDKType(...)

setSDKType(sdkType: string, version: number) => void
参数类型
sdkTypestring
versionnumber

设置网络日志Enabled(...)

setNetworkLoggingEnabled(enabled: boolean) => void

启用或禁用网络记录( 默认: 假) .

参数类型
enabledboolean

设置网络记录

setNetworkLoggingCaptureBodies(capture: boolean) => void

全模式:抓取请求/应答机构(默认:假).

参数类型
captureboolean

设置网络记录

setNetworkLoggingCaptureErrorResponseBodies(capture: boolean) => void

错误-只有正文模式:只为HTTP状态QQ 400(默认:假)捕获响应正文.

参数类型
captureboolean

设置网络日志请求ObfuscationHandler(...)

setNetworkLoggingRequestObfuscationHandler(handler: ((url: string, headers: Record<string, string>, body: string | null) => { url: string; headers: Record<string, string>; body: string | null; }) | null) => void

请求混淆—— (url, headers, body) { url, headers, body}.

参数类型
handler((url: string, headers: Record<string, string>, body: string | null) => { url: string; headers: Record<string, string>; body: string | null; }) | null

设置NetworkLogging ResponseObfuscationHandler(...)

setNetworkLoggingResponseObfuscationHandler(handler: ((headers: Record<string, string>, body: string | null) => { headers: Record<string, string>; body: string | null; }) | null) => void

反应歧义——(头,身) {{头,身}.

参数类型
handler((headers: Record<string, string>, body: string | null) => { headers: Record<string, string>; body: string | null; }) | null

设置网络LoggingURLFilter(...)

setNetworkLoggingURLFilter(allowlist: string[] | null, denylist: string[] | null) => void

URL过滤:允许列表/拒绝列表. null = 无过滤器.

参数类型
allowliststring[] | null
denyliststring[] | null

设置NetworkLoggingMax 请求 PerMinte (.)

setNetworkLoggingMaxRequestsPerMinute(count: number | null) => void

利率限制。 Null=无限制.

参数类型
countnumber | null

接口

SDK 选项

Prop类型说明
appKeystring登录的应用密钥
apiURLstring基准 URL 到 Bugfender API
buildstring应用程序构建标识符
baseURLstring基准 URL 到 Bugfender 网络仪表板
debugboolean将 SDK 设置为调试模式
deviceNamestring设备名称, 这将显示在仪表盘设备列表中 。 默认为浏览器 + OS .
overrideConsoleMethodsboolean覆盖默认 window.console 因此,它也登录到 Bugfender。 默认为 true。 。 。 .
printToConsoleboolean打印也带有 window.console 当调用 Bugfender 记录方法时。 默认为 true。 。 。 .
logBrowserEventsboolean注册最常见浏览器事件的处理器,向 Bugfender 报告. 默认为 true。 。 。 .
logUIEventsboolean注册一个处理器来处理最常见的 UI 事件, 向 Bugfender 报告 。 默认为 true。 。 。 .
registerErrorHandlerboolean注册未发现错误处理器, 向 Bugfender 报告崩溃 。 默认为 true。 。 。 .
ignoreExceptionExceptionFilter配置例外过滤器, 以忽略某些被报告为崩溃的例外 。 - 函数: (info) =&gt; info.message.includes('Script error') - 一系列图案: ['Script error', /^ResizeObserver/i] - 两者兼有的物体: { filter: (info) =&gt; ..., patterns: [...] }
versionstringApp 版本标识符
networkLoggingEnabledboolean启用网络请求/ 响应抓取 。 默认为 false。 。 。 . 网络/联合系统: 使用前需要输入.
networkLoggingCaptureBodiesboolean当启用网络记录时,捕获请求/响应机构(完整模式). 默认为 false。 。 。 .
networkLoggingCaptureErrorResponseBodiesboolean仅抓取HTTP状态QQ 400的出错反应机构(不抓取完整身体). 默认为 false。 。 。 .
maximumLocalStorageSizenumber设定最大大小以字节存储本地日志文件 。 接受的范围为1MB至50MB. 默认为5MB. 仅使用 iOS & Android。 。 。 .
enableLogcatLoggingboolean通过 Logcat 记录所有日志 。 默认为 false。 。 。 . 只有机器人。 。 。 .

除外信息

用于确定是否应忽略的例外的信息

Prop类型说明
messagestring错误消息
errorError错误对象( 如果可用)
stackstring堆栈追踪, 如果有的话
filenamestring错误发生地的文件名/ URL
linenumber错误发生地的行号
handlerstring发生错误的处理器类型( 例如 )错误',"无所取回"

错误

Prop类型
namestring
messagestring
stackstring

正则Exp

Prop类型说明
sourcestring返回正则表达式模式的文本副本。 唯相读取. regExp 参数是一个正则表达式对象. 可以是可变名或字形.
globalboolean返回一个布尔值,表示带有正则表达式的全球旗帜(g)的状态。 默认是虚假的。 唯相读取.
ignoreCaseboolean返回一个布尔值,表示带有正则表达式的被忽略的Case旗(一)的状态。 默认是虚假的。 唯相读取.
multilineboolean返回一个布尔值,表示使用正则表达式的多行旗 (m) 状态。 默认是虚假的。 唯相读取.
lastIndexnumber
方法签署说明
执行(字符串:字符串) Reg ExpExec 阵列 无效使用正则表达式模式执行对字符串的搜索,并返回包含搜索结果的数组.
测试(字符串:字符串)返回一个布尔值,表示搜索字符串中是否存在一个图案.
编译(这个)

Reg ExpExec 阵列

Prop类型
indexnumber
inputstring

用户Fedback Result 成功

Prop类型说明
isSenttrue用户已发送反馈.
feedbackURLstring反馈的臭虫 URL .

用户Feedback 结果取消

Prop类型说明
isSentfalse用户已关闭模式而不发送 .

用户Feedback 选项

选项对象 Bugfender.getUserFeedback 带有自定义模式字符串.

Prop类型说明
titlestring默认 : Feedback。 。 。 .
hintstring默认 : Please insert your feedback here and click send。 。 。 .
subjectPlaceholderstring默认 : Subject…。 。 。 .
feedbackPlaceholderstring默认 : Your feedback…。 。 。 .
submitLabelstring默认 : Send。 。 。 .
closeLabelstring默认 : Close。 。 。 . 仅iOS。 。 。 .

日志条目

日志条目对象接口

Prop类型说明
linenumber触发日志的行号
levelLogLevel基于 日志级别 常数
tagstring日志的标签
methodstring触发日志的方法名称
filestring日志所触发的文件名
textstring | unknown[]文字可以是: - string 内容 unknown[] 符合 console.* 签名
urlstring日志的来源 URL. Android & iOS 上忽略了这个属性

类型异名

例外过滤器

忽略例外的配置 . 可能会是:

  • 接收例外信息并返回布尔函数
  • 一系列图案(字符串或 正则Exp与错误消息匹配
  • 两者的结合(职能和模式)

ExceptionFilterFunction | ExceptionPattern[] | { /** Function to determine if exception should be ignored / filter?: ExceptionFilterFunction; /* Patterns to match against error message */ patterns?: ExceptionPattern[]; }

除外过滤功能

确定是否应当忽略例外的函数 . 返回时 true 无视例外, false 以报之.

(info: ExceptionInfo): boolean

例外软件

可以用来匹配例外消息的图案. 可以是字符串(精确或子字符串匹配)或 正则Exp。 。 。 .

string | RegExp

用户Feedback 结果

UserFeedbackResultSuccess | UserFeedbackResultCancel

设备KeyValue

string | number | boolean

记录

构造 T 类型 K 的一组属性类型

{ [P in K]: T; }

数字

日志级别

成员数值
Debug0
Warning1
Error2
Trace3
Info4
Fatal5

版本与发布记录

@bugfender/capacitor 共发布 14 个版本,首次发布于 2022/08/15;过去 12 个月发布了 2 个版本。

版本发布日期距今
5.0.0latest2026/07/273 个月前
4.0.02026/01/169 个月前
3.2.12025/03/071.7 年前
3.2.02025/03/061.7 年前
3.1.02024/09/192 年前
3.0.02024/07/172 年前

其他发布通道:next → 1.0.0-rc.1。

关于 @bugfender/capacitor 的常见问题

@bugfender/capacitor 是什么?

用 Bugfender 远程记录

如何安装 @bugfender/capacitor?

在项目目录运行 npm install @bugfender/capacitor,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@bugfender/common(^2.0.0)、@bugfender/sdk(^4.0.1)、@capacitor/core(^8.4.2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bugfender/capacitor 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bugfender/capacitor 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bugfender/capacitor 可以商用吗?

@bugfender/capacitor 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bugfender/capacitor 的下载量有多少?

根据 npm 官方下载统计,@bugfender/capacitor 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,700 次,日均约 90 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bugfender/capacitor 还在维护吗?

最新版本 5.0.0 发布于 2026/07/27(3 个月前);至今共发布 14 个版本,其中过去 12 个月发布了 2 个;首次发布于 2022/08/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。