Skip to content

notification

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

Re-exports PermissionState

Default: 3;

High: 4;

Low: 2;

Min: 1;

None: 0;

Day: "day";

Hour: "hour";

Minute: "minute";

Month: "month";

Second: "second";

Not supported on iOS.

TwoWeeks: "twoWeeks";

Week: "week";

Year: "year";

Private: 0;

Public: 1;

Secret: -1;

new Schedule(): Schedule

Schedule

PropertyTypeDefined in
atundefined | object
everyundefined | object
intervalundefined | object

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

Schedule

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

Schedule

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

Schedule

PropertyTypeDefined in
destructive?boolean
foreground?boolean
idstring
input?boolean
inputButtonTitle?string
inputPlaceholder?string
requiresAuthentication?boolean
titlestring

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

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

Attachment of a notification.

PropertyTypeDescriptionDefined in
idstringAttachment identifier.
urlstringAttachment URL. Accepts the asset and file protocols.

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

Options to send a notification.

PropertyTypeDescriptionDefined in
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?stringIdentifier 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?stringIdentifier 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?stringNotification 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?stringNotification 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?booleanIf 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.

PropertyTypeDefined in
body?string
idnumber
scheduleSchedule
title?string

PropertyTypeDescriptionDefined in
day?number-
hour?number-
minute?number-
month?number-
second?number-
weekday?number1 - Sunday 2 - Monday 3 - Tuesday 4 - Wednesday 5 - Thursday 6 - Friday 7 - Saturday
year?number-

function active(): Promise<ActiveNotification[]>

Retrieves the list of active notifications.

Promise<ActiveNotification[]>

A promise resolving to the list of active notifications.

import { active } from '@crabnebula/taurify-api/notification';
const activeNotifications = await active();

function cancel(notifications): Promise<void>

Cancels the pending notifications with the given list of identifiers.

ParameterType
notificationsnumber[]

Promise<void>

A promise indicating the success or failure of the operation.

import { cancel } from '@crabnebula/taurify-api/notification';
await cancel([-34234, 23432, 4311]);

function cancelAll(): Promise<void>

Cancels all pending notifications.

Promise<void>

A promise indicating the success or failure of the operation.

import { cancelAll } from '@crabnebula/taurify-api/notification';
await cancelAll();

function channels(): Promise<Channel[]>

Retrieves the list of notification channels.

Promise<Channel[]>

A promise resolving to the list of notification channels.

import { channels } from '@crabnebula/taurify-api/notification';
const notificationChannels = await channels();

function createChannel(channel): Promise<void>

Creates a notification channel.

ParameterType
channelChannel

Promise<void>

A promise indicating the success or failure of the operation.

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

function isPermissionGranted(): Promise<boolean>

Checks if the permission to send notifications is granted.

Promise<boolean>

import { isPermissionGranted } from '@crabnebula/taurify-api/notification';
const permissionGranted = await isPermissionGranted();

function onAction(cb): Promise<PluginListener>
ParameterType
cb(notification) => void

Promise<PluginListener>


function onNotificationReceived(cb): Promise<PluginListener>
ParameterType
cb(notification) => void

Promise<PluginListener>


function pending(): Promise<PendingNotification[]>

Retrieves the list of pending notifications.

Promise<PendingNotification[]>

A promise resolving to the list of pending notifications.

import { pending } from '@crabnebula/taurify-api/notification';
const pendingNotifications = await pending();

function registerActionTypes(types): Promise<void>

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

ParameterType
typesActionType[]

Promise<void>

A promise indicating the success or failure of the operation.

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

function removeActive(notifications): Promise<void>

Removes the active notifications with the given list of identifiers.

ParameterType
notificationsobject[]

Promise<void>

A promise indicating the success or failure of the operation.

import { cancel } from '@crabnebula/taurify-api/notification';
await cancel([-34234, 23432, 4311])

function removeAllActive(): Promise<void>

Removes all active notifications.

Promise<void>

A promise indicating the success or failure of the operation.

import { removeAllActive } from '@crabnebula/taurify-api/notification';
await removeAllActive()

function removeChannel(id): Promise<void>

Removes the channel with the given identifier.

ParameterType
idstring

Promise<void>

A promise indicating the success or failure of the operation.

import { removeChannel } from '@crabnebula/taurify-api/notification';
await removeChannel();

function requestPermission(): Promise<NotificationPermission>

Requests the permission to send notifications.

Promise<NotificationPermission>

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

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

function sendNotification(options): void

Sends a notification to the user.

ParameterType
optionsstring | Options

void

import { isPermissionGranted, requestPermission, sendNotification } from '@crabnebula/taurify-api/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!' });
}