是否可以在电子应用程序中接收网络推送?

Is it possible to receive Web Pushes in an electron app?

是否可以在电子应用程序中接收网络推送? 我不需要显示通知,只有数据很重要。

也许有人用过 Onesignal,用 electron 成功了?

谢谢!

很遗憾,目前无法做到这一点。

Web Push 要求浏览器供应商维护一个服务器,该服务器为每个用户保持连接打开以传递通知,并在设备离线时存储通知。 Electron 没有为它设置这样的系统。

可以扩展 Electron 以使用操作系统的 built-in 通知系统。例如,Apple 确实有 OS X 通知(目前由 OneSignal 支持),Windows 也有一个内置的通知系统(OneSignal 很快就会支持)。使用它需要编写原生扩展,将 Electron 连接到操作系统。这将有一个额外的好处,即在您的 Electron 应用程序未打开时支持通知传递。

编辑:现在可以使用 Pushy 付费通知产品 现在支持 Electron。

这在技术上是可行的,但需要一些改进。如果您在您的客户端中使用 OneSignal REST API,您可以添加您的设备,并且使用 electron-push-receiver (https://github.com/MatthieuLemoine/electron-push-receiver) 您可以接收和显示 OneSignal 发送的推送通知。

从此处 REST 文档中的 "Add a device" 开始:https://documentation.onesignal.com/reference

您将首先使用 FCM(firebase 云消息传递)注册您的设备,然后通过他们的 REST API.

将该 FCM 令牌传递给 OneSignal

我刚刚回复了这个主题并简要描述了如何做到这一点:https://github.com/OneSignal/OneSignal-Website-SDK/issues/98