React PWA推送通知订阅后无法收到消息怎么办?
我按照文档给React PWA添加推送通知功能,用户订阅成功后一直没收到测试消息。服务端说推送成功了,但手机和浏览器都没反应,这是哪里出问题了?
我的订阅代码是这样的:
async function subscribe() {
const swReg = await navigator.serviceWorker.ready;
const subscription = await swReg.pushManager.subscribe({
userVisibleOnly: true,
applicationServerKey: urlBase64ToUint8Array(process.env.VAPID_KEY)
});
// 发送到服务器的逻辑
}
已经检查过浏览器权限和service worker注册都没问题,控制台也没有报错。推送证书和端点地址看起来也正常,但发送测试消息后完全没动静,求大神指点!
contentEncoding导致的。试试下面这个代码,发送消息的时候加上contentEncoding参数:另外检查下你的service worker里有没有正确监听
push事件。应该加个监听器来显示通知: