{"id":19527624,"url":"https://github.com/bugfender/bugfendersdk-flutter","last_synced_at":"2025-09-12T06:33:03.100Z","repository":{"id":34069601,"uuid":"165028839","full_name":"bugfender/BugfenderSDK-Flutter","owner":"bugfender","description":"Flutter SDK for Bugfender","archived":false,"fork":false,"pushed_at":"2024-12-31T11:06:13.000Z","size":124504,"stargazers_count":9,"open_issues_count":3,"forks_count":17,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-26T11:37:25.889Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://bugfender.com","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bugfender.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-01-10T09:17:33.000Z","updated_at":"2024-12-31T11:20:51.000Z","dependencies_parsed_at":"2025-04-26T11:42:35.349Z","dependency_job_id":null,"html_url":"https://github.com/bugfender/BugfenderSDK-Flutter","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/bugfender/BugfenderSDK-Flutter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugfender%2FBugfenderSDK-Flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugfender%2FBugfenderSDK-Flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugfender%2FBugfenderSDK-Flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugfender%2FBugfenderSDK-Flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bugfender","download_url":"https://codeload.github.com/bugfender/BugfenderSDK-Flutter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugfender%2FBugfenderSDK-Flutter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274769610,"owners_count":25346209,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T01:15:47.762Z","updated_at":"2025-09-12T06:33:02.983Z","avatar_url":"https://github.com/bugfender.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flutter_bugfender\n\nA Bugfender Wrapper plugin (implementing native code) for Flutter Projects.\n\n**Note:** This plugin was provided by the community, hence it is published \"AS IS\", our support might not always be able to help you.\n\n## Using the package\n\nEdit `pubspec.yaml` and add add `flutter_bugfender` to `dependencies`:\n\n```\ndependencies:\n  flutter:\n    sdk: flutter\n  flutter_bugfender: ^3.0.0\n```\n\nThen run `flutter pub get` (or ‘Packages Get’ in IntelliJ) to download the package.\n\nEdit `lib/main.dart` and add an import:\n\n```dart\nimport 'package:flutter_bugfender/flutter_bugfender.dart';\n```\n\nAnd wrap your `runApp` statement like this:\n\n```dart\nvoid main() {\n  FlutterBugfender.handleUncaughtErrors(() async {\n    await FlutterBugfender.init(\"YOUR_APP_KEY\",\n        enableCrashReporting: true, // these are optional, but recommended\n        enableUIEventLogging: true,\n        enableAndroidLogcatLogging: true);\n    FlutterBugfender.log(\"hello world!\");\n    runApp(new MyApp());\n  });\n}\n```\n\nThere are other init options:\n* `apiUri` and `baseUri`: alternative URLs for on-premises installations\n* `maximumLocalStorageSize`: maximum size the local log cache will use, in bytes\n* `printToConsole`: whether to print to console or not\n* `enableUIEventLogging`: enable automatic logging of user interactions for native elements.\n* `enableCrashReporting`: enable automatic crash reporting for native crashes. To report Dart exceptions see [this](#report-dart-and-flutter-exceptions).\n* `enableAndroidLogcatLogging`: enable automatic logging of logcat (Android only)\n* `overrideDeviceName`: specify a name for the device (deprecated, prefer `FlutterBugfender.setDeviceString()` instead)\n* `version`: app version identifier (Web specific)\n* `build`: app build identifier (Web specific)\n\nYou can also call:\n```dart\nFlutterBugfender.log(\"Working fine!\");\nFlutterBugfender.fatal(\"Fatal sent!\");\nFlutterBugfender.error(\"Error sent!\");\nFlutterBugfender.warn(\"Warning sent!\");\nFlutterBugfender.info(\"Info sent!\");\nFlutterBugfender.debug(\"Debug sent!\");\nFlutterBugfender.trace(\"Trace sent!\");\nFlutterBugfender.sendLog(\n line: 42,\n method: \"someMethod()\",\n file:\"someFile\",\n level: LogLevel.info,\n tag: \"Custom tag\",\n text: \"This is a custom log\"\n);\nFlutterBugfender.setDeviceString(\"user.email\", \"example@example.com\");\nFlutterBugfender.setDeviceInt(\"user.id\", 32);\nFlutterBugfender.setDeviceFloat(\"user.pi\", 3.14);\nFlutterBugfender.setDeviceBool(\"user.enabled\", true);\nFlutterBugfender.removeDeviceKey(\"user.pi\");\nFlutterBugfender.sendCrash(\"Test Crash\", \"Stacktrace here!\");\nFlutterBugfender.sendIssue(\"Test Issue\", \"Issue value goes here!\");\nFlutterBugfender.sendUserFeedback(\"Test user feedback\", \"User feedback details here!\");\nFlutterBugfender.setForceEnabled(true);\nFlutterBugfender.forceSendOnce();\nFlutterBugfender.getDeviceUri());\nFlutterBugfender.getSessionUri());\nFlutterBugfender.getUserFeedback()); // Show a screen which asks for feedback\n```\n\n### Report Dart and Flutter Exceptions\nIf you need more control on error handling, you can replace the call to `handleUncaughtErrors()` with:\n````dart\n// Capture Flutter Error\nFlutterError.onError = (FlutterErrorDetails details) async {\n  FlutterError.presentError(details);\n  await FlutterBugfender.sendCrash(details.exception.toString(), details.stack?.toString() ?? \"\");\n};\n// Capture Dart Exceptions \nrunZonedGuarded(() {\n  runApp(new MyApp());;\n}, (Object error, StackTrace stack) async {\n  await FlutterBugfender.sendCrash(error.toString(), stack.toString());\n});\n````\n\n# Contributing\n## Updating the embedded web library\nThis library contains a copy of the Bugfender Web SDK, so this library to be loaded without network usage \nand with consistent behavior, at the expense that when the Web SDK changes, we must update the local copy.\n\nTo update it, type:\n\n```sh\ncurl https://js.bugfender.com/bugfender-v2.js -o assets/bugfender.js\n```\n\nThis is not necessary for iOS and Android, because CocoaPods/Gradle dependency management is integrated.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbugfender%2Fbugfendersdk-flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbugfender%2Fbugfendersdk-flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbugfender%2Fbugfendersdk-flutter/lists"}