【问题标题】:Firebase: Listen ChildEventListener even if app exitsFirebase:即使应用退出,也要监听 ChildEventListener
【发布时间】:2017-01-09 13:14:19
【问题描述】:

我正在开发一个 iOS 应用程序,并希望使用 firebase 实时数据库实现推送通知等行为。

如果我的应用正在监听某个 firebase 节点,我会向用户发送本地推送通知,以防该节点被更新。

问题是,如果应用程序没有运行,即用户已经杀死它,我的应用程序会继续侦听该特定节点吗? 我想,在 Android 中,我们已经支持这样的方式,如此链接 (Link) 中所述。

我们能否在 iOS 中实现相同的行为。如果不是,还有什么替代方案?

谢谢

更新

1- 没有什么比在 iOS 应用程序中本地触发推送通知更好的了。我想实现远程通知的行为,但这是做不到的。

2-就监听某些事件而言,当应用程序不在前台或后台时无法完成。

【问题讨论】:

    标签: ios firebase push-notification firebase-realtime-database


    【解决方案1】:

    如果 iOS 应用程序被终止/不在内存中,您将无能为力。

    但是,如果应用程序在后台并且存在于内存中,您可以执行一些任务。 在这种情况下,您可以使用background fetch request

    在 Android 中,有 Services 即使在应用程序被终止时也会运行。但是在 iOS 上,没有这样的东西。

    您可以在根视图控制器中添加Firebase 观察者,并实现background fetch request 以在应用处于后台时继续观察数据。

    【讨论】:

      【解决方案2】:

      当您的应用程序被杀死时,侦听器会断开连接。

      在这种状态下向您的应用发送消息的典型方式是使用推送通知,在 Firebase 中该通知映射到 Firebase Cloud Messaging

      这就是为什么您会经常看到 Firebase 数据库和 Firebase 云消息传递 (FCM) 一起使用的原因:数据库用于在用户打开应用程序时发送消息,而 FCM 用于在以下情况下发送消息应用未激活。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-04
        • 2016-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多