notifications.NotificationOptions

This type contains all the data needed to:

Type

Values of this type are objects. They contain the properties listed below.

The first three properties - type, title, message - are mandatory in notifications.create(), but optional in notifications.update(). Firefox currently: only supports the type, title, message, and iconUrl properties; and the only supported value for type is 'basic'.

type

notifications.TemplateType. The type of notification you want. Depending on your choice here, certain other properties are either mandatory or are not permitted.

message

string. The notification's main content.

title

string. The notification's title.

iconUrl Optional

string. A URL pointing to an icon to display in the notification. The URL can be: a data URL, a blob URL, a http or https URL, or the relative URL of a file within the extension. When using an SVG image, ensure that the image includes height and width attributes, for example, <svg width="96" height="96"…. Otherwise, the image may not display.

contextMessage Optional

string. Supplementary content to display.

priority Optional

number. The notification's priority: may be 0, 1, or 2. Defaults to 0 if omitted.

eventTime Optional

number. A timestamp for the notification in milliseconds since the epoch.

buttons Optional

array of button. An array of up to 2 buttons to include in the notification. You can listen for button clicks using notifications.onButtonClicked. Each button is specified as an object with the following properties:

title

string. Title for the button.

iconUrl Optional

string. URL pointing to an icon for the button.

imageUrl

string. A URL pointing to an image to use in the notification. The URL can be: a data URL, a blob URL, or the relative URL of a file within the extension. When using an SVG image, ensure that the image includes height and width attributes, for example, <svg width="96" height="96"…. Otherwise, the image may not display.

This property is only permitted if type is "image". In this case, it is mandatory if the NotificationOptions is used in notifications.create(), and optional if it is used in notifications.update().

items

array of item. An array of items to include in the notification. Depending on the settings for the operating system's notification mechanism, some of the items you provide might not be displayed. Each item is specified as an object with the following properties:

title

string. Title to display in the item.

message

string. Message to display in the item.

This property is only permitted if type is "list". In this case, it is mandatory if the NotificationOptions is used in notifications.create(), and optional if it is used in notifications.update().

progress

integer. An integer between 0 and 100, used to represent the current progress in a progress indicator.

This property is only permitted if type is "progress". In this case, it is mandatory if the NotificationOptions is used in notifications.create(), and optional if it is used in notifications.update().

Note that appIconMaskUrl and isClickable are not supported.

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
NotificationOptions
Chrome – Full support
Chrome 28 (Release date: 2013-07-09)
footnote Full support
Edge – Full support
Edge 17 (Release date: 2018-04-30)
footnote Full support
Firefox – Full support
Firefox 45 (Release date: 2016-03-08)
footnote Full support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – Full support
Firefox for Android 48 (Release date: 2016-08-02)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
appIconMaskUrl
Chrome – Full support
Chrome 38 (Release date: 2014-10-07)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Opera – Full support
Opera 25 (Release date: 2014-10-15)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari on iOS – No support
Safari on iOS
footnote No support
buttons
Chrome – Full support
Chrome 65 (Release date: 2018-03-06)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote No support
Opera – No support
Opera
footnote
footnote Specifying the 'buttons' option will cause an asynchronous error on Opera.
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote No support
Safari on iOS – No support
Safari on iOS
footnote No support
contextMessage
Chrome – Full support
Chrome 31 (Release date: 2013-11-12)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Opera – No support
Opera
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored, on Opera 18 and above.
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari on iOS – No support
Safari on iOS
footnote No support
eventTime
Chrome – Full support
Chrome 65 (Release date: 2018-03-06)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Opera – Full support
Opera 52 (Release date: 2018-03-22)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari on iOS – No support
Safari on iOS
footnote No support
imageUrl
Chrome – Full support
Chrome 65 (Release date: 2018-03-06)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Opera – No support
Opera
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari on iOS – No support
Safari on iOS
footnote No support
isClickable
Chrome – Full support
Chrome 32 (Release date: 2014-01-14)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Opera – No support
Opera
footnote
footnote Setting 'isClickable' to false will cause an asynchronous error on Opera 19 and above. Older Opera versions throw an error synchronously if this options is given.
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari on iOS – No support
Safari on iOS
footnote No support
items
Chrome – Full support
Chrome 65 (Release date: 2018-03-06)
footnote
footnote On macOS only the first item is shown.
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote
footnote On macOS only the first item is shown.
Firefox – No support
Firefox
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Opera – No support
Opera
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari on iOS – No support
Safari on iOS
footnote No support
priority
Chrome – Full support
Chrome 65 (Release date: 2018-03-06)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Opera – Full support
Opera 52 (Release date: 2018-03-22)
footnote Full support
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari on iOS – No support
Safari on iOS
footnote No support
progress
Chrome – Full support
Chrome 30 (Release date: 2013-10-01)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Opera – No support
Opera
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored, on Opera 17 and above.
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored.
Safari on iOS – No support
Safari on iOS
footnote No support
requireInteraction
Chrome – Full support
Chrome 50 (Release date: 2016-04-13)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – No support
Firefox
footnote No support
Opera – No support
Opera
footnote
footnote Specifying this option doesn't throw an error, but its value is ignored, on Opera 37 and above.
Safari – No support
Safari
footnote No support
Firefox for Android – No support
Firefox for Android
footnote No support
Safari on iOS – No support
Safari on iOS
footnote No support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Note: This API is based on Chromium's chrome.notifications API.