notification_hub 1.0.3 copy "notification_hub: ^1.0.3" to clipboard
notification_hub: ^1.0.3 copied to clipboard

An event broadcasting mechanism designed for dispatching notifications to registered observers, inspired by the structure of the iOS Notification Center.

notification_hub #

An event broadcasting mechanism designed for dispatching notifications to registered subscribers, inspired by the structure of the iOS Notification Center.

Video demo showcasing its usage #

Video demo

Explanation #

There are three notification channels: Mammals, Insects, and Birds.

  • Widget A subscribes to the Mammals notification channel.
  • Widget B subscribes to the Insects notification channel.
  • Widget C subscribes to the Insects notification channel.
  • Widget D subscribes to both the Mammals and Birds notification channels.

When a Dog is posted, Widget A and D will receive it. When Bees are posted, Widget B and C will receive the notification. If an Owl is posted, only Widget D will receive the notification.

Getting Started #

notification_hub is available through pub.dev.

Add the Dependency #

To use notification_hub in your Flutter project, add the following dependency to your pubspec.yaml file:

dependencies:
  ...
  notification_hub: ^1.0.3

Usage example #

For a detailed usage example, check the example folder.

Subscribe Observer (Subscribe to a single notification channel) #

Create a notification channel (e.g 'Greetings'), subscribe then listen to events.

NotificationHub.instance.addSubscriber(object: this, notificationChannel: 'Greetings', 
onData: (data) {
    debugPrint("$data");
});

Here's a breakdown of each part:

addSubscriber: This method is used to subscribe an object (in this case, the current object, represented by this) to a specific notification channel. The this can also be replaced by an instance of an object.

notificationChannel: 'Greetings' Specifies the name of the notification channel to which the object is subscribing. In this case, it's 'Greetings'.

onData: This is a callback function that will be executed when new data is received on the 'Greetings' channel. The data parameter represents the data received.

Subscribe Observer (Subscribe to multiple notificaiton channels) #

NotificationHub.instance.addSubscriber(object: this, notificationChannel: 'Morning', 
onData: (data) {
    debugPrint("$data");
});
NotificationHub.instance.addSubscriber(object: this, notificationChannel: 'Afternoon', 
onData: (data) {
    debugPrint("$data");
});

Unsubscribe #

Unsubscribe by caling removeSubscriber.

Unsubscribe from All notification channels
NotificationHub.instance.removeSubscriber(object: this);

Post notification #

NotificationHub.instance.post(notificationChannel:'Greetings', data: 'Hello');
4
likes
145
points
87
downloads

Publisher

unverified uploader

Weekly Downloads

An event broadcasting mechanism designed for dispatching notifications to registered observers, inspired by the structure of the iOS Notification Center.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter

More

Packages that depend on notification_hub