Я использую QuickBlox-iOS SDK
для общения. Вход/регистрация работает отлично. Кроме того, я могу отправить сообщение, но метод делегатаchatDidReceiveMessage метод не называется QuickBlox
- (void)chatDidReceiveMessage:(QBChatMessage *)message;
не вызывался. Вот код, который я использую для настройки чата. Добавление следующий код в AppDelegate:
// connect to Chat
[[QBChat instance] addDelegate:self];
QBUUser *currentUser = [QBUUser user];
currentUser.ID = [Global sharedInstance].currentUser.ID;
currentUser.password = @"password";
[[QBChat instance] connectWithUser:currentUser completion:^(NSError * _Nullable error) {
NSLog(@"connect to chat error %@",error);
}];
И ниже код, я использую, чтобы отправить сообщение:
QBChatMessage *message = [QBChatMessage message];
message.recipientID=[Global sharedInstance].QBUserID;
message.senderID=[Global sharedInstance].currentUser.ID;
[message setText:messageTextView.text];
message.dateSent = [NSDate date];
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"save_to_history"] = @YES;
[message setCustomParameters:params];
[QBRequest createMessage:message successBlock:^(QBResponse *response, QBChatMessage *createdMessage) {
NSLog(@"success: %@", createdMessage);
} errorBlock:^(QBResponse *response) {
NSLog(@"ERROR: %@", response.error);
}]
Я проверил на QuickBlox
приборной панели. Он показывает все отправленные/полученные сообщения. Но делегат не вызывается, когда я отправляю сообщение другому пользователю. Я не использую никаких дополнительных классов услуг (QMServices
), как они используют в своем примере Project. Любая помощь будет оценена по достоинству. Спасибо
Спасибо за ответ. Что это за константы 'kQMCustomParameterDialogID',' kQMCustomParameterDialogRoomUpdatedDate', 'kQMCustomParameterDialogRoomLastMessageDate',' kQMCustomParameterDialogType'? –
Спасибо. Теперь делегат получает вызов. но сообщение не сохраняется в истории на панели управления. Он появляется в последнем сообщении. Но при нажатии на историю просмотров. Сообщение там не отображается. Я не хочу, чтобы данные ядра пользователя были в моем приложении. –
@SushilSharma Переменная, которая управляет историей, представляет собой настраиваемый параметр 'save_to_history', в этом примере я помещаю его туда. Вы удалили какой-либо пользовательский параметр? – gaskbr