NIMChatManager Protocol Reference

Conforms to NSObject
Declared in NIMChatManagerProtocol.h

Overview

聊天协议

– sendMessage:toSession:error: required method

发送消息

- (BOOL)sendMessage:(NIMMessage *)message toSession:(NIMSession *)session error:(NSError *__nullable *)error

Parameters

message

消息

session

接受方

error

错误 如果在准备发送消息阶段发生错误,这个error会被填充相应的信息

Return Value

是否调用成功,这里返回的 result 只是表示当前这个函数调用是否成功,需要后续的回调才能够判断消息是否已经发送至服务器

Discussion

发送消息

Declared In

NIMChatManagerProtocol.h

– sendMessage:toSession:completion: required method

异步发送消息

- (void)sendMessage:(NIMMessage *)message toSession:(NIMSession *)session completion:(__nullable NIMChatManagerBlock)completion

Parameters

message

消息

session

接收方

completion

发送完成后的回调,这里的回调完成只表示当前这个函数调用完成,需要后续的回调才能判断消息是否已经发送至服务器

Discussion

异步发送消息

Declared In

NIMChatManagerProtocol.h

– cancelSendingMessage: required method

取消正在发送的消息

- (BOOL)cancelSendingMessage:(NIMMessage *)message

Parameters

message

目标消息

Return Value

是否调用成功

Discussion

取消正在发送的消息

Declared In

NIMChatManagerProtocol.h

– resendMessage:error: required method

重发消息

- (BOOL)resendMessage:(NIMMessage *)message error:(NSError *__nullable *)error

Parameters

message

重发消息

error

错误 如果在准备发送消息阶段发生错误,这个error会被填充相应的信息

Return Value

是否调用成功,这里返回的 result 只是表示当前这个函数调用是否成功,需要后续的回调才能够判断消息是否已经发送至服务器

Discussion

重发消息

Declared In

NIMChatManagerProtocol.h

– makeForwardMessageFromMessage:error: required method

生成转发消息 得到转发消息后,开发者需要自己再调用sendForwardMessage:toSession:error: 进行发送, 和 直接调用forwardMessage:toSession:error:效果一样,但是这样可以得到转发消息的进度方法回调和是否转发成功方法回调

- (NIMMessage *)makeForwardMessageFromMessage:(NIMMessage *)message error:(NSError *__autoreleasing _Nullable *_Nullable)error

Parameters

message

要转发的消息

error

错误 如果在准备发送消息阶段发生错误,这个error会被填充相应的信息

Return Value

生成的需要转发的消息

Discussion

生成转发消息 得到转发消息后,开发者需要自己再调用sendForwardMessage:toSession:error: 进行发送, 和 直接调用forwardMessage:toSession:error:效果一样,但是这样可以得到转发消息的进度方法回调和是否转发成功方法回调

Declared In

NIMChatManagerProtocol.h

– sendForwardMessage:toSession:error: required method

发送生成的转发消息

- (BOOL)sendForwardMessage:(NIMMessage *)message toSession:(NIMSession *)session error:(NSError *__nullable *)error

Parameters

message

转发消息

session

接受方

error

错误 如果在准备发送消息阶段发生错误,这个error会被填充相应的信息

Return Value

是否调用成功,这里返回的 result 只是表示当前这个函数调用是否成功,需要后续的回调才能够判断消息是否已经发送至服务器

Discussion

发送生成的转发消息

Declared In

NIMChatManagerProtocol.h

– forwardMessage:toSession:error: required method

转发消息

- (BOOL)forwardMessage:(NIMMessage *)message toSession:(NIMSession *)session error:(NSError *__nullable *)error

Parameters

message

消息

session

接收方

error

错误 如果在准备发送消息阶段发生错误,这个error会被填充相应的信息

Return Value

是否调用成功,这里返回的 result 只是表示当前这个函数调用是否成功,需要后续的回调才能够判断消息是否已经发送至服务器

Discussion

转发消息

Declared In

NIMChatManagerProtocol.h

– sendMessageReceipt:completion: required method

发送已读回执 (P2P)

- (void)sendMessageReceipt:(NIMMessageReceipt *)receipt completion:(nullable NIMSendMessageReceiptBlock)completion

Parameters

receipt

已读回执

completion

完成回调

Discussion

发送已读回执 (P2P)

此接口仅适用于 P2P 消息,群消息已读回执使用 sendTeamMessageReceipts:completion 如果已有比当前已读回执时间戳更大的已读回执已确认,则接口返回成功。

Declared In

NIMChatManagerProtocol.h

– sendTeamMessageReceipts:completion: required method

发送已读回执 (Team 批量接口)

- (void)sendTeamMessageReceipts:(NSArray<NIMMessageReceipt*> *)receipts completion:(nullable NIMSendTeamMessageReceiptsBlock)completion

Parameters

receipts

已读回执

completion

完成回调

Discussion

发送已读回执 (Team 批量接口)

此接口仅适用于 Team 消息。

Declared In

NIMChatManagerProtocol.h

– refreshTeamMessageReceipts: required method

刷新群组消息已读、未读数量

- (void)refreshTeamMessageReceipts:(NSArray<NIMMessage*> *)messages

Parameters

messages

要查询的消息集合

Discussion

刷新群组消息已读、未读数量

消息已读变化后,会通过 NIMChatManager 的代理 onRecvMessageReceipts: 回调给上层 刷新的消息必须为群组消息

Declared In

NIMChatManagerProtocol.h

– queryMessageReceiptDetail:completion: required method

查询群组消息回执详情

- (void)queryMessageReceiptDetail:(NIMMessage *)message completion:(NIMQueryReceiptDetailBlock)completion

Parameters

message

要查询的消息

completion

完成后的回调

