This module is a plugin for Capacitor since version 4. You can use @bugfender/capacitor in Ionic projects for iOS, Android, web and electron platforms.
init(options: SDKOptions) => Promise<void>
forceSendOnce() => void
getDeviceURL() => Promise<string>
Returns: Promise<string>
getSessionURL() => Promise<string>
Returns: Promise<string>
getUserFeedback(options?: UserFeedbackOptions | undefined) => Promise<UserFeedbackResult>
Returns: Promise<UserFeedbackResult>
log(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
|---|
obj | unknown |
objs | unknown[] |
log(msg: string, ...subst: unknown[]) => void
| Param | Type |
|---|
msg | string |
subst | unknown[] |
warn(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
|---|
obj | unknown |
objs | unknown[] |
warn(msg: string, ...subst: unknown[]) => void
| Param | Type |
|---|
msg | string |
subst | unknown[] |
error(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
|---|
obj | unknown |
objs | unknown[] |
error(msg: string, ...subst: unknown[]) => void
| Param | Type |
|---|
msg | string |
subst | unknown[] |
trace(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
|---|
obj | unknown |
objs | unknown[] |
trace(msg: string, ...subst: unknown[]) => void
| Param | Type |
|---|
msg | string |
subst | unknown[] |
info(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
|---|
obj | unknown |
objs | unknown[] |
info(msg: string, ...subst: unknown[]) => void
| Param | Type |
|---|
msg | string |
subst | unknown[] |
fatal(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
|---|
obj | unknown |
objs | unknown[] |
fatal(msg: string, ...subst: unknown[]) => void
| Param | Type |
|---|
msg | string |
subst | unknown[] |
removeDeviceKey(key: string) => void
sendLog(log: LogEntry) => void
sendIssue(title: string, text: string) => Promise<string>
| Param | Type |
|---|
title | string |
text | string |
Returns: Promise<string>
sendCrash(title: string, text: string) => Promise<string>
| Param | Type |
|---|
title | string |
text | string |
Returns: Promise<string>
sendUserFeedback(title: string, text: string) => Promise<string>
| Param | Type |
|---|
title | string |
text | string |
Returns: Promise<string>
setDeviceKey(key: string, value: DeviceKeyValue) => void
setForceEnabled(state: boolean) => void
setSDKType(sdkType: string, version: number) => void
| Param | Type |
|---|
sdkType | string |
version | number |
setNetworkLoggingEnabled(enabled: boolean) => void
Enable or disable network logging (default: false).
setNetworkLoggingCaptureBodies(capture: boolean) => void
Full mode: capture request/response bodies (default: false).
setNetworkLoggingCaptureErrorResponseBodies(capture: boolean) => void
Error-only body mode: capture response body only for HTTP status >= 400 (default: false).
setNetworkLoggingRequestObfuscationHandler(handler: ((url: string, headers: Record<string, string>, body: string | null) => { url: string; headers: Record<string, string>; body: string | null; }) | null) => void
Request obfuscation — (url, headers, body) => { url, headers, body }.
| Param | Type |
|---|
handler | ((url: string, headers: Record<string, string>, body: string | null) => { url: string; headers: Record<string, string>; body: string | null; }) | null |
setNetworkLoggingResponseObfuscationHandler(handler: ((headers: Record<string, string>, body: string | null) => { headers: Record<string, string>; body: string | null; }) | null) => void
Response obfuscation — (headers, body) => { headers, body }.
| Param | Type |
|---|
handler | ((headers: Record<string, string>, body: string | null) => { headers: Record<string, string>; body: string | null; }) | null |
setNetworkLoggingURLFilter(allowlist: string[] | null, denylist: string[] | null) => void
URL filtering: allowlist / denylist. Null = no filter.
| Param | Type |
|---|
allowlist | string[] | null |
denylist | string[] | null |
setNetworkLoggingMaxRequestsPerMinute(count: number | null) => void
Rate limit. Null = no limit.
| Param | Type |
|---|
count | number | null |
| Prop | Type | Description |
|---|
appKey | string | The app key to log into |
apiURL | string | Base URL to Bugfender API |
build | string | App build identifier |
baseURL | string | Base URL to Bugfender web dashboard |
debug | boolean | Set SDK in debug mode |
deviceName | string | Device name, this will be shown on the dashboard devices list. Defaults to browser + OS. |
overrideConsoleMethods | boolean | Override default window.console so it also logs to Bugfender. Defaults to true. |
printToConsole | boolean | Print also with window.console when Bugfender logging methods are called. Defaults to true. |
logBrowserEvents | boolean | Register a handler for most common browser events to report them to Bugfender. Defaults to true. |
logUIEvents | boolean | Register a handler for most common UI events to report them to Bugfender. Defaults to true. |
registerErrorHandler | boolean | Register error handler for uncaught errors that reports a crash to Bugfender. Defaults to true. |
ignoreException | ExceptionFilter | Configure exception filtering to ignore certain exceptions from being reported as crashes. Can be: - A function: (info) => info.message.includes('Script error') - An array of patterns: ['Script error', /^ResizeObserver/i] - An object with both: { filter: (info) => ..., patterns: [...] } |
version | string | App version identifier |
networkLoggingEnabled | boolean | Enable network request/response capture. Defaults to false. Web/JS: requires init before use. |
networkLoggingCaptureBodies | boolean | When network logging is enabled, capture request/response bodies (full mode). Defaults to false. |
networkLoggingCaptureErrorResponseBodies | boolean | Capture only error response bodies for HTTP status >= 400 (without full body capture). Defaults to false. |
maximumLocalStorageSize | number | Set the maximum size to store local log files in bytes. Range accepted is from 1MB to 50MB. Defaults to 5MB. iOS & Android only. |
enableLogcatLogging | boolean | Logs all logs written via Logcat. Defaults to false. Android only. |
Information about an exception that can be used to determine if it should be ignored
| Prop | Type | Description |
|---|
message | string | The error message |
error | Error | The error object, if available |
stack | string | The stack trace, if available |
filename | string | The filename/URL where the error occurred |
line | number | The line number where the error occurred |
handler | string | The type of handler that caught the error (e.g., 'Error', 'UnhandledRejection') |
| Prop | Type |
|---|
name | string |
message | string |
stack | string |
| Prop | Type | Description |
|---|
source | string | Returns a copy of the text of the regular expression pattern. Read-only. The regExp argument is a Regular expression object. It can be a variable name or a literal. |
global | boolean | Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. |
ignoreCase | boolean | Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. |
multiline | boolean | Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. |
lastIndex | number | |
| Method | Signature | Description |
|---|
| exec | (string: string) => RegExpExecArray | null | Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search. |
| test | (string: string) => boolean | Returns a Boolean value that indicates whether or not a pattern exists in a searched string. |
| compile | () => this | |
| Prop | Type |
|---|
index | number |
input | string |
| Prop | Type | Description |
|---|
isSent | true | The user has sent the feedback. |
feedbackURL | string | Bugfender URL for the feedback. |
| Prop | Type | Description |
|---|
isSent | false | The user has closed the modal without sending it. |
Options object for Bugfender.getUserFeedback with customised modal strings.
| Prop | Type | Description |
|---|
title | string | Default: Feedback. |
hint | string | Default: Please insert your feedback here and click send. |
subjectPlaceholder | string | Default: Subject…. |
feedbackPlaceholder | string | Default: Your feedback…. |
submitLabel | string | Default: Send. |
closeLabel | string | Default: Close. iOS only. |
Log Entry object interface
| Prop | Type | Description |
|---|
line | number | The line number where the log was triggered from |
level | LogLevel | The log's level based on LogLevel constant |
tag | string | The log's tag |
method | string | The method name where the log was triggered from |
file | string | The file name where the log was triggered from |
text | string | unknown[] | Text can be either: - string with the content - unknown[] array compatible with console.* signature |
url | string | The log's origin URL. This attribute is ignored on Android & iOS |
Configuration for ignoring exceptions.
Can be:
- A function that receives exception info and returns boolean
- An array of patterns (strings or RegExp) to match against the error message
- A combination of both (function and patterns)
ExceptionFilterFunction | ExceptionPattern[] | { /** Function to determine if exception should be ignored / filter?: ExceptionFilterFunction; /* Patterns to match against error message */ patterns?: ExceptionPattern[]; }
A function that determines whether an exception should be ignored.
Return true to ignore the exception, false to report it.
(info: ExceptionInfo): boolean
A pattern that can be used to match exception messages.
Can be a string (exact or substring match) or a RegExp.
string | RegExp
UserFeedbackResultSuccess | UserFeedbackResultCancel
string | number | boolean
Construct a type with a set of properties K of type T
{
[P in K]: T;
}
| Members | Value |
|---|
Debug | 0 |
Warning | 1 |
Error | 2 |
Trace | 3 |
Info | 4 |
Fatal | 5 |