如何通过Web Push发送特定用户通知

3
我正在chrome上实现web push,除了不知道如何从服务器获取特定用户的通知之外,一切都运行良好。在发送时,每个人都会收到相同的内容。
我能否从service worker中的最新通知请求中传递端点ID?或者我还有其他方法吗?
谢谢。

你有没有查看过这个教程 - https://developer.mozilla.org/en/docs/Web/API/Push_API/Using_the_Push_API? - shershen
2个回答

2
服务器上应该实现所有订阅客户端的数据存储,文件名为endpoint.txt,可以读取并向特定用户发送消息。
更多相关信息请参见:developer.mozilla.org/en/docs/Web/API/Push_API 以下是发送广播消息的函数的一部分,您可以修改它以选择一个客户端,而不是在for循环中选择所有客户端:https://github.com/chrisdavidmills/push-api-demo/blob/gh-pages/server.js
  if(obj.statusType === 'chatMsg') {
        fs.readFile("endpoint.txt", function (err, buffer) {
          var string = buffer.toString();
          var array = string.split('\n');
          for(i = 0; i < (array.length-1); i++) {
            var subscriber = array[i].split(',');
            webPush.sendNotification(subscriber[2], 200, obj.key, JSON.stringify({
              action: 'chatMsg',
              name: obj.name,
              msg: obj.msg
            }));
          };
        });

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接