pulse_sdk_flutter 0.0.8 copy "pulse_sdk_flutter: ^0.0.8" to clipboard
pulse_sdk_flutter: ^0.0.8 copied to clipboard

Pulse is a bug reporting and in-app feedback tool that allows developers to collect detailed user feedback and crash reports to improve their mobile apps. We offer a free tier for non-commerical usage [...]

Pulse is a bug reporting and in-app feedback tool that allows developers to collect detailed user feedback and crash reports to improve their mobile apps. We offer a free tier for non-commerical usage, with paid plans starting at $50 per month, with pricing varying based on features and usage.

Register your backend #

Send an email to pulse.analytics.uae AT gmail dot com to receive a configuration template that needs to be deployed on our backend server. We support sending defect reports to JIRA, Slack, Azure Devops, Amazon S3. Custom development can be provided if your system is not listed here. Your data is never stored, we only use our backend to safely proxy the report backs to your system of choice.

Instrumenting your code #

Add the following imports to your app :

    import 'package:pulse_sdk_flutter/pulse.dart';
    import 'package:flutter_localizations/flutter_localizations.dart';
    import 'package:pulse_sdk_flutter/l10n/app_localizations.dart';

Add this to the startup code of your Flutter application :

    pulse = Pulse("client_id","client_secret");
    await pulse.init();

And at some point pass your BuildContext through to the package :

    pulse.setContext(context); 

Be sure to initialise the localisations :

Widget build(BuildContext context) {
return MaterialApp(
    localizationsDelegates: const [
        AppLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
    ],
    supportedLocales: AppLocalizations.supportedLocales,
    title: 'Flutter Demo',

Customizing the Theme #

The Pulse SDK supports comprehensive theme customization to match your app's design system. You can customize colors, text styles, icons, dialog appearance, and more.

Quick Start #

Create a PulseTheme instance and pass it to the Pulse constructor:

import 'package:pulse_sdk_flutter/pulse.dart';

final customTheme = PulseTheme(
  dialogBorderRadius: 20.0,
  dialogBackgroundColor: Colors.white,
  primaryColor: Colors.blue,
  titleTextColor: Colors.blue,
  contentTextColor: Colors.black87,
  dialogContentPadding: EdgeInsets.all(16.0),
  titleTextStyle: TextStyle(
    fontSize: 20,
    fontWeight: FontWeight.bold,
  ),
  iconSize: 28.0,
  defectIconColor: Colors.orange,
  suggestionIconColor: Colors.green,
);

final pulse = Pulse(
  "your-client-id",
  "your-client-secret",
  theme: customTheme,
);

Available Theme Properties #

You can customize the following properties:

Dialog Appearance:

  • dialogBorderRadius - Border radius for all dialogs (default: 10.0)
  • dialogBackgroundColor - Background color for dialogs
  • dialogContentPadding - Padding for dialog content (default: EdgeInsets.all(8.0))
  • dialogBlurSigmaX / dialogBlurSigmaY - Blur effects for dialog backdrop
  • dialogBarrierColor - Overlay color behind dialogs

Colors:

  • primaryColor - Primary color for icons and accents
  • titleTextColor - Text color for dialog titles
  • contentTextColor - Text color for dialog content
  • errorIconColor - Color for error icons
  • defectIconColor - Color for defect/bug report icons
  • suggestionIconColor - Color for suggestion/improvement icons
  • categoryIconColor - Color for category selection icons

Text Styles:

  • titleTextStyle - Text style for dialog titles
  • contentTextStyle - Text style for dialog content
  • buttonTextStyle - Text style for buttons

Icons:

  • iconSize - Size for all icons in dialogs

Example: Dark Theme #

final darkTheme = PulseTheme(
  dialogBorderRadius: 12.0,
  dialogBackgroundColor: Color(0xFF2C2C2C),
  primaryColor: Color(0xFF64B5F6),
  titleTextColor: Colors.white,
  contentTextColor: Color(0xFFE0E0E0),
  dialogContentPadding: EdgeInsets.all(20.0),
  titleTextStyle: TextStyle(
    fontSize: 22,
    fontWeight: FontWeight.bold,
    color: Colors.white,
  ),
  contentTextStyle: TextStyle(
    fontSize: 16,
    color: Color(0xFFE0E0E0),
  ),
  iconSize: 32.0,
  errorIconColor: Color(0xFFEF5350),
  defectIconColor: Color(0xFFFF9800),
  suggestionIconColor: Color(0xFF66BB6A),
);

final pulse = Pulse(
  "client-id",
  "client-secret",
  theme: darkTheme,
);

Using Default Theme #

If you don't specify a theme, the SDK will use the default Material Design theme:

final pulse = Pulse(
  "client-id",
  "client-secret",
  // No theme parameter - uses default theme
);

Modifying Existing Themes #

You can create variations using the copyWith method:

final baseTheme = PulseTheme(
  dialogBorderRadius: 16.0,
  primaryColor: Colors.blue,
);

final modifiedTheme = baseTheme.copyWith(
  primaryColor: Colors.green,
  titleTextColor: Colors.green,
);

For more detailed examples and a complete reference of all theme properties, see THEMING.md and the themed example app.

0
likes
0
points
77
downloads

Publisher

verified publisherfractional.ltd

Weekly Downloads

Pulse is a bug reporting and in-app feedback tool that allows developers to collect detailed user feedback and crash reports to improve their mobile apps. We offer a free tier for non-commerical usage, with paid plans starting at **$50 per month**, with pricing varying based on features and usage.

Homepage

License

unknown (license)

Dependencies

archive, device_info_plus, dio, flutter, flutter_localizations, flutter_survey, http, intl, path_provider, path_provider_foundation, screenshot_ntv, shake_gesture, universal_io, uuid

More

Packages that depend on pulse_sdk_flutter