我正在开发 iOS 应用程序,并希望使用firebase实时数据库实现推送通知等行为。
如果我的应用正在侦听某个firebase节点,并且我会在节点更新的情况下向用户发送本地推送通知。
问题是,如果应用程序未运行,即用户已将其杀死,我的应用程序是否会继续侦听该特定节点? 我想,在Android中我们支持这样,如此链接(Link)中所述。
我们可以在iOS中实现相同的行为吗?如果不是,可以选择什么?
由于
更新:
1-在iOS应用程序中本地触发推送通知没什么。我想实现远程通知的行为而且无法完成。
2-就收听某些事件而言,当app不在前台或后台时,无法完成。
答案 0 :(得分:4)
如果iOS应用程序在内存中被杀死/不存在,则无法执行任何操作。
但是,如果app在后台,并且存在于内存中,则可以执行某些任务。 在这种情况下,您可以使用background fetch request。
在Android中,即使应用程序被杀,也会运行Services
。但是在iOS上,没有这样的东西。
您可以在根视图控制器中添加Firebase
个观察者,并实现background fetch request
以在应用处于后台时继续观察数据。
答案 1 :(得分:3)
当你的应用程序被杀死时,监听器将被断开连接。
在此状态下向您的应用发送消息的典型方法是使用推送通知,该通知在Firebase中映射到Firebase Cloud Messaging。
这就是为什么您经常会看到Firebase数据库和Firebase云消息传递(FCM)一起使用的原因:数据库用于在用户打开应用程序时发送消息,而FCM用于在发送消息时发送消息该应用未激活。