Search packages, repositories and app categories

easy_notifications cover
Package detailsv1.2.6

easy_notifications

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

AndroidiOSWeb
30-day downloads
118
Likes
51
Pub points
130

Install package

flutter pub add easy_notifications

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Easy Notifications is a Flutter plugin designed to simplify the implementation of local notifications across Android, iOS, and Web platforms. It emphasizes security and privacy, offering robust protection for notification data. With rich customization options, developers can tailor notification appearance and behavior to suit their app’s needs. The package ensures reliable delivery and management of notifications while maintaining cross-platform consistency. Ideal for apps requiring timely user engagement through secure, privacy-conscious alerts.

Use cases

  • Sending time-based reminders
  • Displaying real-time updates
  • User engagement via push-like alerts
  • Automated task notifications
  • Personalized alert scheduling

Key features

  • Enhanced security and privacy
  • Cross-platform support (Android, iOS, Web)
  • Rich customization options
  • Secure notification data handling
  • Reliable local notification delivery

Suitable for

  • Apps needing secure local alerts
  • Developers prioritizing user privacy
  • Projects with cross-platform requirements
  • Notification-heavy applications
  • Teams seeking easy integration

Considerations

  • Requires platform-specific setup for full functionality
  • Web support may have limited features compared to mobile
  • Permissions must be handled manually on some platforms
  • Not suitable for remote or server-driven notifications
  • Limited advanced scheduling beyond basic time triggers

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

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"/>

This plugin depends on flutter_local_notifications, which requires Android core library desugaring. Add this to your app's android/app/build.gradle.kts:

android {
  //...
  compileOptions {
    isCoreLibraryDesugaringEnabled = true
  }
}

dependencies {
  coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4")
}

(build.gradle instead of build.gradle.kts? See the Android docs for the Groovy syntax.)

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.6
  • Removed inaccurate return-value docs on hide(), updateMessage(), and scheduleMessage()
  • Documented the Android core library desugaring setup required by flutter_local_notifications
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.

Categories

Dependencies

Dependency list 11 items

Source repository

Projects using this package

No data available yet.