5

我计划为 Chrome 集成推送通知(推送 API 和通知 API)。

成功订阅后,Chrome 服务器会向客户端发送一些特殊令牌(“端点”),您可以使用它来识别客户端并发送任何推送消息。

文档

端点应该为每个用户保存在您的服务器上,因为您需要他们在以后发送推送消息。

我有几个问题:

  1. 您如何在服务器端管理“端点”?您是否会在通过 AJAX 成功订阅您的服务器后发送此“端点”并保存到数据库中。或者您将其保存到 cookie 中,然后在登录/注册请求后将其保存在服务器上。
  2. 我想知道,您如何将“端点”与真实用户联系起来?用户可以打开您的站点,单击“允许”以显示推送通知,但他没有会话 cookie,因此您无法在当时与真实用户识别此“端点”。
  3. 这个“端点”有一些 TTL 吗?
4

1 回答 1

4
  1. 是的,您可以将其发送到服务器,服务器可以将其存储在数据库中。参见示例 [ 1 ]。
  2. 这取决于您的应用程序。有时您不需要将端点链接到用户。如果你这样做了,那么端点可以是user服务器上对象的属性。如果用户在登录之前注册推送通知,那么您无法判断该端点与该用户相关。当用户登录时,您可以将更新的信息发送到服务器。
  3. 是的,端点可以过期(参见 [ 2 ])。发生这种情况时将触发 'subscriptionchange' 事件,服务工作者可以监听此事件并将更新的信息发送到服务器(同样,您可以看到 [ 1 ] 作为示例,或 [ 3 ])。
于 2016-02-09T10:43:44.017 回答