flutter_bugfender 2.2.0 copy "flutter_bugfender: ^2.2.0" to clipboard
flutter_bugfender: ^2.2.0 copied to clipboard

Flutter plugin to enable Bugfender reporting (iOS, Android and web support).

flutter_bugfender #

A Bugfender Wrapper plugin (implementing native code) for Flutter Projects.

Note: This plugin was provided by the community, hence it is published "AS IS", our support might not always be able to help you.

Using the package #

Edit pubspec.yaml and add add flutter_bugfender to dependencies:

dependencies:
  flutter:
    sdk: flutter
  flutter_bugfender: ^2.2.0

Then run flutter pub get (or ‘Packages Get’ in IntelliJ) to download the package.

Edit lib/main.dart and add an import:

import 'package:flutter_bugfender/flutter_bugfender.dart';

And wrap your runApp statement like this:

void main() {
  FlutterBugfender.handleUncaughtErrors(() async {
    await FlutterBugfender.init("YOUR_APP_KEY",
        enableCrashReporting: true, // these are optional, but recommended
        enableUIEventLogging: true,
        enableAndroidLogcatLogging: true);
    FlutterBugfender.log("hello world!");
    runApp(new MyApp());
  });
}

There are other init options:

  • apiUri and baseUri: alternative URLs for on-premises installations
  • maximumLocalStorageSize: maximum size the local log cache will use, in bytes
  • printToConsole: whether to print to console or not
  • enableUIEventLogging: enable automatic logging of user interactions for native elements.
  • enableCrashReporting: enable automatic crash reporting for native crashes. To report Dart exceptions see this.
  • enableAndroidLogcatLogging: enable automatic logging of logcat (Android only)
  • overrideDeviceName: specify a name for the device (deprecated, prefer FlutterBugfender.setDeviceString() instead)
  • version: app version identifier (Web specific)
  • build: app build identifier (Web specific)

You can also call:

FlutterBugfender.log("Working fine!");
FlutterBugfender.fatal("Fatal sent!");
FlutterBugfender.error("Error sent!");
FlutterBugfender.warn("Warning sent!");
FlutterBugfender.info("Info sent!");
FlutterBugfender.debug("Debug sent!");
FlutterBugfender.trace("Trace sent!");
FlutterBugfender.sendLog(
 line: 42,
 method: "someMethod()",
 file:"someFile",
 level: LogLevel.info,
 tag: "Custom tag",
 text: "This is a custom log"
);
FlutterBugfender.setDeviceString("user.email", "example@example.com");
FlutterBugfender.setDeviceInt("user.id", 32);
FlutterBugfender.setDeviceFloat("user.pi", 3.14);
FlutterBugfender.setDeviceBool("user.enabled", true);
FlutterBugfender.removeDeviceKey("user.pi");
FlutterBugfender.sendCrash("Test Crash", "Stacktrace here!");
FlutterBugfender.sendIssue("Test Issue", "Issue value goes here!");
FlutterBugfender.sendUserFeedback("Test user feedback", "User feedback details here!");
FlutterBugfender.setForceEnabled(true);
FlutterBugfender.forceSendOnce();
FlutterBugfender.getDeviceUri());
FlutterBugfender.getSessionUri());
FlutterBugfender.getUserFeedback()); // Show a screen which asks for feedback

Report Dart and Flutter Exceptions #

If you need more control on error handling, you can replace the call to handleUncaughtErrors() with:

// Capture Flutter Error
FlutterError.onError = (FlutterErrorDetails details) async {
  FlutterError.presentError(details);
  await FlutterBugfender.sendCrash(details.exception.toString(), details.stack?.toString() ?? "");
};
// Capture Dart Exceptions 
runZonedGuarded(() {
  runApp(new MyApp());;
}, (Object error, StackTrace stack) async {
  await FlutterBugfender.sendCrash(error.toString(), stack.toString());
});

Using this package in a web project #

The plugin assumes the Bugfender JS library is already loaded. You may load it by adding the following snippet to your index.html file:

<script defer src="https://js.bugfender.com/bugfender-v2.js"></script>
23
likes
110
pub points
88%
popularity

Publisher

verified publisherbugfender.com

Flutter plugin to enable Bugfender reporting (iOS, Android and web support).

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

flutter, flutter_web_plugins, js, meta

More

Packages that depend on flutter_bugfender