0

我想在聊天应用程序中实现一个功能,用户将能够通过其提供的唯一代码搜索组。我使用 quickblox 来实现聊天功能。所以请为我提供一种使用 quickblox 实现该功能的方法。

4

1 回答 1

0

请查看 Quickchat 的官方文档。

SimpleSample-chat_users-ios

他们在文档中提到了所有细节。

此外,只需下载演示并尝试实施。

群聊

在实施群聊之前不要忘记阅读典型设置部分。

典型设置【群聊功能】

身份验证:聊天历史记录:您可能希望保留 QuickBlox 轻松支持的所有公共讨论历史记录的存档。某些平台还需要您实施滥用和审核机制,这些机制也通过 API 和管理面板得到支持。文件附件:通常不支持附件 1:1 / IM 聊天:在许多应用程序中,您可能希望允许用户与其他用户开始私人通信 交友:QuickBlox 支持交友或将其他用户添加到您可能在您的应用程序中使用的收藏夹 -另请参阅 [聊天:交友/最喜欢的用户列表]

通过创建对话开始群聊。

Create_new_group_chat_dialog

QBChatDialog *chatDialog = [[QBChatDialog alloc] initWithDialogID:null type:QBChatDialogTypeGroup]; chatDialog.name = @"与 Bob、Sam、Garry 聊天"; //根据需求设置 chatDialog.occupantIDs = @[@(55), @(678), @(22)];

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

} errorBlock:^(QBResponse *response) {

}];

第二步 --> 创建聊天通知

- (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;
}

...

for (NSString *occupantID in dialog.occupantIDs) {

    QBChatMessage *inviteMessage = [self createChatNotificationForGroupChatCreation:dialog];

    NSTimeInterval timestamp = (unsigned long)[[NSDate date] timeIntervalSince1970];
    customParams[@"date_sent"] = @(timestamp);

    // send notification
    //
    inviteMessage.recipientID = [occupantID integerValue];

    [[QBChat instance] sendSystemMessage:inviteMessage completion:^(NSError * _Nullable error) {

    }];
}

您将在此代表中收到对手。

- (void)chatDidReceiveSystemMessage:(QBChatMessage *)message
{
}

您可以使用 abolve 链接在群聊中实现所需的功能。比如,获取在线用户离开群聊对话框在群中添加附件。等等

于 2016-02-26T09:23:11.433 回答