2016-03-07 60 views
0

为群组创建聊天对话框时。 例如,用户A正在创建对话框,并且用户B想要使用该对话框。 但有时情况发生,用户A创建一个对话框,然后用户B创建另一个对话框。 因此,由于两个不同的对话框,他们无法与对方聊天。 下面是我用来创建对话框代码: -聊天时会创建多个对话框Quickblox

-(void) moveToChatView:(QBChatDialog *)chatDialog ObjFriend:(Friend *)objFriend 

{ 
    [QBRequest createDialog:chatDialog successBlock:^(QBResponse *response, QBChatDialog *createdDialog) 

    { 
     // Success, do something 
    } 
    errorBlock:^(QBResponse *response) 
    { 

    }]; 
} 

编辑: - 有没有像createOrJoinRoomWithName任何方法?

+0

你想对话只为A和B或像A,B,C,D这样的组? –

+0

嗨巴达尔,我想它像A,B,C,D可以有很多用户。所以我想要一个组 –

回答

2

如果您想在groupchat中添加用户,则需要更新组对话。

QBChatDialog *updateDialog = [[QBChatDialog alloc] initWithDialogID:@"53aac645535c12bd3b008a40" type:QBChatDialogTypeGroup]; 
updateDialog.pushOccupantsIDs = @[@"300", @"301", @"302"]; 
updateDialog.name = @"school friends"; 

[QBRequest updateDialog:updateDialog successBlock:^(QBResponse *responce, QBChatDialog *dialog) { 

} errorBlock:^(QBResponse *response) { 

}]; 

对于更详细检查此Update_group_dialog

以及在集体对话检查聊天Chat_in_group_dialog

不要忘记使用委托方法。

编译标志QBChatDelegate

- (void)chatRoomDidReceiveMessage:(QBChatMessage *)message fromDialogId:(NSString *)dialogId{ 

} 

编辑1: -你会得到DialogId与retriving所有对话。

QBResponsePage *page = [QBResponsePage responsePageWithLimit:100 skip:0]; 

[QBRequest dialogsForPage:page extendedRequest:nil successBlock:^(QBResponse *response, NSArray *dialogObjects, NSSet *dialogsUsersIDs, QBResponsePage *page) { 

} errorBlock:^(QBResponse *response) { 

}]; 

编辑2: -要知道dialogId创造新的对话框使用createChatNotificationForGroupChatCreation方法时。

- (QBChatMessage *)createChatNotificationForGroupChatCreation:(QBDialog *)dialog 
{ 
    // create message: 
    QBChatMessage *inviteMessage = [QBChatMessage message]; 

    NSMutableDictionary *customParams = [NSMutableDictionary new]; 
    customParams[@"xmpp_room_jid"] = dialog.roomJID; 
    customParams[@"name"] = dialog.name; 
    customParams[@"_id"] = dialog.ID; 
    customParams[@"type"] = @(dialog.type); 
    customParams[@"occupants_ids"] = [dialog.occupantIDs componentsJoinedByString:@","]; 

    // Add notification_type=1 to extra params when you created a group chat 
    // 
    customParams[@"notification_type"] = @"1"; 

    inviteMessage.customParameters = customParams; 

    return inviteMessage; 
} 
+0

但是badal有一个场景。我不知道该对话框是否已经存在或不存在? 如果更新对话框不存在,更新对话框会返回一个错误吗? –

+0

我如何知道dialogID?我已经在initWithDialogID –

+0

dialogID中传递了对你的帮助。 –