Discussion

查询群组消息回执详情

详情包括已读人数的 id 列表和未读人数的 id 列表 查询详情对象不会跟着回执人数变化而变化,如果要获取最新的详情,必须再次调用此接口

Declared In

NIMChatManagerProtocol.h

– queryMessageReceiptDetail:accountSet:completion: required method

查询群组消息指定用户的回执详情

- (void)queryMessageReceiptDetail:(NIMMessage *)message accountSet:(NSSet *)accountSet completion:(NIMQueryReceiptDetailBlock)completion

Parameters

message

待查询的消息

accountSet

指定的用户的账号组成的NSSet

Return Value

该消息的已读、未读账号列表

Discussion

查询群组消息指定用户的回执详情

Declared In

NIMChatManagerProtocol.h

– localMessageReceiptDetail: required method

从本地数据库查询单条群组消息已读、未读账号列表 注意!!!:这里获取的数据通常比离线前的列表信息更陈旧

- (nullable NIMTeamMessageReceiptDetail *)localMessageReceiptDetail:(NIMMessage *)message

Parameters

message

待查询的消息

Return Value

该消息的已读、未读账号列表

Discussion

从本地数据库查询单条群组消息已读、未读账号列表 注意!!!:这里获取的数据通常比离线前的列表信息更陈旧

Declared In

NIMChatManagerProtocol.h

– localMessageReceiptDetail:accountSet: required method

从本地数据库查询单条群组消息在指定用户中的已读、未读账号列表(同步接口) 注意!!!:这里获取的数据通常比离线前的列表信息更陈旧

- (nullable NIMTeamMessageReceiptDetail *)localMessageReceiptDetail:(NIMMessage *)message accountSet:(NSSet *)accountSet

Parameters

message

待查询的消息

accountSet

指定的用户的账号组成的NSSet

Return Value

该消息的已读、未读账号列表

Discussion

从本地数据库查询单条群组消息在指定用户中的已读、未读账号列表(同步接口) 注意!!!:这里获取的数据通常比离线前的列表信息更陈旧

Declared In

NIMChatManagerProtocol.h

– revokeMessage:completion: required method

撤回消息,不含推送信息

- (void)revokeMessage:(NIMMessage *)message completion:(nullable NIMRevokeMessageBlock)completion

Parameters

message

需要被撤回的消息

completion

完成回调

Discussion

撤回消息,不含推送信息

消息计入未读数

Declared In

NIMChatManagerProtocol.h

– revokeMessage:apnsContent:apnsPayload:shouldBeCounted:completion: required method

撤回消息

- (void)revokeMessage:(NIMMessage *)message apnsContent:(nullable NSString *)apnsContent apnsPayload:(nullable NSDictionary *)apnsPayload shouldBeCounted:(BOOL)should completion:(nullable NIMRevokeMessageBlock)completion

Parameters

message

需要被撤回的消息

apnsContent

云信推送内容,长度限制500字

apnsPayload

云信推送payload信息,长度限制 2K

should

是否计入未读数

completion

完成回调

Discussion

撤回消息

Declared In

NIMChatManagerProtocol.h

– revokeMessage:option:completion: required method

撤回消息

- (void)revokeMessage:(NIMMessage *)message option:(NIMRevokeMessageOption *)option completion:(nullable NIMRevokeMessageBlock)completion

Parameters

message

需要被撤回的消息

option

撤回的配置选项

completion

完成回调

Discussion

撤回消息

消息计入未读数

Declared In

NIMChatManagerProtocol.h

– fetchMessageAttachment:error: required method

收取消息附件

- (BOOL)fetchMessageAttachment:(NIMMessage *)message error:(NSError *__nullable *)error

Parameters

message

需要收取附件的消息

error

错误

Return Value

是否调用成功

Discussion

收取消息附件

附件包括:图片消息的图片缩略图,视频消息的视频缩略图,音频消息的音频文件,文件消息的文件以及自定义消息中的自定义文件 个人和群组消息 SDK 会在收到该消息时自动调用本接口,自动下载除 “文件消息的文件” 外的所有附件内容

Declared In

NIMChatManagerProtocol.h

– cancelFetchingMessageAttachment: required method

取消收取消息附件

- (void)cancelFetchingMessageAttachment:(NIMMessage *)message

Parameters

message

需要取消收取附件的消息

Discussion

取消收取消息附件

附件包括:图片消息的图片缩略图,视频消息的视频缩略图,音频消息的音频文件,文件消息的文件以及自定义消息中的自定义文件 个人和群组消息。SDK 不会触发任何下载回调

Declared In

NIMChatManagerProtocol.h

– messageInTransport: required method

消息是否正在传输 (发送/接受附件)

- (BOOL)messageInTransport:(NIMMessage *)message

Parameters

message

消息

Return Value

是否正在传输

Discussion

消息是否正在传输 (发送/接受附件)

Declared In

NIMChatManagerProtocol.h

– messageTransportProgress: required method

传输消息的进度 (发送/接受附件)

- (float)messageTransportProgress:(NIMMessage *)message

Parameters

message

消息

Return Value

正在传输的消息进度,如果消息不在传输,则返回0

Discussion

传输消息的进度 (发送/接受附件)

Declared In

NIMChatManagerProtocol.h

– addDelegate: required method

添加聊天委托

- (void)addDelegate:(id<NIMChatManagerDelegate>)delegate

Parameters

delegate

聊天委托

Discussion

添加聊天委托

Declared In

NIMChatManagerProtocol.h

– removeDelegate: required method

移除聊天委托

- (void)removeDelegate:(id<NIMChatManagerDelegate>)delegate

Parameters

delegate

聊天委托

Discussion

移除聊天委托

Declared In

NIMChatManagerProtocol.h