Как обеспечить функциональность поиска группового чата с помощью quickblox
Я хочу реализовать функциональность в приложении чата, с помощью которого пользователь сможет искать группу по ее уникальному предоставленному коду. Я использовал quickblox для реализации функциональности чата. поэтому, пожалуйста, предоставьте мне способ сделать это с помощью quickblox.
1 ответ
Пожалуйста, проверьте официальный документ Quickchat.
Они упомянули все детали в своем документе.
Более того, просто скачайте демоверсию и попробуйте реализовать.
Перед внедрением группового чата не забудьте прочитать типичный раздел настроек.
Типичные настройки [Функциональность в Groupchat]
Аутентификация: история чата: вы можете хранить архив всей истории публичных обсуждений, которая легко поддерживается QuickBlox. Некоторые платформы также потребуют от вас использования механизмов злоупотреблений и модерации, которые также поддерживаются как через API, так и через панель администратора. Вложения файлов: как правило, вложения не поддерживаются 1:1 / чат чата: во многих приложениях вы можете разрешить пользователям начать личное общение с другим пользователем. Фриендирование: QuickBlox поддерживает добавление в друзья или добавление других пользователей в избранное, которое вы можете использовать в своем приложении - см. также [чат: друзья / списки избранных пользователей]
начать групповой чат с созданием диалога.
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 { }
Вы можете реализовать необходимые функции в групповом чате с помощью ссылки. Как, Получить онлайн пользователей,Выйти из диалога группового чата, Вложение в группу. и т.п.