Как обеспечить функциональность поиска группового чата с помощью quickblox

Я хочу реализовать функциональность в приложении чата, с помощью которого пользователь сможет искать группу по ее уникальному предоставленному коду. Я использовал quickblox для реализации функциональности чата. поэтому, пожалуйста, предоставьте мне способ сделать это с помощью quickblox.

1 ответ

Пожалуйста, проверьте официальный документ Quickchat.

SimpleSample-chat_users-ИСН

Они упомянули все детали в своем документе.

Более того, просто скачайте демоверсию и попробуйте реализовать.

Групповой чат

Перед внедрением группового чата не забудьте прочитать типичный раздел настроек.

Типичные настройки [Функциональность в Groupchat]

Аутентификация: история чата: вы можете хранить архив всей истории публичных обсуждений, которая легко поддерживается QuickBlox. Некоторые платформы также потребуют от вас использования механизмов злоупотреблений и модерации, которые также поддерживаются как через API, так и через панель администратора. Вложения файлов: как правило, вложения не поддерживаются 1:1 / чат чата: во многих приложениях вы можете разрешить пользователям начать личное общение с другим пользователем. Фриендирование: QuickBlox поддерживает добавление в друзья или добавление других пользователей в избранное, которое вы можете использовать в своем приложении - см. также [чат: друзья / списки избранных пользователей]

начать групповой чат с созданием диалога.

Create_new_group_chat_dialog

QBChatDialog * chatDialog = [[QBChatDialog alloc] initWithDialogID: нулевой тип:QBChatDialogTypeGroup]; chatDialog.name = @"Общайтесь с Бобом, Сэмом, Гарри"; // устанавливается в соответствии с требованием 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
{
}

Вы можете реализовать необходимые функции в групповом чате с помощью ссылки. Как, Получить онлайн пользователей,Выйти из диалога группового чата, Вложение в группу. и т.п.

Другие вопросы по тегам