shake_n_report 0.0.2 copy "shake_n_report: ^0.0.2" to clipboard
shake_n_report: ^0.0.2 copied to clipboard

A Flutter plugin that enables users to report bugs by shaking their device.

Shake N Report #

A Flutter plugin that enables users to report issues by shaking their device. This plugin integrates with various management tools like Jira to streamline the bug reporting process.

Features #

  • Trigger bug report interface by shaking the device
  • Customizable shake sensitivity and threshold
  • Integration with Jira for issue management
  • Debug mode support

Platform Support #

  • iOS
  • Android

Requirements #

  • Flutter 3.22.0 or higher
  • iOS 11.0 or higher
  • Android API level 21 or higher

Installation #

Add the following dependency to your pubspec.yaml file:

dependencies:
  shake_n_report: ^latest_version

Run the following command to install the package:

flutter pub get

Setup #

1. Initialize the Plugin #

Import the package in your main.dart file:

import 'package:shake_n_report/shake_n_report.dart';

Create a GlobalKey for navigation:

GlobalKey<NavigatorState> navigatorKey = GlobalKey();

Initialize the plugin in your main() function:

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  ShakeToReportPlugin.initialize(
    // Required parameters
    navigatorKey: navigatorKey,
    managementTool: ManagementTools.jira,
    
    // Optional parameters
    shakeThreshold: 2, // Default: 2
    minShakeCount: 1,  // Default: 1
    isDebuggable: true, // Default: false
    
    // Jira specific configuration
    jiraConfig: JiraConfig(
      clientId: 'YOUR_CLIENT_ID',
      redirectUrl: 'YOUR_REDIRECT_URL',
      clientSecret: 'YOUR_CLIENT_SECRET',
    ),
  );

  runApp(const MyApp());
}

2. Wrap Your App #

Wrap your MaterialApp with the ShakeToReportWidget:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ShakeToReportWidget(
      child: MaterialApp(
        navigatorKey: navigatorKey,
        // ... rest of your app configuration
      ),
    );
  }
}

Configuration Parameters #

Required Parameters #

  • navigatorKey: GlobalKey
  • managementTool: The issue management tool to use (e.g., ManagementTools.jira)

Optional Parameters #

  • shakeThreshold: (double) Sensitivity of shake detection (default: 2.0)
  • minShakeCount: (int) Minimum number of shakes required to trigger (default: 1)
  • isDebuggable: (bool) Enable debug mode (default: false)

Jira Configuration #

When using Jira as the management tool, provide the following configuration:

  • clientId: Your Jira client ID
  • redirectUrl: The redirect URL for OAuth authentication
  • clientSecret: Your Jira client secret

(For more information on how to obtain these credentials, refer to the Jira Plugin Documentation).

Usage #

Once configured, users can trigger the bug report interface by shaking their device. The plugin will:

  1. Detect device shake based on configured sensitivity
  2. Open the bug report interface
  3. Allow users to submit issues to the configured management tool

Debug Mode #

When isDebuggable is set to true, additional debugging information will be available in the bug report interface. This is useful during development and testing.

Coming Soon #

We will add more project management tools in future releases.

Contributing #

Contributions are welcome! Please feel free to submit a Pull Request.

License #

This project is licensed under the MIT License - see the LICENSE file for details.