iOS后台运行时Firebase数据库事务处理

3
我正在处理交互式推送通知的工作,当我回复推送通知后,应该更新firebase数据库。但是由于有时候应用程序处于后台,数据无法实时同步,因此无法正常工作。但是当您打开应用程序时,它会推送数据。

如果应用程序被关闭,则甚至不会将回复发送到Firebase数据库。
Ref.child(uId).runTransactionBlock({ (currentData: FIRMutableData) -> FIRTransactionResult in
var value = currentData.value as? [String : AnyObject]
           
           if value == nil {
                return FIRTransactionResult.success(withValue: currentData)
           }

           let totR = value!["totalReply"] as? Int ?? 0
           print(totR)
           value?["totalReply"] =  totR + 1

           currentData.value = value
}
1个回答

4

Firebase数据库不提供后台同步。相反,它在应用程序处于活动状态时实时同步数据。如果需要后台同步,您可以使用Firebase Cloud Messaging唤醒应用程序,以便数据库可以同步其数据。


那真是不方便,Firebase数据库事务如果应用程序被杀死,甚至不会存储数据,如果在后台运行,则会在应用程序打开时获取和同步数据,而不是在此之前。 - vinbhai4u

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接