IChatManagerChat

Extends Protocol:
IChatManagerBase
Declared In:

Introduction

用户聊天协议, 用于发送, 转发信息

Discussion

所有不带Block回调的异步方法, 需要监听回调时, 需要先将要接受回调的对象注册到delegate中, 示例代码如下: [[[EaseMob sharedInstance] chatManager] addDelegate:self delegateQueue:dispatch_get_main_queue()]



Methods

-asyncForwardMessage:ext:to:isGroup:progress:

异步方法, 将某一条消息转发给另一个聊天用户

-asyncForwardMessage:ext:to:isGroup:progress:prepare:onQueue:completion:onQueue:

异步方法, 将某一条消息转发给另一个聊天用户

-asyncForwardMessage:ext:to:messageType:progress:

异步方法, 将某一条消息转发给另一个聊天用户

-asyncForwardMessage:ext:to:messageType:progress:prepare:onQueue:completion:onQueue:

异步方法, 将某一条消息转发给另一个聊天用户

-asyncResendMessage:progress:

异步方法, 重新发送某一条消息

-asyncResendMessage:progress:prepare:onQueue:completion:onQueue:

异步方法, 重新发送某一条消息

-asyncSendMessage:progress:

异步方法, 发送一条消息

-asyncSendMessage:progress:prepare:onQueue:completion:onQueue:

异步方法, 发送一条消息

-forwardMessage:ext:to:isGroup:progress:error:

将某一条消息转发给另一个聊天用户

-forwardMessage:ext:to:messageType:progress:error:

将某一条消息转发给另一个聊天用户

-resendMessage:progress:error:

重新发送某一条消息

-sendHasReadResponseForMessage:

发送一个"已读消息"(在UI上显示了或者阅后即焚的销毁的时候发送)的回执到服务器

-sendMessage:progress:error:

发送一条消息

-sendReadAckForMessage:

发送一个"已读消息"(在UI上显示了或者阅后即焚的销毁的时候发送)的回执到服务器


asyncForwardMessage:ext:to:isGroup:progress:


异步方法, 将某一条消息转发给另一个聊天用户

@optional

- (EMMessage *)asyncForwardMessage:(EMMessage *)message ext:(NSDictionary *)ext to:(NSString *)username isGroup:(BOOL)isGroup progress:(id<IEMChatProgressDelegate>)progress EM_DEPRECATED_IOS(2_0_3, 2_1_8, "Delete");
Parameters
message

需要转发的消息对象

ext

转发时需要修改的ext(原有需要转发的message的ext不会进行转发)

username

需要转发给聊天对象的username

isGroup

是否是转发到一个群组

progress

发送多媒体信息时的progress回调对象

Return Value

发送的消息对象(因为是异步方法, 不能作为发送完成或发送成功失败与否的判断)

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改. 在发送过程中, EMChatManagerChatDelegate中的willSendMessage:error:和didSendMessage:error:这两个回调会被触发


asyncForwardMessage:ext:to:isGroup:progress:prepare:onQueue:completion:onQueue:


异步方法, 将某一条消息转发给另一个聊天用户

@optional

- (EMMessage *)asyncForwardMessage:(EMMessage *)message ext:(NSDictionary *)ext to:(NSString *)username isGroup:(BOOL)isGroup progress:(id<IEMChatProgressDelegate>)progress prepare:(void (^)(EMMessage *message, EMError *error))prepare onQueue:(dispatch_queue_t)aPrepareQueue completion:(void (^)(EMMessage *message, EMError *error))completion onQueue:(dispatch_queue_t)aCompletionQueue EM_DEPRECATED_IOS(2_0_3, 2_1_8, "Delete");
Parameters
message

需要转发的消息对象

ext

转发时需要修改的ext(原有需要转发的message的ext不会进行转发)

username

需要转发给聊天对象的username

isGroup

是否是转发到一个群组

progress

发送多媒体信息时的progress回调对象

prepare

将要发送消息前的回调block

aPrepareQueue

回调block时的线程

completion

发送消息完成后的回调

aCompletionQueue

回调block时的线程

