ios - Swift Firebase Cloud Messaging - 在后台发送上游消息

标签 ios swift firebase firebase-cloud-messaging

我在文档中找不到有关此主题的任何内容,因此我想我应该在这里找到。

FCM 文档指出:

When your app goes into the background, disconnect from FCM.

但没有在哪里说明原因。

我想要做的是当用户与推送通知(可以是本地或远程)交互时从设备发送 FCM 上游消息。

所以我有两个问题:

  1. 为什么当应用发送到后台时,Firebase 建议我们断开与 FCM 的连接?
  2. 当应用被终止、暂停或在后台运行时,我可以发送上游消息吗?

这种类型的功能,即用户与通知交互以及即时服务器响应,将成为我的应用的主要部分,我需要知道 Firebase 是否可以实现这一点,否则我需要开始寻找另一种解决方案。

谢谢!

最佳答案

由于我无法在线找到答案,因此我决定实现我的用例并观察行为。我发现了一些事情:

  • 您不能依赖 iOS 中的后台执行,例如保持 FCM 连接。系统可以并且将会在低内存状态下终止您的应用。
  • 尝试在后台连接到 FCM 将不起作用。下次打开应用程序时,后台发送的任何消息都将排队等待。
  • 即使您的后台代码保证运行(例如在通知操作期间),FCM 也无法连接。

根据我的发现,我的问题的答案是:

  1. 因为您不能依赖 iOS 上的后台执行(请参阅上面的第一个项目符号)。
  2. 不会,下次打开应用并建立有效的 FCM 连接时,消息会排队等待。

关于ios - Swift Firebase Cloud Messaging - 在后台发送上游消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191935/

相关文章:

swift - 检查 Xcode for macOS apps swift 3 上 NSButton Checkbox 的状态

firebase - Firestore - 特定文档的子集合查询

ios - 将 Objective C Framework 导入我的 Swift 项目后,我的项目无法识别我的桥接文件中的头文件

ios - 如何在不阻塞 UI 的情况下创建 UIView

ios - 将手放在屏幕上,用数字笔在 ipad/iphone 上书写

ios - 无法从collectionView中删除项目

ios - 如何根据条件更改应用程序的颜色主题?

android - Firebase 电话身份验证中的验证是什么意思

javascript - 如何修复vuejs中的 "ReferenceError: require is not defined"

ios - 自定义 UISwitch?