Crates.io | tauri-plugin-notification |
lib.rs | tauri-plugin-notification |
version | 2.0.1 |
source | src |
created_at | 2023-05-24 16:24:02.512921 |
updated_at | 2024-10-03 14:00:04.540305 |
description | Send desktop and mobile notifications on your Tauri application. |
homepage | |
repository | https://github.com/tauri-apps/plugins-workspace |
max_upload_size | |
id | 873413 |
size | 265,781 |
Send message notifications (brief auto-expiring OS window element) to your user. Can also be used with the Notification Web API.
Platform | Supported |
---|---|
Linux | ✓ |
Windows | ✓ |
macOS | ✓ |
Android | ✓ |
iOS | ✓ |
This plugin requires a Rust version of at least 1.77.2
There are three general methods of installation that we can recommend.
Install the Core plugin by adding the following to your Cargo.toml
file:
src-tauri/Cargo.toml
[dependencies]
tauri-plugin-notification = "2.0.0"
# alternatively with Git:
tauri-plugin-notification = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
You can install the JavaScript Guest bindings using your preferred JavaScript package manager:
Note: Since most JavaScript package managers are unable to install packages from git monorepos we provide read-only mirrors of each plugin. This makes installation option 2 more ergonomic to use.
pnpm add @tauri-apps/plugin-notification
# or
npm add @tauri-apps/plugin-notification
# or
yarn add @tauri-apps/plugin-notification
# alternatively with Git:
pnpm add https://github.com/tauri-apps/tauri-plugin-notification#v2
# or
npm add https://github.com/tauri-apps/tauri-plugin-notification#v2
# or
yarn add https://github.com/tauri-apps/tauri-plugin-notification#v2
First you need to register the core plugin with Tauri:
src-tauri/src/main.rs
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_notification::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
Then you need to add the permissions to your capabilities file:
src-tauri/capabilities/main.json
{
...
"permissions": [
...
"notification:default"
],
...
}
Afterwards all the plugin's APIs are available through the JavaScript guest bindings:
import {
isPermissionGranted,
requestPermission,
sendNotification
} from '@tauri-apps/plugin-notification'
async function checkPermission() {
if (!(await isPermissionGranted())) {
return (await requestPermission()) === 'granted'
}
return true
}
export async function enqueueNotification(title, body) {
if (!(await checkPermission())) {
return
}
sendNotification({ title, body })
}
PRs accepted. Please make sure to read the Contributing Guide before making a pull request.
For the complete list of sponsors please visit our website and Open Collective.
Code: (c) 2015 - Present - The Tauri Programme within The Commons Conservancy.
MIT or MIT/Apache 2.0 where applicable.