

从PWA消息推送调试经历来看PWA现状,PWA凉了,凉透了吗?
source link: https://www.daozhao.com/10432.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

从PWA消息推送调试经历来看PWA现状,PWA凉了,凉透了吗?
从PWA消息推送调试经历来看PWA现状,PWA凉了,凉透了吗?
前几天写的《Android摸索记录--HMS消息推送》里面提到了自己在用app做消息推送之前试过PWA,自己也实测一下,发现之前的PWA推送功能属于半残废状态。因为自己调整过个人项目中各个系统的分工,当时有关PWA接口部分,属于迁移到一半的状态,一直没有腾出时间也就没管了。趁着自己写文章的这几天,重新测试了一把,梳理了相关代码结构,测试发现现在道招网的PWA推送是瘫痪状态。。。
自己在调试PWA功能期间有如下发现:
浏览器兼容性
对国内手机浏览器而言,PWA基本是废的,不支持接收通知,不支持将PWA应用安装到手机上。
下面是我用鸿蒙系统的华为浏览器截图
没有出现安装入口,也没有显示是否有消息通知权限
自己用家里的iphone 6 plus的Sarafi试了下也没有,不知道是不是因为版本过低。
目前Firefox浏览器也已经宣布不支持PW了,只发现有Chrome、Edge、Opera支持。
消息发送接入方式调整
道招网的PWA消息推送是使用主流库web-push
来完成的,目前这个库发送消息的参数有点变化,因为需要走Firebase Cloud Messaging,根据最新api需要额外传递一个谷歌的FCM(也就是Firebase Cloud Messaging,原GCM)的api key,其实就是图中的Server key。
我目前用的是老的接入方式,没有用v1,后期可以考虑迁移到V1。
然后在网上看的需要在PWA的manifest.json也同步增加这个
特别提醒下,之前的在用户订阅的时候传的的publicKey不用轻易更换,因为当初用户订阅生成的endpoint
生成是用到了这个publicKey的,如果后期更换了,然后用新的publicKey推送消息的话,是推送不到这些老publicKey订阅的用户,因为校验不会通过的。
平时用到的FCM接口返回的状态码如下:
- 201 FCM成功接收push通知 (FCM接收到你的通知请求并不代表订阅用户就收到了,这只是成功的必要条件)
- 401 auth校验不通过,多半Server key有问题
- 410 订阅用户的endpoint不合法,多半改过publicKey
自己在本地调试的时候也发现了消息是否成功发送跟网络也有关系,毕竟FCM是谷歌的,科学上网还是要的,不然在web-push发送消息调用FCM接口会超时的。如果有国外的服务器的话,建议将通知用户接口(必需)和接收订阅用户接口部署在国外的服务器上,否则你跟你的订阅用户就百分百失联了。
如果FCM接口返回的状态是201,该通知消息才有可能被订阅用户收到,谷歌是是收到你的推送意图,但是谷歌能否通知到你的订阅用户就得看你的订阅用户的网络怎么样了,用户的手机系统,我实测的时候pixel手机能收到,国产手机有时候就没有成功收到。。。
我一直都挺喜欢PWA的,只要处理好版本更新控制,PWA缓存功能用的挺爽的,网页打开变快,下次离线也能访问,但是我说的不算,APP、手机系统厂商就对她不感兴趣。PWA现在就是这个不温不火,目前我就知道Instagram、Twitter在用,还有Android Developer、Developer Google在用,在国内就是凉凉的状态了,或许也已经凉透了。
Recommend
-
109
website upgrading… 京ICP备110065...
-
92
京东京麦消息推送架构的演进之路 原 京东京麦消息推送架构的演进之路 ...
-
76
本文为原创,如需转载请标明出处,侵权必究。 不可不说的前言 去年笔者写了一篇 《安卓推送这件小事》 ,现在回过头来再看,不少地方已有些过时,趁着春节,重新思考和整理下推送这件事,这篇文章的目标受众不仅是对客户端推送实践感兴趣的工程师,还包括对推送的...
-
72
-
21
消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局 【福利时...
-
8
写在前面:这是一篇分析「互联网从业者职业方向」的文章,结合行业趋势和个人观察,供参考。 一、亲身经历互联网的发展趋势 在过去的十几年里,我做得最正确的决定,就是选择了互联网行业。即使我学历和资质都一般,但只要...
-
5
V2EX › 问与答 从你的过往经历来看,运气占了多大的成分?
-
6
做为前端开发,想必大家都写过 Node.js 的代码,也大概率用 debugger 断点调试过。我们可以用 Chrome...
-
13
V2EX › Android 大家来看个有趣的事情吧,统一推送联盟疑似凉了
-
7
HMS Core推送服务支持开发者使用HTTPS协议接入Push服务端。Postman是一款接口测试工具,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK