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

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

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

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

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

ps: Safari 的 webpush 功能没有删,只是需要先将网页添加到主屏幕才能使用
SanjinGG
1 天前
我自己是用的 fcm ,要看梯质量,只要连上 fcm ,推送基本都是实时的,我看你们用 webpush 居然不是实时的吗?
andrei007
1 天前
感觉你就调通了一个就敢说稳定?
dengj3355
1 天前
@andrei007 自用的,我全苹果设备,所以对我来说稳定呀,而且 webpush 理论上是通用的,订阅后返回 endpoint ,包含 push url 和 token ,我也没指定推哪家,都是动态推 endpoint
dengj3355
1 天前
@xmt328 苹果能用,安卓貌似不行
e3c78a97e0f8
1 天前
苹果下你要用 declarative web push ,否则很容易被系统清掉
Joeysergey
15 小时 41 分钟前
安卓手机自带的浏览器 我知道 chrome 或者改版的 kiwi 等可以直接在支持 pwa 网站内启动 webpush 去拉到通知 并且通过 fcm

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1163859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX