notification_master 0.0.4 copy "notification_master: ^0.0.4" to clipboard
notification_master: ^0.0.4 copied to clipboard

A multi-platform Flutter notification plugin with custom channels, background polling, and foreground service support.

Notification Master #

A comprehensive Flutter plugin for managing notifications across all platforms with advanced features including HTTP polling, custom channels, and platform-specific optimizations.

Platform Support #

Platform Support Features
Android ✅ Full Local notifications, custom channels, importance levels, auto-cancel, custom icons, HTTP polling
iOS ✅ Full Local notifications, custom sounds, badges, HTTP polling, rich notifications
macOS ✅ Full Native notifications, custom sounds, badges, HTTP polling
Windows ✅ Full Toast notifications, custom actions, HTTP polling
Web ✅ Full Browser notifications, permission handling, HTTP polling
Linux ✅ Full Desktop notifications, custom icons, HTTP polling

Installation #

Add this plugin to your project's pubspec.yaml file:

dependencies:
  notification_master: ^0.0.4

Then run:

flutter pub get

Android Setup #

To use this plugin, you need to add the following permissions to your android/app/src/main/AndroidManifest.xml file manually. This gives you full control over which permissions your app requests.

Open android/app/src/main/AndroidManifest.xml and add these lines inside the <manifest> tag:

<!-- Internet permission for HTTP notifications -->
<uses-permission android:name="android.permission.INTERNET" />

<!-- For Android 13+ (API level 33+) -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

<!-- For foreground service -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />

<!-- For restarting notification service after device reboot -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

Note: The plugin automatically handles android:enableOnBackInvokedCallback="true" configuration, so you don't need to add that manually.

<activity
           android:name=".MainActivity"
           android:exported="true"
           android:launchMode="singleTop"
           android:taskAffinity=""
           android:theme="@style/LaunchTheme"
   ***     android:enableOnBackInvokedCallback="true"
           android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
           android:hardwareAccelerated="true"
           android:windowSoftInputMode="adjustResize">

iOS Setup #

For iOS-specific setup instructions, see IOS_README.md.

Quick Start #

import 'package:notification_master/notification_master.dart';

// Create an instance of the plugin
final notificationMaster = NotificationMaster();

// Check if notification permission is granted
final hasPermission = await notificationMaster.checkNotificationPermission();

// Request notification permission (required for Android 13+)
if (!hasPermission) {
  final granted = await notificationMaster.requestNotificationPermission();
  if (!granted) {
    // Permission denied, show a message to the user
    print('Notification permission denied');
    return;
  }
}

Basic Usage Examples #

Simple Notifications #

// Display a simple notification
await notificationMaster.showNotification(
  title: 'Simple Notification',
  message: 'This is a simple notification',
);

// Display a notification with custom ID
await notificationMaster.showNotification(
  id: 123,
  title: 'Custom ID Notification',
  message: 'This notification has a custom ID',
);

// Display a notification with high importance (Android)
await notificationMaster.showNotification(
  title: 'Important Notification',
  message: 'This is a high importance notification',
  importance: NotificationImportance.high,
);

// Display a notification that does not auto-cancel on tap
await notificationMaster.showNotification(
  title: 'Persistent Notification',
  message: 'This notification does not auto-cancel on tap',
  autoCancel: false,
);

// Display a notification that opens a specific screen when tapped
await notificationMaster.showNotification(
  title: 'Navigation Notification',
  message: 'Tap to open the settings screen',
  payload: 'settings_screen',
);
6
likes
160
points
8
downloads

Publisher

verified publisherswanflutterdev.com

Weekly Downloads

A multi-platform Flutter notification plugin with custom channels, background polling, and foreground service support.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, flutter_web_plugins, plugin_platform_interface, web

More

Packages that depend on notification_master

Packages that implement notification_master