BIMClient (conversation)
@interface BIMClient (conversation)
objectivec

BIMClient (conversation) Class

成员函数
返回名称
voidaddConversationListener:
voidremoveConversationListener:
voidgetConversationList:count:completion:
voidgetConversation:completion:
voiddeleteConversation:completion:
voidsetConversationDraft:draft:
voidstickTopConversation:isStickTop:completion:
voidmuteConversation:mute:completion:
voidgetTotalUnreadMessageCount:
voidmarkConversationRead:completion:
voidcreateSingleConversation:completion:
voidcreateGroupConversation:completion:
NSArray<id>*getConversationMemberList:
voidsetGroupName:name:completion:
voidsetGroupNotice:notice:completion:
voidaddGroupMemberList:memberList:completion:
voidremoveGroupMemberList:uidList:completion:
voidleaveGroup:completion:
voiddissolveGroup:completion:
voidsetGroupMemberRole:uidList:role:completion:
函数说明

addConversationListener:
- (void)addConversationListener:(id<BIMConversationListListener>)listener;
objectivec

添加会话监听。

传入参数

参数名类型说明
listenerid会话监听方,参看 BIMConversationListListener。

removeConversationListener:
- (void)removeConversationListener:(id<BIMConversationListListener>)listener;
objectivec

移除会话监听。

传入参数

参数名类型说明
listenerid会话监听方,参看 BIMConversationListListener。

getConversationList:count:completion:
- (void)getConversationList:(uint64_t)cursor count:(int)count completion:(BIMConversationListCompletion)completion;
objectivec

获取会话列表。

传入参数

参数名类型说明
cursoruint64_t分页拉取的游标,第一次默认取传 0。
countint分页拉取的个数。一次分页拉取不宜太多,否则可能影响拉取的速度,建议每次拉取 100 个会话。
completionBIMConversationListCompletion结果回调,其中 *conversations 是拉取到的会话,hasMore标记数据库是否还有会话 ,error 参看 BIMErrorCode。

注意

getConversation:completion:
- (void)getConversation:(NSString *)conversationId completion:(BIMConversationCompletion)completion;
objectivec

获取指定单个会话。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
completionBIMConversationCompletion结果回调,其中 conversation 是拉取到的会话BIMConversation,error 参看 BIMErrorCode。

deleteConversation:completion:
- (void)deleteConversation:(NSString *)conversationId completion:(BIMCompletion)completion;
objectivec

删除会话。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
completionBIMCompletion结果回调,error 参看 BIMErrorCode。

注意
调用本接口后,SDK 会从本地和服务端删除该会话及会话中的历史消息,且不可恢复。

setConversationDraft:draft:
- (void)setConversationDraft:(NSString *)conversationId draft:(NSString *)draft;
objectivec

设置会话草稿。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
draftNSString*草稿内容。

stickTopConversation:isStickTop:completion:
- (void)stickTopConversation:(NSString *)conversationId isStickTop:(BOOL)isStickTop completion:(BIMCompletion)completion;
objectivec

置顶会话。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
isStickTopBOOL是否置顶。
completionBIMCompletion结果回调,其中 error 参看 BIMErrorCode。

muteConversation:mute:completion:
- (void)muteConversation:(NSString *)conversationId mute:(BOOL)mute completion:(BIMCompletion)completion;
objectivec

设置会话免打扰。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
muteBOOL是否设置为免打扰。
completionBIMCompletion结果回调,其中 error 参看 BIMErrorCode。

getTotalUnreadMessageCount:
- (void)getTotalUnreadMessageCount:(BIMConversationUnreadCountCompletion)completion;
objectivec

获取所有会话的未读消息总数。

传入参数

参数名类型说明
completionBIMConversationUnreadCountCompletion结果回调,其中 unreadCount 是获取到的未读数,error 参看 BIMErrorCode。

注意
会话未读消息不包括设置为免打扰会话中的未读消息。

markConversationRead:completion:
- (void)markConversationRead:(NSString *)conversationId completion:(BIMCompletion)completion;
objectivec

标记会话已读。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
completionBIMCompletion结果回调,其中 error 参看 BIMErrorCode。

createSingleConversation:completion:
- (void)createSingleConversation:(NSNumber *)toUid completion:(BIMConversationCompletion)completion;
objectivec

创建单聊会话。

传入参数

