V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dengj3355
V2EX  ›  程序员

使用 webpush 实现了 PWA 稳定系统级推送,特发文感概一番

  •  
  •   dengj3355 · 1 天前 · 1426 次点击
    背景:一直需要一个系统推送的功能,但是为了推送还需要申请开发者账号,开发原生 app ,性价比太低,所以一直用的 pushover 或者钉钉机器人推送方案
    以前就听说过 webpush ,但是以前听说苹果本身可以推送后来又删除了这个功能,而且从来没见人用过所以对 webpush 一直没什么概念,直到这次我按文档尝试,让我欣喜若狂,webpush 不仅能用还非常好用,行为和优先级几乎和原生 app 一致。
    有几个问题想和用过 webpush 的大佬讨论讨论
    1 、Chrome 订阅时返回的数据说明订阅成功了,我做了完整的日志记录,前后端一切流程全部正常处理,但是 Chrome 无法接收到推送,是墙的原因吗?
    2 、国产安卓手机自带的浏览器能使用 PWA 吗,能使用 webpush 吗?
    11 条回复    2025-10-10 10:20:24 +08:00
    gesse
        1
    gesse  
       1 天前
    webpush 也有推送网关:
    • Chrome / Edge → fcm.googleapis.com
    • Firefox → push.services.mozilla.com
    • Safari → webpush.push.apple.com

    国产安卓容易被省电策略、清除缓存等导致订阅失效
    xmt328
        2
    xmt328  
       1 天前
    pushover 在国内能用么?
    7gugu
        3
    7gugu  
       1 天前
    iOS 用 Bark 吧,免费推送触达率也高
    kdwnil
        5
    kdwnil  
       1 天前
    webpush 主要就四个提供商,FCM/APNs/Autopush/WNS ,分别对应 Chrome/Safari/Firefox/Edge

    1. Chrome 接收不到可能是干扰,打开 chrome://gcm-internals/ 自行研究
    2. 按理来说 webpush 是通用的,只要有提供对应的接口就能用,但我没有不带 fcm 的手机所以不清楚

    webpush 很尴尬的问题是不知道什么时候失效,以及送达率主打一个随缘,不如直接用现成的

    ps: Safari 的 webpush 功能没有删,只是需要先将网页添加到主屏幕才能使用
    SanjinGG
        6
    SanjinGG  
       1 天前
    我自己是用的 fcm ,要看梯质量,只要连上 fcm ,推送基本都是实时的,我看你们用 webpush 居然不是实时的吗?
    andrei007
        7
    andrei007  
       1 天前
    感觉你就调通了一个就敢说稳定?
    dengj3355
        8
    dengj3355  
    OP
       1 天前 via iPhone
    @andrei007 自用的,我全苹果设备,所以对我来说稳定呀,而且 webpush 理论上是通用的,订阅后返回 endpoint ,包含 push url 和 token ,我也没指定推哪家,都是动态推 endpoint
    dengj3355
        9
    dengj3355  
    OP
       1 天前 via iPhone
    @xmt328 苹果能用,安卓貌似不行
    e3c78a97e0f8
        10
    e3c78a97e0f8  
       22 小时 57 分钟前
    苹果下你要用 declarative web push ,否则很容易被系统清掉
    Joeysergey
        11
    Joeysergey  
       11 小时 33 分钟前
    安卓手机自带的浏览器 我知道 chrome 或者改版的 kiwi 等可以直接在支持 pwa 网站内启动 webpush 去拉到通知 并且通过 fcm
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2869 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 13:54 · PVG 21:54 · LAX 06:54 · JFK 09:54
    ♥ Do have faith in what you're doing.