通知(Windows,Linux,macOS) | Notifications (Windows, Linux, macOS)
Notifications (Windows, Linux, macOS)
所有三个操作系统都提供了向应用程序发送通知的方法。Electron方便地允许开发人员使用HTML5 Notification API发送通知,使用当前运行的操作系统的本机通知API来显示它。
注意:
由于这是一个HTML5 API,因此它只能在渲染器进程中使用。如果您想在主流程中显示通知,请查看通知模块。
let myNotification = new Notification('Title', {
body: 'Lorem Ipsum Dolor Sit Amet'
})
myNotification.onclick = () => {
console.log('Notification clicked')
}
尽管跨操作系统的代码和用户体验相似,但存在细微的差异。
Windows
- 在Windows 10上,通知“正常工作”。
- 在Windows 8.1和Windows 8上,必须将具有应用程序用户模型ID的应用程序快捷方式安装到“开始”屏幕。但请注意,它不需要固定到“开始”屏幕。
- 在Windows 7上,通知通过自定义实现工作,该自定义实现与新系统上的本机类似。
此外,在Windows 8中,通知正文的最大长度为250个字符,Windows团队建议通知应保持为200个字符。也就是说,Windows 10中的这个限制已经被删除,Windows团队要求开发人员合理。尝试将大量文本发送到API(数千个字符)可能会导致不稳定。
高级通知
Windows的更新版本允许使用自定义模板,图像和其他灵活元素的高级通知。发送这些通知(通过主处理或渲染过程),可以使用用户级模块电子-窗口通知,它利用本机节点的插件来发送ToastNotification
和TileNotification
对象。
虽然包含按钮的通知只能electron-windows-notifications
处理,但处理回复需要使用electron-windows-interactive-notifications
,这有助于注册所需的COM组件并使用输入的用户数据调用您的Electron应用程序。
安静的小时/演示模式
要检测您是否被允许发送通知,请使用userland模块电子通知状态。
这使您可以提前确定Windows是否会悄悄丢弃通知。
MacOS
MacOS上的通知非常简单,但您应该了解Apple关于通知的人机界面准则。
请注意,通知的大小限制为256个字节,如果超过该限制,将会被截断。
高级通知
更高版本的macOS允许通知输入字段,允许用户快速回复通知。为了使用输入字段发送通知,请使用userland模块node-mac-notifier。
请勿打扰/会话状态
若要检测是否允许发送通知,请使用userland模块电子通知状态...
这将允许您提前检测是否显示通知。
Linux
使用libnotify
通知可以在遵循桌面通知规范的任何桌面环境中显示通知,包括Cinnamon,Enlightenment,Unity,GNOME,KDE。