Windows notification
A library for sending notifications on Windows using Flutter
Features
- Sending notifications by ready-made templates of the plugin
- Send notifications by user-created templates
- Receive notification events sent
- Delete all notifications sent by you from Windows Action Center
- Delete notifications group sent by you from Windows Action Center
- Add deep link to notification
Usage
Send notification with plugin template
Sending notifications through the plugin's own templates, there are currently 3 template available in the plugin.
import 'package:windows_notification/notification_message.dart';
import 'package:windows_notification/windows_notification.dart';
// Create an instance of Windows Notification with your application name
// application id must be null in packaged mode
final _winNotifyPlugin = WindowsNotification(applicationId: "r"{D65231B0-B2F1-4857-A4CE-A8E7C6EA7D27}\WindowsPowerShell\v1.0\powershell.exe"");
// create new NotificationMessage instance with id, title, body, and images
NotificationMessage message = NotificationMessage.fromPluginTemplate(
"test1",
"TEXT",
"TEXT",
largeImage: file_path,
image: file_path
);
// show notification
_winNotifyPlugin.showNotificationPluginTemplate(message);
Notification with imge and large image
Notification with imge
notification without any image
Send notification with custom template
You can use the template made by you to send the notification You can find a lot of templates code with a simple search on the Internet
Several examples of these templates
const String template = '''
<toast activationType="protocol">
<visual>
<binding template="ToastGeneric">
<text>Weather app</text>
<text>Expect rain today.</text>
<group>
<subgroup hint-weight="1" hint-textStacking="center">
<text hint-align="center" hint-style="header">15°</text>
<text hint-align="center" hint-style="SubtitleSubtle">Rainy</text>
</subgroup>
<subgroup hint-weight="1">
<text hint-align="center">Mon</text>
<image src=".\image.jpg" hint-removeMargin="true" />
<text hint-align="center">15°</text>
</subgroup>
<subgroup hint-weight="1">
<text hint-align="center">Tue</text>
<image src=".\image.jpg" hint-removeMargin="true" />
<text hint-align="center">17°</text>
</subgroup>
<subgroup hint-weight="1">
<text hint-align="center">Wed</text>
<image src=".\image.jpg" hint-removeMargin="true" />
<text hint-align="center">21°</text>
</subgroup>
</group>
</binding>
</visual>
</toast>
''';
NotificationMessage message =
NotificationMessage.fromCustomTemplate("notificationid_1", group: "weather_group");
_winNotifyPlugin.showNotificationCustomTemplate(message, template);
An image of the notification related to the above code
const String template = '''
<?xml version="1.0" encoding="utf-8"?>
<toast launch="callLaunchArg" scenario="incomingCall" activationType="protocol">
<visual>
<binding template="ToastGeneric">
<text>ASGHAR CALL</text>
<text>Incoming Call</text>
<group>
<subgroup hint-weight="1" hint-textStacking="center">
<text hint-align="center" hint-style="Header">GHASEM</text>
<image src=".\image.jpg" hint-crop="circle" hint-align="center" />
</subgroup>
</group>
</binding>
</visual>
<actions>
<action content="Text reply" imageUri="" activationType="protocol" arguments="callReply" />
<action content="Ignore" imageUri="" activationType="protocol" arguments="callIgnore" />
<action content="Answer" imageUri="" activationType="protocol" arguments="callAnswer" />
</actions>
</toast>
''';
NotificationMessage message =
NotificationMessage.fromCustomTemplate("notificationid_1", group: "weather_group");
_winNotifyPlugin.showNotificationCustomTemplate(message, template);
An image of the notification related to the above code
Delete all notifications sent by you from Windows Action Center
_winNotifyPlugin.clearNotificationHistory();
Delete notifications group sent by you from Windows Action Center
When creating an instance of NotificationMessage , it is possible to add group to the notification
_winNotifyPlugin.removeNotificationGroup("groupname");
Delete single notification with id and group
When creating an instance of NotificationMessage , it is possible to add group and ID to the notification
_winNotifyPlugin.removeNotificationId("notificationid", "groupname");
Events and argruments
To receive your notification events, you must use the initNotificationCallBack
method
_winNotifyPlugin.initNotificationCallBack(
(NotificationMessage data, EventType eventType, String? arguments) {});
Launch option
The Launch option allows you to embed your app's deep leak into the notification, and the target user will be redirected to the relevant page by tapping on the notification.
NotificationMessage message = NotificationMessage.fromPluginTemplate(
"test1", "You Win", "Tap to receive a gift",
launch: "my-app-schame://page1");
_winNotifyPlugin.showNotificationPluginTemplate(message);
Feature requests and bugs
Please file feature requests and bugs at the issue tracker. If you want to contribute to this library, please submit a Pull Request.