参数名类型说明
toUidNSNumber*对方用户 ID。
completionBIMConversationCompletion结果回调,其中 conversation 是拉取到的会话 参看BIMConversation,error 参看 BIMErrorCode

createGroupConversation:completion:
- (void)createGroupConversation:(NSSet<NSNumber *> *)uidList completion:(BIMConversationCompletion)completion;
objectivec

创建群聊。

传入参数

参数名类型说明
uidListNSSet<NSNumber>**用户 ID 列表。
completionBIMConversationCompletion结果回调,其中 conversation 是拉取到的会话 参看BIMConversation,error 参看 BIMErrorCode

getConversationMemberList:
- (NSArray<id<BIMMember>> *)getConversationMemberList:(NSString *)conversationId;
objectivec

获取群成员。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。

返回值
群成员列表回调,参看 BIMMember。

setGroupName:name:completion:
- (void)setGroupName:(NSString *)conversationId name:(NSString *)name completion:(BIMCompletion)completion;
objectivec

设置群组名称。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
nameNSString*群组名称。
completionBIMCompletion完成回调,其中 error 参看 BIMErrorCode。

setGroupNotice:notice:completion:
- (void)setGroupNotice:(NSString *)conversationId notice:(NSString *)notice completion:(BIMCompletion)completion;
objectivec

设置群公告。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
noticeNSString*群公告内容。
completionBIMCompletion完成回调,其中 error 参看 BIMErrorCode。

addGroupMemberList:memberList:completion:
- (void)addGroupMemberList:(NSString *)conversationId memberList:(NSOrderedSet<NSNumber *> *)memberList completion:(BIMParticipantsCompletion)completion;
objectivec

添加群成员。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
memberListNSOrderedSet<NSNumber>**待添加的群成员 ID 列表。
completionBIMParticipantsCompletion结果回调,其中 *participants 是群成员 ID, error 参看 BIMErrorCode。

removeGroupMemberList:uidList:completion:
- (void)removeGroupMemberList:(NSString *)conversationId uidList:(NSSet<NSNumber *> *)uidList completion:(BIMParticipantsCompletion)completion;
objectivec

移除群成员。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
uidListNSSet<NSNumber>**待移除的群成员 ID 列表。
completionBIMParticipantsCompletion结果回调,其中 *participants 是群成员 ID,error 参看 BIMErrorCode。

leaveGroup:completion:
- (void)leaveGroup:(NSString *)conversationId completion:(BIMCompletion)completion;
objectivec

离开群组。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
completionBIMCompletion结果回调,其中 error 参看 BIMErrorCode。

dissolveGroup:completion:
- (void)dissolveGroup:(NSString *)conversationId completion:(BIMCompletion)completion;
objectivec

解散群组。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
completionBIMCompletion结果回调,其中 error 参看 BIMErrorCode。

setGroupMemberRole:uidList:role:completion:
- (void)setGroupMemberRole:(NSString *)conversationId uidList:(NSSet<NSNumber *> *)uidList role:(BIMMemberRole)role completion:(BIMCompletion)completion;
objectivec

设置群成员角色。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
uidListNSSet<NSNumber>**需要更改身份的群成员列表。
roleBIMMemberRole群组角色,参看 BIMMemberRole。
completionBIMCompletion结果回调, 其中 error 参看 BIMErrorCode。
BIMClient
@interface BIMClient : NSObject
objectivec

BIMClient Class

静态函数
返回名称
instancetypesharedInstance
成员函数
返回名称
BOOLinitSDK:config:
voidunInitSDK
voidaddConnectListener:
voidremoveConnectListener:
NSString*getVersion
long longgetServerTime
BIMConnectStautsgetConnectStatus
voidlogin:token:completion:
voidlogoutWithCompletion:
NSString*getCurrentUserID
NSString*getToken
voidaddMessageListener:
voidremoveMessageListener:
BIMMessage*createTextMessage:
BIMMessage*createTextMessage:atUserList:
BIMMessage*createTextAtMessage:atUserList:refMessage:hint:
BIMMessage*createCustomMessage:
BIMMessage*createImageMessage:
BIMMessage*createAudioMessage:
BIMMessage*createVideoMessage:
BIMMessage*createFileMessage:fileName:
NSString*sendMessage:conversationId:saved:progress:completion:
NSString*addLocalMessage:conversationId:saved:
voiddeleteMessage:completion:
voiddeleteLocalMessage:completion:
voidrecallMessage:completion:
voidgetHistoryMessageList:option:completion:
voidrefreshMediaMessage:completion:
函数说明

