网络推送通知

时间:2018-12-12 14:32:03

标签: push-notification web-push

我对实现推送通知有一些疑问。事情是

  1. 我在前端使用Angular来发送我的订阅值,该订阅值是具有诸如endpoint,auth等键之类的对象类型的对象(对于移动设备或某些其他浏览器来说,这是相同的) )。

  2. 该订阅对象中的所有数据是否都是强制性的?或仅端点。

  3. 如果用户使用10台以上的设备登录,我是否需要存储每个设备的订阅值?它是如何工作的?还是应该存储上次登录设备的订阅值?如果是这样,那么9人中的其余人将不会收到任何通知。

  4. 如果您存储所有已登录设备的订阅值,那么一个登录多个浏览器的用户是否会在每个浏览器中收到通知?这是标准做法吗?

欢迎您提出建议,任何标准做法都将有所帮助。

预先感谢

1 个答案:

答案 0 :(得分:2)

  1. 每个Web设备/浏览器的订阅对象具有相同的格式
  2. 是的,有关更多信息,请参见documentation
      

    当我们想向带有有效载荷的用户发送推送消息时,我们需要三个输入:有效载荷本身,PushSubscription中的auth机密,PushSubscription中的p256dh密钥,我们已经看到了auth和从PushSubscription检索p256dh值,但为了快速提醒,给定订阅,我们需要这些值:

  3. 每个设备都有其自己的终结点和身份验证密钥,因此,如果要将推送发送给每个登录的设备用户,则需要存储所有这些
  4. 是的,如果您调用所有浏览器,则用户会收到通知。(您正在向设备的端点发出发布请求)