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: ^5.0.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!");
// Optional: capture network requests (disabled by default)
await FlutterBugfender.setNetworkLoggingEnabled(true);
await FlutterBugfender.setNetworkLoggingRequestObfuscationHandler(
(url, headers, body) {
final safeHeaders = Map<String, String>.from(headers);
if (safeHeaders.containsKey('Authorization')) {
safeHeaders['Authorization'] = '***';
}
return NetworkRequestData(url: url, headers: safeHeaders, body: body);
},
);
runApp(new MyApp());
});
}
Network logging notes:
- Web: intercepts
fetchandXMLHttpRequest. - iOS: captures
URLSessiontraffic. - Android: enable via the API above; OkHttp/Ktor apps also need the Bugfender interceptor/plugin (
android-okhttp/android-ktor). See the Android docs. - Use
setNetworkLoggingRequestObfuscationHandler/setNetworkLoggingResponseObfuscationHandlerto redact sensitive headers or bodies before they are logged.
Documentation
For information on how to use our SDK, you can check the documentation to configure your project.