我在文档中找不到有关此主题的任何内容,因此我想我应该在这里找到。
FCM 文档指出:
When your app goes into the background, disconnect from FCM.
但没有在哪里说明原因。
我想要做的是当用户与推送通知(可以是本地或远程)交互时从设备发送 FCM 上游消息。
所以我有两个问题:
- 为什么当应用发送到后台时,Firebase 建议我们断开与 FCM 的连接?
- 当应用被终止、暂停或在后台运行时,我可以发送上游消息吗?
这种类型的功能,即用户与通知交互以及即时服务器响应,将成为我的应用的主要部分,我需要知道 Firebase 是否可以实现这一点,否则我需要开始寻找另一种解决方案。
谢谢!
最佳答案
由于我无法在线找到答案,因此我决定实现我的用例并观察行为。我发现了一些事情:
- 您不能依赖 iOS 中的后台执行,例如保持 FCM 连接。系统可以并且将会在低内存状态下终止您的应用。
- 尝试在后台连接到 FCM 将不起作用。下次打开应用程序时,后台发送的任何消息都将排队等待。
- 即使您的后台代码保证运行(例如在通知操作期间),FCM 也无法连接。
根据我的发现,我的问题的答案是:
- 因为您不能依赖 iOS 上的后台执行(请参阅上面的第一个项目符号)。
- 不会,下次打开应用并建立有效的 FCM 连接时,消息会排队等待。
关于ios - Swift Firebase Cloud Messaging - 在后台发送上游消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191935/