网络推送通知在 Safari 上停止工作

问题描述 投票:0回答:1

我已经使用 Firebase 为基于 NextJs 13 构建的网站实现了 Web 推送通知,并且它们在桌面 Chrome 和 Android Chrome 上完美运行。但在 Safari macOS 和 IOS 上,将网站添加到主屏幕后,用户在 3-4 个通知后最初开始接收通知,即使用户什么都不做,只是让 PWA 打开,用户也会停止接收前台和后台通知。在进一步调试时,我发现 FCM 设备令牌发生了变化。

我不知道为什么它会自动改变而不做任何事情它只发生在IOS上。

IOS 版本 17.3 和 16.7,Firebase 版本 10.7.1

通知应该可以正常工作,因为它们在其他平台上工作。

firebase push-notification safari progressive-web-apps next.js13
1个回答
0
投票

好吧,经过一番研究后我发现了问题。 Apple 不允许在 Safari MacOS 和 IOS 上显示前台通知。因此,如果我在应用程序位于前台时收到通知并使用烤面包机将其显示给用户,并且不将其推送到操作系统通知中心,则在 3 个通知后,Firebase 设备令牌会发生更改。因此,在 Safari 中我们总是需要推送通知,我们不能在网络上有静默通知。

这个 GitHub 问题帮助很大

https://github.com/firebase/firebase-js-sdk/issues/6620#issuecomment-1525230346

© www.soinside.com 2019 - 2024. All rights reserved.