sharedInstance
+ (instancetype)sharedInstance;
objectivec

获取 BIMClient 单例。

返回值
BIMClient 单例。

initSDK:config:
- (BOOL)initSDK:(int)sdkAppID config:(BIMSDKConfig *)config;
objectivec

初始化 SDK。

传入参数

参数名类型说明
sdkAppIDint从控制台获取的应用 ID。
不同应用 ID 无法进行互通。
configBIMSDKConfig*配置信息,参看 BIMSDKConfig。

返回值

unInitSDK
- (void)unInitSDK;
objectivec

注销 SDK,释放内存缓存资源、注销监听等。

addConnectListener:
- (void)addConnectListener:(id<BIMConnectListener>)listener;
objectivec

设置长链状态监听。

传入参数

参数名类型说明
listenerid长链状态监听方,参看 BIMConnectListener。

removeConnectListener:
- (void)removeConnectListener:(id<BIMConnectListener>)listener;
objectivec

移除长链状态监听。

传入参数

参数名类型说明
listenerid长链状态监听方,参看 BIMConnectListener。

getVersion
- (NSString*)getVersion;
objectivec

获取 SDK 版本号。

返回值
SDK 版本号。

getServerTime
- (long long)getServerTime;
objectivec

获取服务端时间。

返回值
服务端时间戳,单位为毫秒。

getConnectStatus
- (BIMConnectStauts)getConnectStatus;
objectivec

获取连接状态。

返回值
连接状态,参看 BIMConnectStauts。

login:token:completion:
- (void)login:(NSString *)userID token:(NSString *)token completion:(BIMCompletion)completion;
objectivec

登录服务器。

传入参数

参数名类型说明
userIDNSString*用户 ID。
tokenNSString*用户 Token。
completionBIMCompletion登录完成回调,其中 error 参看 BIMErrorCode。

logoutWithCompletion:
- (void)logoutWithCompletion:(BIMCompletion)completion;
objectivec

登出服务器。

传入参数

参数名类型说明
completionBIMCompletion登出完成回调,其中 error 参看 BIMErrorCode。

getCurrentUserID
- (NSString *)getCurrentUserID;
objectivec

获取当前用户 ID。

返回值
用户 ID。

getToken
- (NSString *)getToken;
objectivec

获取当前用户 Token。

返回值
用户 Token。

addMessageListener:
- (void)addMessageListener:(id<BIMMessageListener>)listener;
objectivec

设置消息监听。

传入参数

参数名类型说明
listenerid消息监听方,参看 BIMMessageListener。

removeMessageListener:
- (void)removeMessageListener:(id<BIMMessageListener>)listener;
objectivec

移除消息监听。

传入参数

参数名类型说明
listenerid消息监听方,参看 BIMMessageListener。

createTextMessage:
- (BIMMessage *)createTextMessage:(NSString *)text;
objectivec

创建文本消息。

传入参数

参数名类型说明
textNSString*消息文本。

返回值
消息体,参看 BIMMessage。

createTextMessage:atUserList:
- (BIMMessage *)createTextMessage:(NSString *)text atUserList:(NSArray<NSNumber *> *)atUserList;
objectivec

创建带 @ 标记的消息。

传入参数

参数名类型说明
textNSString*消息文本。
atUserListNSArray<NSNumber>**需要 @ 的用户列表。

返回值
消息体,参看 BIMMessage。

注意
仅可在群组中发送带 @ 标记的消息。

createTextAtMessage:atUserList:refMessage:hint:
- (BIMMessage *)createTextAtMessage:(NSString *)text atUserList:(NSArray<NSNumber *> *)atUserList refMessage:(BIMMessage *)refMessage hint:(NSString *)hint;
objectivec

创建带引用消息的文本消息。

传入参数

参数名类型说明
textNSString*消息文本。
atUserListNSArray<NSNumber>**需要 @ 的用户列表。
refMessageBIMMessage*引用的消息,参看 BIMMessage。
hintNSString*业务透传的引用信息

返回值
消息体,参看 BIMMessage。

createCustomMessage:
- (BIMMessage *)createCustomMessage:(NSDictionary *)content;
objectivec

创建自定义消息。

传入参数

参数名类型说明
contentNSDictionary*自定义参数。

返回值
消息体,参看 BIMMessage。

createImageMessage:
- (BIMMessage *)createImageMessage:(NSString *)imagePath;
objectivec

