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.

References

PermissionState

Re-exports PermissionState

Enumerations

Importance

Enumeration Members

Default
Default: 3;

High
High: 4;

Low
Low: 2;

Min
Min: 1;

None
None: 0;

ScheduleEvery

Enumeration Members

Day
Day: "day";

Hour
Hour: "hour";

Minute
Minute: "minute";

Month
Month: "month";

Second
Second: "second";

Not supported on iOS.

TwoWeeks
TwoWeeks: "twoWeeks";

Week
Week: "week";

Year
Year: "year";

Visibility

Enumeration Members

Private
Private: 0;

Public
Public: 1;

Secret
Secret: -1;

Classes

Schedule

Constructors

new Schedule()
new Schedule(): Schedule
Returns

Schedule

Properties

PropertyTypeDefined in
atundefined | object
everyundefined | object
intervalundefined | object

Methods

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

Schedule

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

Schedule

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

Schedule

Interfaces

Action

Properties

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

ActionType

Properties

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

ActiveNotification

Properties

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

Attachment of a notification.

Properties

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

Channel

Properties

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

Options

Options to send a notification.

Properties

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.

PendingNotification

Properties

PropertyTypeDefined in
body?string
idnumber
scheduleSchedule
title?string

ScheduleInterval

Properties

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-

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 '@crabnebula/taurify-api/notification';
const activeNotifications = await active();

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 '@crabnebula/taurify-api/notification';
await cancel([-34234, 23432, 4311]);

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 '@crabnebula/taurify-api/notification';
await cancelAll();

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 '@crabnebula/taurify-api/notification';
const notificationChannels = await channels();

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 '@crabnebula/taurify-api/notification';
await createChannel({
id: 'new-messages',
name: 'New Messages',
lights: true,
vibration: true,
importance: Importance.Default,
visibility: Visibility.Private
});

isPermissionGranted()

function isPermissionGranted(): Promise<boolean>

Checks if the permission to send notifications is granted.

Returns

Promise<boolean>

Example

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

onAction()

function onAction(cb): Promise<PluginListener>

Parameters

ParameterType
cb(notification) => void

Returns

Promise<PluginListener>


onNotificationReceived()

function onNotificationReceived(cb): Promise<PluginListener>

Parameters

ParameterType
cb(notification) => void

Returns

Promise<PluginListener>


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 '@crabnebula/taurify-api/notification';
const pendingNotifications = await pending();

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 '@crabnebula/taurify-api/notification';
await registerActionTypes([{
id: 'tauri',
actions: [{
id: 'my-action',
title: 'Settings'
}]
}])

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 '@crabnebula/taurify-api/notification';
await cancel([-34234, 23432, 4311])

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 '@crabnebula/taurify-api/notification';
await removeAllActive()

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 '@crabnebula/taurify-api/notification';
await removeChannel();

requestPermission()

function requestPermission(): Promise<NotificationPermission>

Requests the permission to send notifications.

Returns

Promise<NotificationPermission>

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

Example

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

sendNotification()

function sendNotification(options): void

Sends a notification to the user.

Parameters

ParameterType
optionsstring | Options

Returns

void

Example

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!' });
}