iOS Swift 4 Firebase向多个用户发送消息

时间:2018-04-23 06:45:58

标签: ios swift firebase firebase-cloud-messaging

我使用Firebase作为数据库构建聊天应用。我的聊天1对1工作正常但我想创建用户列表并向所选列表的所有用户发送消息...我怎么能这样做?

这是我的sendMessage功能

fileprivate func sendMessageWithProperties(_ properties: [String: AnyObject]) {
    let ref = Database.database().reference().child("messages")
    let childRef = ref.childByAutoId()
    let toId = user!.id!
    let fromId = Auth.auth().currentUser!.uid
    let timestamp = Int(Date().timeIntervalSinceReferenceDate)

    var values: [String: AnyObject] = ["toId": toId as AnyObject, "fromId": fromId as AnyObject, "timestamp": timestamp as AnyObject]

    properties.forEach({values[$0] = $1})

    childRef.updateChildValues(values) { (error, ref) in
        if error != nil {
            print(error!)
            return
        }

        self.inputContainerView.inputTextField.text = nil

        let userMessagesRef = Database.database().reference().child("user-messages").child(fromId).child(toId)

        let messageId = childRef.key
        userMessagesRef.updateChildValues([messageId: 1])

        let recipientUserMessagesRef = Database.database().reference().child("user-messages").child(toId).child(fromId)
        recipientUserMessagesRef.updateChildValues([messageId: 1])
    }
}

消息表: a busy cat

用户消息表: a busy cat

用户表: a busy cat

0 个答案:

没有答案