道招

从PWA消息推送调试经历来看PWA现状,PWA凉了,凉透了吗?

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

从PWA消息推送调试经历来看PWA现状,PWA凉了,凉透了吗?

前几天写的《Android摸索记录--HMS消息推送》里面提到了自己在用app做消息推送之前试过PWA,自己也实测一下,发现之前的PWA推送功能属于半残废状态。因为自己调整过个人项目中各个系统的分工,当时有关PWA接口部分,属于迁移到一半的状态,一直没有腾出时间也就没管了。趁着自己写文章的这几天,重新测试了一把,梳理了相关代码结构,测试发现现在道招网的PWA推送是瘫痪状态。。。

自己在调试PWA功能期间有如下发现:

浏览器兼容性

对国内手机浏览器而言,PWA基本是废的,不支持接收通知,不支持将PWA应用安装到手机上。

下面是我用鸿蒙系统的华为浏览器截图

file

file

file

没有出现安装入口,也没有显示是否有消息通知权限

自己用家里的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。

file 我目前用的是老的接入方式,没有用v1,后期可以考虑迁移到V1。

然后在网上看的需要在PWA的manifest.json也同步增加这个 file

特别提醒下,之前的在用户订阅的时候传的的publicKey不用轻易更换,因为当初用户订阅生成的endpoint生成是用到了这个publicKey的,如果后期更换了,然后用新的publicKey推送消息的话,是推送不到这些老publicKey订阅的用户,因为校验不会通过的。

平时用到的FCM接口返回的状态码如下:

  • 201 FCM成功接收push通知 (FCM接收到你的通知请求并不代表订阅用户就收到了,这只是成功的必要条件)
  • 401 auth校验不通过,多半Server key有问题
  • 410 订阅用户的endpoint不合法,多半改过publicKey

file

网络

自己在本地调试的时候也发现了消息是否成功发送跟网络也有关系,毕竟FCM是谷歌的,科学上网还是要的,不然在web-push发送消息调用FCM接口会超时的。如果有国外的服务器的话,建议将通知用户接口(必需)和接收订阅用户接口部署在国外的服务器上,否则你跟你的订阅用户就百分百失联了。

如果FCM接口返回的状态是201,该通知消息才有可能被订阅用户收到,谷歌是是收到你的推送意图,但是谷歌能否通知到你的订阅用户就得看你的订阅用户的网络怎么样了,用户的手机系统,我实测的时候pixel手机能收到,国产手机有时候就没有成功收到。。。

总结

我一直都挺喜欢PWA的,只要处理好版本更新控制,PWA缓存功能用的挺爽的,网页打开变快,下次离线也能访问,但是我说的不算,APP、手机系统厂商就对她不感兴趣。PWA现在就是这个不温不火,目前我就知道Instagram、Twitter在用,还有Android Developer、Developer Google在用,在国内就是凉凉的状态了,或许也已经凉透了。

更新时间:
上一篇:Android摸索记录--HMS消息推送下一篇:PWA缓存控制和版本升级实践

相关文章

打开网页或调用接口时Chrome报错ERR_HTTP2_PROTOCOL_ERROR解决方案

少数情况因为网站使用http2配置不当,导致网站打开不正常,Chrome报错ERR_HTTP2_PROTOCOL_ERROR 有的时候我们在调用接口的时候也会出现这类问题,接口一直显示pen 阅读更多…

开始使用QQ浏览器了

QQ浏览器其实比较流氓的,它的流氓在于:就算它不是你的默认浏览器,只要你的电脑上装有QQ浏览器,在你点QQ面板上的QQ空间,QQ邮件等链接时,会自动用QQ浏览器打开,而不是你的默认浏览器,按道理是链接 阅读更多…

android常用的junit

在做android应用时经常要用测试,功能经测试实现了后才最后面的收尾工作,所以在eclipse里面,我们经常会做这样一个操作“run as Android Junit Test” 但是我们不要忘了 阅读更多…

windows最新版chrome出现卡顿?

目前的chrome的最新版本应该是29.0.1547.62 m了吧。 但是最近发现了它出现了卡顿情况。具体是网页的无法滚动,页面卡住无法输入。 目前本人发现,当调整chrome的窗口大小后, 阅读更多…

chrome播放音频、视频没声音

今天发现自己的谷歌chrome浏览器怎么没声音了,纳闷了,于是打开声音混合器里面的 chrome被静音了,打开后又自动关闭,首先想到试下插件,禁用了谷歌自己开发的快捷工具就好了,看了下对快 阅读更多…

Chrome与Firefox将实现无插件voip聊天

周一,Google 和 Mozilla 携手展 示了一下 Firefox 和 Chrome 浏览器 的最新功能,那就是通过支持 WebRTC 开源技术,两大浏览器可以 互相拨打 VoIP 电话和视频电 阅读更多…

关注道招网公众帐号
友情链接
消息推送
道招网关注互联网,分享IT资讯,前沿科技、编程技术,是否允许文章更新后推送通知消息。
允许
不用了