Notifications
Raising Notifications
To raise a notification on the user's desktop, you first need to create a Notification
instance and then call the raise()
method on it:
// create notification instance
Notification alert = io.notifications()
.create("Example", notification -> notification.title("New Trade"));
// raise the notification
alert.raise(NotificationSeverity.LOW);
Notification Click
When raising a notification, you can specify what happens when the user clicks on the notification. By default, this will show the built-in notification details view, but you can replace that with invoking an Interop method.
In the following example, clicking on the notification will invoke the DetailsHandler
Interop method:
io.notifications()
.create("Example", notification -> notification.details("DetailsHandler"));
Actions
Notifications may contain actions (usually displayed as buttons in the UI) that the user can execute when they see the notification. Executing an action results in invoking an Interop method. This Interop method can be registered by the publisher of the notification or any other app that can handle the action. The handler of the Interop action can also receive arguments, specified by the publisher of the notification.
In the following example, we add actions Call Client and Open Portfolio, passing an id
argument to both actions:
io.interop().register("CallClient", (arg, caller) -> Collections.emptyMap());
io.interop().register("OpenPortfolio", (arg, caller) -> Collections.emptyMap());
io.notifications()
.create("Example", notification -> notification
.action("CallClient", "Call Client", Collections.singletonMap("id", 42))
.action("OpenPortfolio", "Open Portfolio", Collections.singletonMap("id", 42)));