正在使用Quick blox Chat API虽然它有趣且有趣,但在成功向群组发送邮件时却非常困难。
我首先创建了一个ChatDialog(非公共组),并且创建时没有任何问题。现在我想将消息发送到ChatDialog。
这是Swift中客户端的代码:
let user = QBUUser()
user.ID = (QBSession.currentSession().currentUser?.ID)!
user.password = "*********"
QBChat.instance().connectWithUser(user) { (error: NSError?) -> Void in
if error == nil{
print("Success in connection")
self.chatGroup = QBChatDialog(dialogID:self.selectedChatGroup.chatGroupId, type: QBChatDialogType.Group)
self.chatGroup.occupantIDs = self.selectedChatGroup.opponents
self.chatGroup.joinWithCompletionBlock { (err) in
if err == nil{
print("Joined Succesfully")
let message: QBChatMessage = QBChatMessage()
message.text = "PRAISE THE LORD"
message.deliveredIDs = [(QBSession.currentSession().currentUser?.ID)!]
message.readIDs = [(QBSession.currentSession().currentUser?.ID)!]
message.markable = true
self.chatGroup.sendMessage(message, completionBlock: { (error: NSError?) -> Void in
if err == nil{
print(message.text)
print("Message sent Succesfully")
let resPage = QBResponsePage(limit:20, skip: 0)
QBRequest.messagesWithDialogID(self.selectedChatGroup.chatGroupId, extendedRequest: nil, forPage: resPage, successBlock: {(response: QBResponse, messages: [QBChatMessage]?, responcePage: QBResponsePage?) in
print("Messages count is \(messages?.count)")
}, errorBlock: {(response: QBResponse!) in
})
}else{
print(err?.localizedDescription)
}
});
}
else{
print(err?.localizedDescription)
}
}
}
}
这是我回复的响应。我很确定登录聊天,连接到群组是成功的。即使从API返回的响应也肯定发送消息是成功的。但是我无法在Quick blox的管理面板中看到任何消息。还尝试从聊天对话框中获取所有消息,但是它给出了0条消息。所以我的消息没有被传递。
答案 0 :(得分:0)
是的,从Quickblox API获得了解决方案。这是我在代码中遗漏的内容。
var params = NSMutableDictionary()
params["save_to_history"] = true
message.customParameters = params
像魅力一样工作!