easy_notifications 1.2.5 copy "easy_notifications: ^1.2.5" to clipboard
easy_notifications: ^1.2.5 copied to clipboard

A Flutter plugin for handling local notifications with enhanced security and privacy features. Supports Android, iOS and Web platforms with rich customization options.

Easy Notifications #

Easy Notifications Logo

Pub Version License: MIT Platform Support Flutter Support Pub Points Support me

A secure and privacy-focused Flutter plugin for handling local notifications with enhanced features and SOC 2 compliance considerations. Supports Android, iOS, Web platforms.

Features #

  • 🔒 Secure handling of notification data
  • 🎯 Precise scheduling with timezone support
  • 🖼️ Rich media notifications (images, custom styles)
  • 📱 Cross-platform support (Android, iOS, Web)
  • 🔐 Granular permission controls
  • 📋 Action buttons support
  • ⏰ Exact timing with background wake-up support
  • 🛡️ Privacy-first approach
  • 🎨 Highly customizable appearance (NotificationStyle)
  • 🔧 Advanced configuration (NotificationSettings)
  • 🔄 JSON serialization support

Getting Started #

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  easy_notifications: ^1.2.5

Platform Setup #

Android

Add the following permissions to your AndroidManifest.xml:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

iOS

Add the following keys to your Info.plist:

<key>UIBackgroundModes</key>
<array>
    <string>fetch</string>
    <string>remote-notification</string>
</array>

Web

To enable web notifications, you need to add the following script to your index.html file:

<script>
  if ('Notification' in window) {
    Notification.requestPermission().then(permission => {
      if (permission === 'granted') {
        console.log('Notification permission granted.');
      }
    });
  }
</script>

Basic Usage #

// Initialize the plugin
await EasyNotifications.init();

// Show a simple notification
await EasyNotifications.show(
  title: 'Hello!',
  body: 'This is a notification',
);

// Show notification with image and custom style
await EasyNotifications.show(
  title: 'Styled Notification',
  body: 'With custom appearance',
  style: NotificationStyle(
    backgroundColor: '#FFFFFF',
    titleColor: '#000000',
    padding: const EdgeInsets.all(16),
  ),
);

// Schedule a notification
await EasyNotifications.schedule(
  title: 'Reminder',
  body: 'Time for your meeting!',
  scheduledDate: DateTime.now().add(Duration(hours: 1)),
);

Usage #

EasyNotifications.showMessage(
  title: 'New Message',
  body: 'You have a new notification',
  id: 1001, // Optional custom ID
);

Notifications Preview #

Preview

Recent Updates #

1.2.5 #

  • Fixed web notifications registration
  • Added proper error handling for web platform

1.2.4 #

  • Added back NotificationLevel class for backwards compatibility

1.2.3 #

  • Fixed platform support documentation
  • Removed unsupported platforms from pubspec.yaml

Security & Privacy #

Data Handling #

  • 🔐 All sensitive data encrypted at rest
  • 🗑️ Automatic cleanup of temporary files
  • 📁 Secure local storage practices

Compliance #

  • SOC 2 Type II compliant architecture
  • GDPR-ready data processing
  • CCPA privacy controls

Contributing #

We welcome contributions! Please see our contributing guide.

License #

MIT License - see LICENSE for details.

46
likes
140
points
164
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for handling local notifications with enhanced security and privacy features. Supports Android, iOS and Web platforms with rich customization options.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#notifications #scheduling #security #local-notifications #cross-platform

Documentation

API reference

License

MIT (license)

Dependencies

crypto, device_info_plus, flutter, flutter_local_notifications, flutter_web_plugins, http, json_annotation, path, path_provider, permission_handler, plugin_platform_interface, shared_preferences, timezone

More

Packages that depend on easy_notifications