创建图片消息。

传入参数

参数名类型说明
imagePathNSString*图片路径。

返回值
消息体,参看 BIMMessage。
@note 若图片来自系统相册,需要先把图片导入 App 目录下。

createAudioMessage:
- (BIMMessage *)createAudioMessage:(NSString *)audioFilePath;
objectivec

创建语音消息。

传入参数

参数名类型说明
audioFilePathNSString*音频路径。

返回值
消息体,参看 BIMMessage。

createVideoMessage:
- (BIMMessage *)createVideoMessage:(NSString *)videoFilePath;
objectivec

创建视频消息。

传入参数

参数名类型说明
videoFilePathNSString*视频路径。

返回值
消息体,参看 BIMMessage。
@note 若视频来自系统相册,需要先把视频导入 App 目录下。

createFileMessage:fileName:
- (BIMMessage *)createFileMessage:(NSString *)filePath fileName:(NSString *)fileName;
objectivec

创建文件消息。

传入参数

参数名类型说明
filePathNSString*文件路径。
fileNameNSString*文件名称。

返回值
消息体,参看 BIMMessage。

sendMessage:conversationId:saved:progress:completion:
- (NSString *)sendMessage:(BIMMessage *)message conversationId:(NSString *)conversationId saved:(BIMMessageCompletion)saved progress:(BIMProgress)progress completion:(BIMMessageCompletion)completion;
objectivec

发送消息。

传入参数

参数名类型说明
messageBIMMessage*消息体,由 createXxxMessage 接口创建,参看 BIMMessage。
conversationIdNSString*会话 ID。
savedBIMMessageCompletion消息入库回调,其中message参看BIMMessage, error 参看 BIMErrorCode。
progressBIMProgress媒体消息上传进度回调。
completionBIMMessageCompletion发送结果回调,其中message参看BIMMessage, error 参看 BIMErrorCode。

addLocalMessage:conversationId:saved:
- (NSString *)addLocalMessage:(BIMMessage *)message conversationId:(NSString *)conversationId saved:(BIMMessageCompletion)saved;
objectivec

添加本地消息,不会发送到服务端。

传入参数

参数名类型说明
messageBIMMessage*待发送的消息对象,需要通过对应的 createXXXMessage 接口进行创建。
conversationIdNSString*回话id
savedBIMMessageCompletion消息入库回调,其中message参看BIMMessage, error 参看 BIMErrorCode。

返回值
msgID 消息唯一标识

deleteMessage:completion:
- (void)deleteMessage:(BIMMessage *)message completion:(BIMCompletion)completion;
objectivec

删除本地和服务端消息。

传入参数

参数名类型说明
messageBIMMessage*待删除的消息,参看 BIMMessage。
completionBIMCompletion结果回调,其中message参看BIMMessage, error 参看 BIMErrorCode。

deleteLocalMessage:completion:
- (void)deleteLocalMessage:(BIMMessage *)message completion:(BIMCompletion)completion;
objectivec

删除本地消息。

传入参数

参数名类型说明
messageBIMMessage*待删除的消息,参看 BIMMessage。
completionBIMCompletion结果回调,其中 error 参看 BIMErrorCode。

recallMessage:completion:
- (void)recallMessage:(BIMMessage *)message completion:(BIMCompletion)completion;
objectivec

撤回消息。

传入参数

参数名类型说明
messageBIMMessage*待撤回的消息,参看 BIMMessage。
completionBIMCompletion结果回调,其中 error 参看 BIMErrorCode。

getHistoryMessageList:option:completion:
- (void)getHistoryMessageList:(NSString *)conversationId option:(BIMGetMessageOption *)option completion:(BIMMessageListCompletion)completion;
objectivec

获取历史消息,返回消息顺序从新到旧。

传入参数

参数名类型说明
conversationIdNSString*会话 ID。
optionBIMGetMessageOption*获取消息选项,参看 BIMGetMessageOption。
completionBIMMessageListCompletion结果回调,其中message参看BIMMessage, error 参看 BIMErrorCode。

refreshMediaMessage:completion:
- (void)refreshMediaMessage:(BIMMessage *)message completion:(BIMCompletion)completion;
objectivec

刷新媒体信息,媒体 URL 过期时调用该方法。

传入参数

参数名类型说明
messageBIMMessage*待刷新的消息,参看 BIMMessage。
completionBIMCompletion结果回调,其中 error 参看 BIMErrorCode。