2016-01-17 25 views
2

我正面臨一個問題,在羣組類型QBChatDialogTypeGroup中聊天時,我沒有收到消息。 我正在使用下面的代碼消息發送成功並收到其他羣組成員的通知,但隨後羣聊視圖中的用戶無法調用這些方法,然後收到消息。Quickblox chatRoomDidReceiveMessage未撥打

- (void)chatRoomDidReceiveMessage:(QBChatMessage *)message fromRoomJID:(NSString *)roomJID{ 

} 

- (void)chatDidNotSendMessage:(QBChatMessage *)message toRoomJid:(NSString *)roomJid error:(NSError *)error{ 

} 


QBChatDialog *groupChatDialog = qbchatDialog; 

[[QBChat instance] delegates]; 


QBChatMessage *message = [QBChatMessage markableMessage]; 
[message setText:txt]; 
[message setDateSent: [NSDate date]]; 
message.markable =YES; 



message.senderNick=[[NSUserDefaults standardUserDefaults] valueForKey:@"name"]; 

NSMutableDictionary *params = [NSMutableDictionary dictionary]; 
params[@"save_to_history"] = @YES; 
[message setCustomParameters:params]; 


[groupChatDialog joinWithCompletionBlock:^(NSError * _Nullable error) { 

[privateChatDialog sendMessage:message completionBlock:^(NSError * _Nullable error) { 

    }]; 

回答

4

請使用addDelegate:方法來從聊天訂閱通知:

[[QBChat instance] addDelegate:self]; 

和實施QBChatDelegate協議方法(可選):

- (void)chatDidReceiveMessage:(QB_NONNULL QBChatMessage *)message; 
- (void)chatDidReceiveSystemMessage:(QB_NONNULL QBChatMessage *)message; 
- (void)chatRoomDidReceiveMessage:(QB_NONNULL QBChatMessage *)message fromDialogID:(QB_NONNULL NSString *)dialogID; 

Create new dialog文檔。

+0

是的,我已經在使用[[QBChat實例] addDelegate:self]; in viewdidload –

+1

- (void)chatDidReceiveMessage:(QB_NONNULL QBChatMessage *)message; (無效)chatDidReceiveMessage:(QB_NONNULL QBChatMessage *)消息;(無效)chatDidReceiveMessage:(QB_NONNULL QBChatMessage *)消息;此方法完美呼叫在私人聊天中,但在組聊天下方法不調用 - –

+0

你有沒有試過..? - (void)chatRoomDidReceiveMessage:(QB_NONNULL QBChatMessage)來自DialogID的消息:(QB_NONNULL NSString)dialogID; –