每个用户使用多个设备处理Web推送通知的最佳方式是什么?

时间:2018-04-22 10:07:06

标签: service-worker web-push

我开发了一个网络应用程序:这是一个测验,两个用户轮流互相对战。所以在比赛期间,它是用户A或用户B的回合。我想使用推送通知(使用Web Push API)告知用户他们的对手何时已经玩过,而且轮到他们了。

我想知道是否有使用手头技术(服务工作者,推送API)的最佳方法。如果没有一个理想的解决方案,那将是一个很好的妥协?

我理想的想要达到的目标(可能是不可能的):

  • 用户应该在轮到他们所有登录设备时收到通知
  • 当他们使用一台设备玩时,其他设备不应再通知它已经轮到他们了。

并发症/限制是:

  • Chrome和Firefox等桌面浏览器仅在完全投放后才会发送通知。调度的通知将排队,直到启动浏览器。
  • 除了设置到期时间(time_to_live)之外,一旦发送通知就没有办法收回通知(是吗?)
  • 这意味着当用户使用一台设备玩了几轮时,其他设备上仍会有相当多的过时通知仍在等待显示(不好)
  • Chrome的另一个限制是:您必须在收到推送消息时显示通知。

1 个答案:

答案 0 :(得分:2)

最简单的方法是将用户ID附加到每个订阅,然后访问属于给定用户的所有设备。厌倦了重复通知的用户总是会阻止某些设备上的通知。

还可以使用TTL(0或几分钟)自动删除未连接设备上的通知。

相关问题