我正在使用Firebase并在Swift 2.3和Xcode 7.3中工作 我使用 JSQMessagesViewController 创建聊天应用程序 在实时模式和后台模式下聊天工作正常
我想在WhatsApp和Messenger等气泡中设置消息的读取,待处理和未读状态。
AnyOne帮助我????
答案 0 :(得分:1)
是的,我解决了这个问题, 只需添加ChilChanged的观察者,当你更改firebase中的任何值时,这个观察者将触发
messageRef = channelRef!.child("messages")
messageRef.observeEventType(FIRDataEventType.ChildChanged, withBlock: { (snapshot) in
}) { (e) in
print(e.localizedDescription)
}
当您收到消息时,只需更新您的状态,当您执行此操作时,上述方法将在朋友设备上触发,您可以更改与Firebase数据库相关的本地对象
messageRef.observeEventType(FIRDataEventType.ChildAdded, withBlock: { (snapshot) in
if messageData["status"] as String! == "Sent"{
let prntRef = FIRDatabase.database().reference().child("friends").child(self.chatId).child("messages").child(refKey)
prntRef.updateChildValues(["status":"Read"])
}
}) { (e) in
print(e.localizedDescription)
MBProgressHUD.hideHUDForView(self.view, animated: true)
}