我正在尝试将推送通知集成到Web应用程序(也包括PWA)中。我正在使用Mercure
(https://symfony.com/doc/current/mercure.html)向用户发送通知。
该Web应用程序是使用Angularjs和PHP-symfony制作的。我认为对于SSE,连接应该保持打开状态,或者每隔几秒钟重新打开一次,以发送事件。
我不知道它是否适用于PWA。即使未打开,也可以使用SSE向PWA发送推送通知吗?如果没有,我应该使用什么来发送推送通知。
我应该使用websockets吗?我见过的所有websockets库都创建了通道。而且我不知道如何向数据库中的特定用户发送通知,因为在websocket中,区分用户的唯一方法是当他们加入频道时生成的sessionId。
当用户登录并加入应用程序中的公共通道时,我可能不得不将用户的sessionId保存在数据库中,并找到我想要向其发送通知然后发送的用户的sessionId。
我的问题是,如果我使用SSE,我可以在未打开webapp或PWA时发送推送通知。 websockets有帮助吗?如果是,请对我的工作方式提出建议。