我正在处理交互式推送通知,当我回复PN时,应该更新firbase数据库。它不能很好地运行,因为有时候如果应用程序处于后台,则数据不会实时同步。但是当你打开应用程序时它会推送数据
如果应用处于被杀死状态,则回复甚至不会发送到Firebase DB
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
}
答案 0 :(得分:4)
Firebase数据库不提供后台同步。相反,它会在应用程序正在运行时实时同步数据。对于后台同步,您可以使用Firebase Cloud Messaging唤醒应用程序,以便数据库可以同步其数据。