Return Value

发送的消息对象(因为是异步方法, 不能作为发送完成或发送成功失败与否的判断)

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改.


asyncForwardMessage:ext:to:messageType:progress:


异步方法, 将某一条消息转发给另一个聊天用户

@optional

- (EMMessage *)asyncForwardMessage:(EMMessage *)message ext:(NSDictionary *)ext to:(NSString *)username messageType:(EMMessageType)type progress:(id<IEMChatProgressDelegate>)progress EM_DEPRECATED_IOS(2_0_3, 2_1_8, "Delete");
Parameters
message

需要转发的消息对象

ext

转发时需要修改的ext(原有需要转发的message的ext不会进行转发)

username

需要转发给聊天对象的username

type

转发对象的类型

progress

发送多媒体信息时的progress回调对象

Return Value

发送的消息对象(因为是异步方法, 不能作为发送完成或发送成功失败与否的判断)

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改. 在发送过程中, EMChatManagerChatDelegate中的willSendMessage:error:和didSendMessage:error:这两个回调会被触发


asyncForwardMessage:ext:to:messageType:progress:prepare:onQueue:completion:onQueue:


异步方法, 将某一条消息转发给另一个聊天用户

@optional

- (EMMessage *)asyncForwardMessage:(EMMessage *)message ext:(NSDictionary *)ext to:(NSString *)username messageType:(EMMessageType)type progress:(id<IEMChatProgressDelegate>)progress prepare:(void (^)(EMMessage *message, EMError *error))prepare onQueue:(dispatch_queue_t)aPrepareQueue completion:(void (^)(EMMessage *message, EMError *error))completion onQueue:(dispatch_queue_t)aCompletionQueue EM_DEPRECATED_IOS(2_0_3, 2_1_8, "Delete");
Parameters
message

需要转发的消息对象

ext

转发时需要修改的ext(原有需要转发的message的ext不会进行转发)

username

需要转发给聊天对象的username

type

转发对象的类型

progress

发送多媒体信息时的progress回调对象

prepare

将要发送消息前的回调block

aPrepareQueue

回调block时的线程

completion

发送消息完成后的回调

aCompletionQueue

回调block时的线程

Return Value

发送的消息对象(因为是异步方法, 不能作为发送完成或发送成功失败与否的判断)

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改.


asyncResendMessage:progress:


异步方法, 重新发送某一条消息

@required

- (EMMessage *)asyncResendMessage:(EMMessage *)message progress:(id<IEMChatProgressDelegate>)progress;
Parameters
message

消息对象(包括from, to, body列表等信息)

progress

发送多媒体信息时的progress回调对象

Return Value

发送的消息对象(因为是异步方法, 不能作为发送完成或发送成功失败与否的判断)

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改. 在发送过程中, EMChatManagerChatDelegate中的willSendMessage:error:和didSendMessage:error:这两个回调会被触发


asyncResendMessage:progress:prepare:onQueue:completion:onQueue:


异步方法, 重新发送某一条消息

@required

- (EMMessage *)asyncResendMessage:(EMMessage *)message progress:(id<IEMChatProgressDelegate>)progress prepare:(void (^)(EMMessage *message, EMError *error))prepare onQueue:(dispatch_queue_t)aPrepareQueue completion:(void (^)(EMMessage *message, EMError *error))completion onQueue:(dispatch_queue_t)aCompletionQueue;
Parameters
message

消息对象(包括from, to, body列表等信息)

progress

发送多媒体信息时的progress回调对象

prepare

将要发送消息前的回调block

aPrepareQueue

回调block时的线程

completion

发送消息完成后的回调

aCompletionQueue

回调block时的线程

Return Value

发送的消息对象(因为是异步方法, 不能作为发送完成或发送成功失败与否的判断)

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改


asyncSendMessage:progress:


异步方法, 发送一条消息

@required

- (EMMessage *)asyncSendMessage:(EMMessage *)message progress:(id<IEMChatProgressDelegate>)progress;
Parameters
message

消息对象(包括from, to, body列表等信息)

progress

发送多媒体信息时的progress回调对象

