是否可以在用户注销后向其发送推送通知?
Can Push Notifications be sent to users when they are signed out?
是否可以在用户退出 PWA 后向用户发送推送通知?我知道服务器会收到消息,然后将其转发给服务工作者,但它是否能够将消息推送给用户。我们正在尝试为我们的用户实现一个消息系统,但在意识到我们走错方向之前不想深入。
所以我实际上弄明白了这一点,希望我能为那些对推送通知的工作方式感到困惑的人提供一些清晰的信息。所以这就是这个过程的工作原理,这不是技术性的,而是它如何工作的理论,而且我正在使用 npm 包 web-push 来帮助实现它。在前端,您会提示用户是否愿意从您的站点接收推送通知。如果他们接受,您实际上会为 public Vapid Key 的用户创建一个唯一的端点。 public 乏味的密钥是由 web-push 包创建的(我将 link 教程介绍如何做到这一点)。因此,创建的端点是服务器如何知道将推送通知发送到哪里的方式。因此,然后将该端点发送回您的服务器并将其保存在数据库中或您想要对其进行的任何操作。因此,现在如果您想向该用户发送推送通知,您可以使用 webpush 向他们的 service worker 生成推送并使用该唯一端点,以便服务器知道将它发送到哪里。服务器发送消息,Service Worker 接收消息并将推送发送给用户。用户是否登录并不重要,服务器发送到的端点是浏览器而不是用户帐户。我认为推送通知最让我困惑的是服务器如何知道将推送通知发送到哪里。我将举一个例子来帮助更好地说明并希望使过程更清晰。如果我在我的计算机上使用 Google 浏览并单击允许来自站点的通知,那么将创建一个端点,该端点对我的计算机和该浏览器是唯一的。为简单起见,假设所有通知端点都存储在数据库中的一个数组中,所以现在我的新端点被推送到该数组并存储在数据库中。现在我关闭 google 打开 firefox 并转到相同的站点。我现在允许使用 Firefox 通知同一站点。该端点被创建并推送到数据库中的该数组并保存在数据库中。现在网站的所有者想要向订阅推送通知的每个人发送通知。假设他遍历保存的点数组中的每个端点,并向每个端点发送一条消息。我将收到一份来自 firefox 的通知和一份来自 google 的通知。因此,推送通知再次被 linked 发送到浏览器而不是用户。我认为如果您允许通知,那么推送通知将发送到您登录的任何地方,但不会发送到您允许推送通知的任何浏览器。我缺乏理解,但现在在我实施它们后它们是如何工作的更清楚了
是否可以在用户退出 PWA 后向用户发送推送通知?我知道服务器会收到消息,然后将其转发给服务工作者,但它是否能够将消息推送给用户。我们正在尝试为我们的用户实现一个消息系统,但在意识到我们走错方向之前不想深入。
所以我实际上弄明白了这一点,希望我能为那些对推送通知的工作方式感到困惑的人提供一些清晰的信息。所以这就是这个过程的工作原理,这不是技术性的,而是它如何工作的理论,而且我正在使用 npm 包 web-push 来帮助实现它。在前端,您会提示用户是否愿意从您的站点接收推送通知。如果他们接受,您实际上会为 public Vapid Key 的用户创建一个唯一的端点。 public 乏味的密钥是由 web-push 包创建的(我将 link 教程介绍如何做到这一点)。因此,创建的端点是服务器如何知道将推送通知发送到哪里的方式。因此,然后将该端点发送回您的服务器并将其保存在数据库中或您想要对其进行的任何操作。因此,现在如果您想向该用户发送推送通知,您可以使用 webpush 向他们的 service worker 生成推送并使用该唯一端点,以便服务器知道将它发送到哪里。服务器发送消息,Service Worker 接收消息并将推送发送给用户。用户是否登录并不重要,服务器发送到的端点是浏览器而不是用户帐户。我认为推送通知最让我困惑的是服务器如何知道将推送通知发送到哪里。我将举一个例子来帮助更好地说明并希望使过程更清晰。如果我在我的计算机上使用 Google 浏览并单击允许来自站点的通知,那么将创建一个端点,该端点对我的计算机和该浏览器是唯一的。为简单起见,假设所有通知端点都存储在数据库中的一个数组中,所以现在我的新端点被推送到该数组并存储在数据库中。现在我关闭 google 打开 firefox 并转到相同的站点。我现在允许使用 Firefox 通知同一站点。该端点被创建并推送到数据库中的该数组并保存在数据库中。现在网站的所有者想要向订阅推送通知的每个人发送通知。假设他遍历保存的点数组中的每个端点,并向每个端点发送一条消息。我将收到一份来自 firefox 的通知和一份来自 google 的通知。因此,推送通知再次被 linked 发送到浏览器而不是用户。我认为如果您允许通知,那么推送通知将发送到您登录的任何地方,但不会发送到您允许推送通知的任何浏览器。我缺乏理解,但现在在我实施它们后它们是如何工作的更清楚了