2016-07-11 5 views
3

Я интегрировал quickblox в своем приложении. как я принес все пользовательские в Tableview, используя этот кодотправить сообщение используя quickblox

QBGeneralResponsePage *page = [QBGeneralResponsePage responsePageWithCurrentPage:1 perPage:100]; 
     [QBRequest usersForPage:page successBlock:^(QBResponse *response, QBGeneralResponsePage *pageInformation, NSArray *users) 
      { 

        [_NameArray addObjectsFromArray:users]; 

      } 
         errorBlock:^(QBResponse *response) 
      { 

      }]; 
    } 
     errorBlock:^(QBResponse *response) 
    { 

     NSLog(@"error: %@", response.error); 
    }]; 

в _nameArray Я всю информацию о пользователях в QBUUSER виде объекта

QBUUser *obj = [Array objectAtIndex:indexPath.row]; 
NSString *name = obj.fullname; 

в извлечения всех пользователей. Теперь, когда loginUser нажмите на конкретном контакте или получить пользователь, то я создать закрытую группу один к одному связи с использованием этого кода

-(void)chat 
{ 
    chatDialog = [[QBChatDialog alloc] initWithDialogID:NULL type:QBChatDialogTypePrivate]; 

    chatDialog.occupantIDs = @[@(chatuserobj.ID)]; 

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

    } errorBlock:^(QBResponse *response) { 

    }]; 



} 

и главного отправлять и получать сообщения в том, что виде контроллере я взял текстовое поле для отправки сообщений или таблицы для показа сообщения для отправки сообщения я использовал этот код

-(void)startChat 
{ 
    [[QBChat instance] addDelegate:self]; 


    QBChatMessage *message = [QBChatMessage message]; 

    [message setText:@"Hey there"]; 


    NSMutableDictionary *params = [NSMutableDictionary dictionary]; 
    params[@"save_to_history"] = @YES; 
    [message setCustomParameters:params]; 


    [chatDialog sendMessage:message completionBlock:^(NSError * _Nullable error) 
    { 
     NSLog(@"Message sent"); 

    }]; 

} 

и ниже используется метод делегата

- (void)chatDidReceiveMessage:(QBChatMessage *)message 

I actuall y см. частную группу в панели администратора quickblox, но не видите отправленное сообщение. пожалуйста помогите.

+0

Вы получаете ошибка при отправке сообщения или при создании диалога? Если да, обновите этот вопрос. –

ответ

4

Вместо вас вы такой код:

[chatDialog sendMessage:message completionBlock:^(NSError * _Nullable error) 
{ 
    NSLog(@"Message sent"); 

}]; 

Используйте следующий код:

[QBRequest createMessage:message successBlock:^(QBResponse *response, QBChatMessage *createdMessage) { 
    NSLog(@"success: %@", createdMessage); 
} errorBlock:^(QBResponse *response) { 
    NSLog(@"ERROR: %@", response.error); 
}]; 

Я использую код, как:

#pragma mark Tool bar Actions 
    - (void)didPressSendButton:(UIButton *)button 
     withMessageText:(NSString *)text 
       senderId:(NSUInteger)senderId 
    senderDisplayName:(NSString *)senderDisplayName 
        date:(NSDate *)date { 
[[QBChat instance] addDelegate:self]; 
QBChatMessage *message = [QBChatMessage message]; 
[message setText:text]; 
message.senderID = senderId; 
message.recipientID= [[NSUserDefaults standardUserDefaults] integerForKey:@"CurrentRecipientID"]; 
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); 
[self.chatSectionManager addMessage:createdMessage]; 
} errorBlock:^(QBResponse *response) { 
NSLog(@"ERROR: %@", response.error); 
}]; 

[self finishSendingMessageAnimated:YES]; 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^