Remote logging, crash reporting and in-app user feedback with Bugfender and Capacitor.
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.
npm install @bugfender/capacitor @bugfender/sdk @bugfender/common
npx cap sync
Import Bugfender like this:
import { Bugfender } from '@bugfender/capacitor';
Note: in an Ionic/Capacitor project, always import @bugfender/capacitor instead of @bugfender/sdk.
This will enable the native features of the SDK that you wouldn't get otherwise.
Please check the following URL for a complete API reference: https://js.bugfender.com.
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 |
| 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. |
version | string | App version identifier |
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. |
| 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 |
UserFeedbackResultSuccess | UserFeedbackResultCancel
string | number | boolean
| Members | Value |
|---|
Debug | 0 |
Warning | 1 |
Error | 2 |
Trace | 3 |
Info | 4 |
Fatal | 5 |