Return Value

发送的消息对象(因为是异步方法, 不能作为发送完成或发送成功失败与否的判断)

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改. 在发送过程中, willSendMessage:error:和didSendMessage:error:这两个回调会被触发


asyncSendMessage:progress:prepare:onQueue:completion:onQueue:


异步方法, 发送一条消息

@required

- (EMMessage *)asyncSendMessage:(EMMessage *)message progress:(id<IEMChatProgressDelegate>)progress prepare:(void (^)(EMMessage *message, EMError *error))prepare onQueue:(dispatch_queue_t)aPrepareQueue completion:(void (^)(EMMessage *message, EMError *error))completion onQueue:(dispatch_queue_t)aCompletionQueue;
Parameters
message

消息对象(包括from, to, body列表等信息)

progress

发送多媒体信息时的progress回调对象

prepare

将要发送消息前的回调block

aPrepareQueue

回调block时的线程

completion

发送消息完成后的回调

aCompletionQueue

回调block时的线程

Return Value

发送的消息对象(因为是异步方法, 不能作为发送完成或发送成功失败与否的判断)

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改


forwardMessage:ext:to:isGroup:progress:error:


将某一条消息转发给另一个聊天用户

@optional

- (EMMessage *)forwardMessage:(EMMessage *)message ext:(NSDictionary *)ext to:(NSString *)username isGroup:(BOOL)isGroup progress:(id<IEMChatProgressDelegate>)progress error:(EMError **)pError EM_DEPRECATED_IOS(2_0_3, 2_1_8, "Delete");
Parameters
message

需要转发的消息对象

ext

转发时需要修改的ext(原有需要转发的message的ext不会进行转发)

username

需要转发给聊天对象的username

isGroup

是否是转发到一个群组

progress

发送多媒体信息时的progress回调对象

pError

错误信息

Return Value

发送的消息对象


forwardMessage:ext:to:messageType:progress:error:


将某一条消息转发给另一个聊天用户

@optional

- (EMMessage *)forwardMessage:(EMMessage *)message ext:(NSDictionary *)ext to:(NSString *)username messageType:(EMMessageType)type progress:(id<IEMChatProgressDelegate>)progress error:(EMError **)pError EM_DEPRECATED_IOS(2_0_3, 2_1_8, "Delete");
Parameters
message

需要转发的消息对象

ext

转发时需要修改的ext(原有需要转发的message的ext不会进行转发)

username

需要转发给聊天对象的username

type

转发对象的类型

progress

发送多媒体信息时的progress回调对象

pError

错误信息

Return Value

发送的消息对象


resendMessage:progress:error:


重新发送某一条消息

@required

- (EMMessage *)resendMessage:(EMMessage *)message progress:(id<IEMChatProgressDelegate>)progress error:(EMError **)pError;
Parameters
message

消息对象(包括from, to, body列表等信息)

progress

发送多媒体信息时的progress回调对象

pError

错误信息

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改


sendHasReadResponseForMessage:


发送一个"已读消息"(在UI上显示了或者阅后即焚的销毁的时候发送)的回执到服务器

@optional

- (void)sendHasReadResponseForMessage:(EMMessage *)message EM_DEPRECATED_IOS(2_0_0, 2_1_6, "Use - sendReadAckForMessage:");
Parameters
message

从服务器收到的消息


sendMessage:progress:error:


发送一条消息

@required

- (EMMessage *)sendMessage:(EMMessage *)message progress:(id<IEMChatProgressDelegate>)progress error:(EMError **)pError;
Parameters
message

消息对象(包括from, to, body列表等信息)

progress

发送多媒体信息时的progress回调对象

pError

错误信息

Return Value

发送完成后的消息对象

Discussion

待发送的消息对象和发送后的消息对象是同一个对象, 在发送过程中对象属性可能会被更改


sendReadAckForMessage:


发送一个"已读消息"(在UI上显示了或者阅后即焚的销毁的时候发送)的回执到服务器

@required

- (void)sendReadAckForMessage:(EMMessage *)message;
Parameters
message

从服务器收到的消息