Firebase 云消息传递主题停止工作

Firebase Cloud Messaging topics stopped working

我的设备停止在后台接收带有主题的静默推送通知,但我可以使用 FCM 令牌而不是主题从命令行发送 FCM 请求以在后台触发静默推送通知。我的订阅主题和发送主题通知的代码自从这件事发生之前就没有改变(我知道的最后一次成功是在 2019 年 12 月 31 日——也许与年份转换有关?)。我确实从使用 APNS 证书切换到使用密钥,但我不知道这是否会导致 FCM 主题出现问题。

因为这适用于 FCM 令牌而不是主题我认为这只是一个 Firebase 问题,而不是应用程序或 Apple 配置问题,对吗?

我如何调试才能使其正常工作? Firebase 云消息传递似乎是一个黑盒子...

Firebase 支持首先向我指出了这一点 debugging guide;当人们在通知方面遇到问题时,我怀疑这是他们的第一条建议。

对我来说,问题是围绕主题展开的,我是这样处理的:

  1. 我尝试使用来自我的服务器的 FCM 令牌订阅设备 - 在这样做之后它响应了这个主题,所以我知道问题出在设备订阅本身上。

  2. Swift 主题 subscribe/unsubscribe 调用实际上是异步的,我没有意识到这一点,但在我提供完成处理程序后我可以看出它们没有工作,这导致我的解决方案。