我在应用程序中使用QuickBlox进行私人和群组公共聊天。 我已经使用QBChat的 addDelegate:方法添加了委托,在委托的 chatDidReceiveMessage:方法中发送消息并获取传入的消息。 私聊时一切正常,公共团体 chatDidReceiveMessage:未触发,但我在日志中看到收到的消息:
Message RCV: <message xmlns="jabber:client" id="5677e315a28f9a1aa10007df" to="7084298-30903@chat.quickblox.com/7B2CAB4D-1BCE-44EF-B6E4-2B4E8C5D4DF9" type="groupchat" from="30903_5671612da28f9abe16003e94@muc.chat.quickblox.com/7106776"><body>2</body><extraParams xmlns="jabber:client"><date_sent>1450697496.373676</date_sent><dialog_id>5671612da28f9abe16003e94</dialog_id></extraParams><delay xmlns="urn:xmpp:delay" stamp="2015-12-21T11:31:34Z"/></message>
私人和公共聊天的消息发送代码是相同的:
[QBRequest createMessage:message successBlock:^(QBResponse * _Nonnull response, QBChatMessage * _Nonnull createdMessage) {
//
** success callback here **
[dialog sendMessage:createdMessage completionBlock:NULL];
//
} errorBlock:^(QBResponse * _Nonnull response) {
//
// ** error callback here**
}];
这是一个错误还是我错过了关于邮件发送的内容?
答案 0 :(得分:0)
好的,明白了。
要抓住发布到房间的消息,您必须使用其他委托方法 - chatRoomDidReceiveMessage:fromDialogID:。我被 chatDidReceiveMessage:方法的名称所迷惑,因为这个问题的文档除了&#34;在从QBChat&#34;收到新邮件时被解雇了。