Skip to content
Tauri

@tauri-apps/plugin-notification

Send toast notifications (brief auto-expiring OS window element) to your user. Can also be used with the Notification Web API.

Enumerations

Importance

Enumeration Members

Default
Default: 3;

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L285

High
High: 4;

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L286

Low
Low: 2;

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L284

Min
Min: 1;

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L283

None
None: 0;

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L282


ScheduleEvery

Enumeration Members

Day
Day: "day";

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L157

Hour
Hour: "hour";

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L158

Minute
Minute: "minute";

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L159

Month
Month: "month";

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L154

Second
Second: "second";

Not supported on iOS.

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L163

TwoWeeks
TwoWeeks: "twoWeeks";

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L155

Week
Week: "week";

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L156

Year
Year: "year";

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L153


Visibility

Enumeration Members

Private
Private: 0;

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L291

Public
Public: 1;

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L292

Secret
Secret: -1;

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L290

Classes

Schedule

Constructors

new Schedule()
new Schedule(): Schedule
Returns

Schedule

Properties

PropertyType
atundefined | object
everyundefined | object
intervalundefined | object

Methods

at()
static at(
date,
repeating,
allowWhileIdle): Schedule
Parameters
ParameterTypeDefault value
dateDateundefined
repeatingbooleanfalse
allowWhileIdlebooleanfalse
Returns

Schedule

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L190

every()
static every(
kind,
count,
allowWhileIdle): Schedule
Parameters
ParameterTypeDefault value
kindScheduleEveryundefined
countnumberundefined
allowWhileIdlebooleanfalse
Returns

Schedule

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L209

interval()
static interval(interval, allowWhileIdle): Schedule
Parameters
ParameterTypeDefault value
intervalScheduleIntervalundefined
allowWhileIdlebooleanfalse
Returns

Schedule

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L198

Interfaces

Action

Properties

PropertyType
destructive?boolean
foreground?boolean
idstring
input?boolean
inputButtonTitle?string
inputPlaceholder?string
requiresAuthentication?boolean
titlestring

ActionType

Properties

PropertyTypeDescription
actionsAction[]The list of associated actions
allowInCarPlay?boolean-
customDismissAction?boolean-
hiddenPreviewsBodyPlaceholder?string-
hiddenPreviewsShowSubtitle?boolean-
hiddenPreviewsShowTitle?boolean-
idstringThe identifier of this action type

ActiveNotification

Properties

PropertyType
actionTypeId?string
attachmentsAttachment[]
body?string
dataRecord<string, string>
extraRecord<string, unknown>
group?string
groupSummaryboolean
idnumber
schedule?Schedule
sound?string
tag?string
title?string

Attachment

Attachment of a notification.

Properties

PropertyTypeDescription
idstringAttachment identifier.
urlstringAttachment URL. Accepts the asset and file protocols.

Channel

Properties

PropertyType
description?string
idstring
importance?Importance
lightColor?string
lights?boolean
namestring
sound?string
vibration?boolean
visibility?Visibility

Options

Options to send a notification.

Since

2.0.0

Properties

PropertyTypeDescription
actionTypeId?stringDefines an action type for this notification.
attachments?Attachment[]Notification attachments.
autoCancel?booleanAutomatically cancel the notification when the user clicks on it.
body?stringOptional notification body.
channelId?string

Identifier of the Channel that deliveres this notification.

If the channel does not exist, the notification won’t fire. Make sure the channel exists with listChannels and createChannel.

extra?Record<string, unknown>Extra payload to store in the notification.
group?string

Identifier used to group multiple notifications.

https://developer.apple.com/documentation/usernotifications/unmutablenotificationcontent/1649872-threadidentifier

groupSummary?booleanInstructs the system that this notification is the summary of a group on Android.
icon?string

Notification icon.

On Android the icon must be placed in the app’s res/drawable folder.

iconColor?stringIcon color on Android.
id?numberThe notification identifier to reference this object later. Must be a 32-bit integer.
inboxLines?string[]

List of lines to add to the notification. Changes the notification style to inbox. Cannot be used with largeBody.

Only supports up to 5 lines.

largeBody?stringMultiline text. Changes the notification style to big text. Cannot be used with inboxLines.
largeIcon?string

Notification large icon (Android).

The icon must be placed in the app’s res/drawable folder.

number?numberSets the number of items this notification represents on Android.
ongoing?boolean

If true, the notification cannot be dismissed by the user on Android.

An application service must manage the dismissal of the notification. It is typically used to indicate a background task that is pending (e.g. a file download) or the user is engaged with (e.g. playing music).

schedule?ScheduleSchedule this notification to fire on a later time or a fixed interval.
silent?booleanChanges the notification presentation to be silent on iOS (no badge, no sound, not listed).
sound?stringThe sound resource name. Only available on mobile.
summary?stringDetail text for the notification with largeBody, inboxLines or groupSummary.
titlestringNotification title.
visibility?VisibilityNotification visibility.

PendingNotification

Properties

PropertyType
body?string
idnumber
scheduleSchedule
title?string

ScheduleInterval

Properties

PropertyTypeDescription
day?number-
hour?number-
minute?number-
month?number-
second?number-
weekday?number

1 - Sunday

2 - Monday

3 - Tuesday

