V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
cnfczn
V2EX  ›  问与答

迫于需要用到 web push,想请教下大家如何实现?

  •  
  •   cnfczn · 2019-05-17 22:04:45 +08:00 · 1792 次点击
    这是一个创建于 1777 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在做的网站需要后台提醒功能,网上找到了 web push 功能.通过 web push,只要用户打开浏览器,而不需要打开特定 url,就可以收到通知的功能. 粗略的搜了下 firebase,fcm,gcm 之类的信息,发现 web push 需要和浏览器绑定,特定浏览器有自己的实现,比如 chrome 就是 fcm,fcm 就是 firebase 的一个子集.

    web push 大概的流程,还是业务的服务端推送消息到 fcm,然后由 fcm 分发到订阅的浏览器内. 但是由于 fcm 依赖 google 服务,google 在国内无法访问. 所以业务的服务端和客户端都无法完成请求,这么一个完美的关系链,就这么硬生生的没法用了.

    而对于目前这种状况,解决办法有两种:

    1. 改用国内的浏览器 UC(阿里巴巴旗下),实现的 uccm 粗略的看了下 uc 的开发文档,连基本的申请流程都没有实现完善,很难想象这么大的厂家,未来对 web push 的支持力度.而且我真的很讨厌 uc 浏览器,不清楚使用 uccm 能否在使用 chrome 浏览器的情况下,实现后台推送

    2. 使用代理工具代理间接访问这些服务. 不能保证每个用户都使用代理工具,而且延迟严重,影响用户体验.

    3. web push 的业务服务端在国内的 vps 上,国内 vps 比如狸厂,经常发警告通知,不胜其烦.再来,我从来不认为狸厂会在乎我的个人隐私,指不定什么时候代理就成公共厕所或者被 ban 了.

    综上所述,也受限于我的个人理解,想请教下大家,有什么好的建议和看法?

    7 条回复    2019-05-18 22:56:54 +08:00
    acehow
        1
    acehow  
       2019-05-17 22:25:10 +08:00 via Android
    正常的提醒都是访问你网站再提醒。要真有必要你就发邮件提醒。打开浏览器就提醒?这不耍流氓吗,广告主都这么搞,浏览器还让不让人用了?
    cnfczn
        2
    cnfczn  
    OP
       2019-05-17 23:14:14 +08:00 via Android
    @acehow 感谢你的回复,web push 的推送功能是才用订阅机制,所以不存在侵入式打扰的问题,如果用户不需要可以取消订阅。
    s4nd
        3
    s4nd  
       2019-05-18 05:18:34 +08:00 via Android
    push.js
    cnfczn
        4
    cnfczn  
    OP
       2019-05-18 06:53:01 +08:00 via Android
    @s4nd 这个模块只能做到提醒,不能做到后台的提醒,如果网站没有打开,就办不到了
    opengps
        5
    opengps  
       2019-05-18 07:46:27 +08:00 via Android
    网站没打开就提醒,这不成了客户端了。因为不可行所以是伪需求,真需求只是通知,可以考虑短信等可行路线
    whitev2
        6
    whitev2  
       2019-05-18 11:33:34 +08:00
    往浏览器上加扩展,然后扩展提醒
    cnfczn
        7
    cnfczn  
    OP
       2019-05-18 22:56:54 +08:00 via Android
    这属于用户行为了,不能够约束,而且 chrome 手机版不支持扩展呢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1037 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 22:31 · PVG 06:31 · LAX 15:31 · JFK 18:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.