Alljoyn™ Notification Framework
The AllJoyn™ Notification Framework provides a common way for devices to send and receive information intended for presentation to the user.
Notifications are broadcast to all connected devices on the AllJoyn™ network. A notification persists for a specified duration. Message content can include text, audio, image, or AllJoyn™ Control Panel objects, as well as custom-defined data.
The notification framework leverages the power of AllJoyn™ Sessionless Signals to deliver messages across the network.
Concepts and Terminology
- Producer – The device that sends the notification.
- Consumer – The device that receives the notification.
- Info – The most general and most commonly used message type.
- Warning – Can be used to draw more attention to the message.
- Emergency – To be used in the most extreme circumstances, where lack of action may result in harm to people or property.
TTL (Time to Live)
Each notification is sent with a prescribed TTL, in seconds. The notification will persist on the network (within the producer) until its TTL expires. Consumers that connect to the network after a notification is sent will receive the notification if the TTL has not expired.
One Notification per Message Type per Producer
Notifications are not queued. Only one notification of a specific message type is persisted within the producer at a time. When a new notification is sent, any existing notification with an equivalent message type is overwritten, even if its TTL has not expired.
A notification may be dismissed:
Locally – An individual consumer removes the notification from its UI. The notification remains available to other consumers on the network.
Connected – A consumer or producer sends a message to all consumers to remove the notification from their respective UIs. The notification remains on the producer and may be sent to consumers that connect before the TTL expires.
Producer – A consumer connects to the producer and requests that it stop broadcasting the notification. The notification will be removed, and new consumers will not receive it when they connect to the network.
Notification content can be provided in multiple languages. The producer provides content in every language it supports. The consumer then selects the content most appropriate for its needs.
Attributes for Audio and Image Content
Attributes provide a flexible means of supplementing the content of a notification with more than text.
Support is pre-defined for supplying icon and audio content. Either can be provided via AllJoyn™ Object Path or URL. On receiving the notification, the consumer may acquire the icon and/or prompt and present it to the user alongside the text content.
Control Panel Integration
Notifications can also direct consumers to an AllJoyn™ Control Panel object. If the consumer supports the Control Panel framework, it can present the controls to the user for immediate action in response to the notification.
A good example would involve an oven appliance that's been left on for an long time and sends a notification to warn the user. With control panel support, the consumer of this message can present the controls necessary to turn off the oven without requiring the user to find the necessary controls manually.
Message attributes are key-value pairs. They can be used for just about anything that might improve context or control for the user. An AllJoyn™ application can add any number of custom attributes to a notification. For these attributes to be useful, consumers must be aware of them. Thus, custom attributes are best suited to systems where the producer and consumer are either the same device or made by the same vendor.