Electron アプリの通知 on Windows

Electron は Notification をサポートしていて、Renderer プロセスでも Main プロセスでも表示できます。

野良 Scrapbox アプリで GitHub API 使って latest release を取得し現在のバージョンと違っていたら通知を出し、クリックしたらダウンロードページを開くようコードを追加しました。

f:id:kondoumh:20191221123026p:plain

macOS では普通に動きました。Windows では「しかし何も起こらなかった。」

公式ドキュメントを見ると Application User Model IDs をスタートメニューにインストールしなくてはいけないとか、 Squirrel という更新フレームワークに依存してればちょっとワークアラウンドが省略できるとか書いてあり、要するに Windows のサポートは面倒ということがわかりました。更新フレームワークの導入はオーバーな気がしたので、通知だけ使いたかったのです。

https://electronjs.org/docs/tutorial/notifications#windows

NPM にも通知関連のパッケージがたくさんあり、いろんな人が苦労してそうな感じがしました。

macOS の方はアプリケーション起動時に一度許可すれば、以降は通知してくれます。

ということで、Electron 側の対応を待つことにして Windows 対応は諦めました。