4 - Wednesday

5 - Thursday

6 - Friday

7 - Saturday

year?number-

Type Aliases

Permission

type Permission: "granted" | "denied" | "default";

Possible permission values.

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L308

Functions

active()

function active(): Promise<ActiveNotification[]>

Retrieves the list of active notifications.

Returns

Promise<ActiveNotification[]>

A promise resolving to the list of active notifications.

Example

import { active } from '@tauri-apps/plugin-notification';
const activeNotifications = await active();

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L460


cancel()

function cancel(notifications): Promise<void>

Cancels the pending notifications with the given list of identifiers.

Parameters

ParameterType
notificationsnumber[]

Returns

Promise<void>

A promise indicating the success or failure of the operation.

Example

import { cancel } from '@tauri-apps/plugin-notification';
await cancel([-34234, 23432, 4311]);

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L426


cancelAll()

function cancelAll(): Promise<void>

Cancels all pending notifications.

Returns

Promise<void>

A promise indicating the success or failure of the operation.

Example

import { cancelAll } from '@tauri-apps/plugin-notification';
await cancelAll();

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L443


channels()

function channels(): Promise<Channel[]>

Retrieves the list of notification channels.

Returns

Promise<Channel[]>

A promise resolving to the list of notification channels.

Example

import { channels } from '@tauri-apps/plugin-notification';
const notificationChannels = await channels();

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L554


createChannel()

function createChannel(channel): Promise<void>

Creates a notification channel.

Parameters

ParameterType
channelChannel

Returns

Promise<void>

A promise indicating the success or failure of the operation.

Example

import { createChannel, Importance, Visibility } from '@tauri-apps/plugin-notification';
await createChannel({
id: 'new-messages',
name: 'New Messages',
lights: true,
vibration: true,
importance: Importance.Default,
visibility: Visibility.Private
});

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L520


isPermissionGranted()

function isPermissionGranted(): Promise<boolean>

Checks if the permission to send notifications is granted.

Returns

Promise<boolean>

Example

import { isPermissionGranted } from '@tauri-apps/plugin-notification';
const permissionGranted = await isPermissionGranted();

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L320


onAction()

function onAction(cb): Promise<PluginListener>

Parameters

ParameterType
cb(notification) => void

Returns

Promise<PluginListener>

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L564


onNotificationReceived()

function onNotificationReceived(cb): Promise<PluginListener>

Parameters

ParameterType
cb(notification) => void

Returns

Promise<PluginListener>

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L558


pending()

function pending(): Promise<PendingNotification[]>

Retrieves the list of pending notifications.

Returns

Promise<PendingNotification[]>

A promise resolving to the list of pending notifications.

Example

import { pending } from '@tauri-apps/plugin-notification';
const pendingNotifications = await pending();

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L409


registerActionTypes()

function registerActionTypes(types): Promise<void>

Register actions that are performed when the user clicks on the notification.

Parameters

ParameterType
typesActionType[]

Returns

Promise<void>

A promise indicating the success or failure of the operation.

Example

import { registerActionTypes } from '@tauri-apps/plugin-notification';
await registerActionTypes([{
id: 'tauri',
actions: [{
id: 'my-action',
title: 'Settings'
}]
}])

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L392


removeActive()

function removeActive(notifications): Promise<void>

Removes the active notifications with the given list of identifiers.

Parameters

ParameterType
notificationsobject[]

Returns

Promise<void>

A promise indicating the success or failure of the operation.

Example

import { cancel } from '@tauri-apps/plugin-notification';
await cancel([-34234, 23432, 4311])

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L477


removeAllActive()

function removeAllActive(): Promise<void>

Removes all active notifications.

Returns

Promise<void>

A promise indicating the success or failure of the operation.

Example

import { removeAllActive } from '@tauri-apps/plugin-notification';
await removeAllActive()

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L496


removeChannel()

function removeChannel(id): Promise<void>

Removes the channel with the given identifier.

Parameters

ParameterType
idstring

Returns

Promise<void>

A promise indicating the success or failure of the operation.

Example

import { removeChannel } from '@tauri-apps/plugin-notification';
await removeChannel();

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L537


requestPermission()

function requestPermission(): Promise<Permission>

Requests the permission to send notifications.

Returns

Promise<Permission>

A promise resolving to whether the user granted the permission or not.

Example

import { isPermissionGranted, requestPermission } from '@tauri-apps/plugin-notification';
let permissionGranted = await isPermissionGranted();
if (!permissionGranted) {
const permission = await requestPermission();
permissionGranted = permission === 'granted';
}

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L343


sendNotification()

function sendNotification(options): void

Sends a notification to the user.

Parameters

ParameterType
optionsstring | Options

Returns

void

Example

import { isPermissionGranted, requestPermission, sendNotification } from '@tauri-apps/plugin-notification';
let permissionGranted = await isPermissionGranted();
if (!permissionGranted) {
const permission = await requestPermission();
permissionGranted = permission === 'granted';
}
if (permissionGranted) {
sendNotification('Tauri is awesome!');
sendNotification({ title: 'TAURI', body: 'Tauri is awesome!' });
}

Since

2.0.0

Source: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/notification/guest-js/index.ts#L365


© 2024 Tauri Contributors. CC-BY / MIT