iOS SDK API

更新时间: 2024/06/12 11:34:33

本文介绍 iOS SDK API 的概述性信息,并列出核心 API 与核心类或接口类,方便您查阅 API 信息。

SDK API 概述

点击查看 API 概述

调用方式

IM 所有业务均通过 NIMSDK 单例进行调用。虽然所有的云信接口都是线程安全的,但为了防范于未然,推荐您只在主线程调用相应接口。

@interface NIMSDK : NSObject
/**
 *  获取SDK实例
 *  @return NIMSDK实例
 */
+ (instancetype)sharedSDK;
@end

以获取聊天管理类为例:

id<NIMChatManager> chatManager = [[NIMSDK sharedSDK] chatManager];

通知方式

IM iOS SDK 通过以下两种方式通知上层 API 调用结果。两种方式都只在主线程触发。

  • 回调(callback),一般回调接口直接反映在对应接口的 completion 参数上,调用时设置即可。
  • 委托(delegate),委托则需要开发者在合适的时机,在对应管理类上进行添加和移除:一般推荐在相应 ViewController 或管理类初始化进行委托注册,在其销毁时进行移除。

例如,开发者需要在会话页上监听消息的发送结果。

@implementation MySessionViewController
- (void)dealloc
{
  ...
    [[NIMSDK sharedSDK].chatManager removeDelegate:self];
  ...
}
- (void)viewDidLoad 
{
  ...
    [[NIMSDK sharedSDK].chatManager addDelegate:self];
  ...
}
#pragma mark - NIMChatManagerDelegate
- (void)sendMessage:(NIMMessage *)message didCompleteWithError:(NSError *)error
{
    //发送结果
}

所有调用错误都会以 NSError 的形式暴露。针对不同场景,我们将错误进行分类,主要分为以下两种错误域和对应错误码:

错误域 错误码 说明
NIMLocalErrorDomain NIMLocalErrorCode 本地操作出错导致
NIMRemoteErrorDomain NIMRemoteErrorCode 与服务器交互出错导致

在开发过程中遇到错误情况,可以对照错误域和错误码进行排查,具体定义可以参考 NIMGlobalDefs.h。您也可以通过 NSErroruserInfo 对应的错误描述信息定位问题。

SDK API 参考

  • 客户端 API 参考(iOS):NIM SDK-iOS

    如需查看圈组 API 参考,请在进入上述链接后搜索“QChat”。

  • NIMQChatMediaKit API 参考(iOS):NIMQChatMediaKit-iOS

    NIMQChatMediaKit 是实现圈组实时互动频道的必要插件,引入 NIMQChatMediaKit 才能实现圈组的实时互动频道相关功能。

SDK 核心 API

以下仅列出 SDK 的部分核心 API,如需查阅其他 SDK API 信息,请参考上述 API 参考。

初始化 & 登录

V9 API说明对应 V10 API
registerWithOption: 初始化 SDK registerWithOptionV2:v2Option:
sdkVersion 获取 SDK 版本号同 V9 API
sharedSDK 获取 SDK 实例同 V9 API
appKey 获取 AppKey同 V9 API
updateApnsToken: 更新 APNS Token若需要设置自定义推送文案,请使用 updateApnsToken:customContentKey:updateApnsToken:customContentKey:qchatCustomContentKey:(含圈组自定义推送文案)同 V9 API
updatePushKitToken: 更新 PushKit Token目前仅支持 PKPushTypeVoIP同 V9 API
qchatWithOption: 设置圈组选项,用于设置圈组推送证书同 V9 API
sharedConfig 获取配置项实例NIMSDKConfig 是一个单例,用于多样的初始化配置,包括设置缩略动图等,推荐在调用初始化接口前配置同 V9 API
login:token:completion: 手动登录若需要选择鉴权方式进行登录,请使用 login:token:authType:loginExt:completion: login:token:option:success:failure:
autoLogin:token: 自动登录同上
logout:登出logout:failure:
kickOtherClient:completion: 踢人kickOffline:success:failure:
currentAccount 获取当前登录账号getLoginUser
currentAuthMode 获取当前的 SDK 鉴权模式同 V9 API
currentLoginClients 获取当前登录的设备列表getLoginClients
isLogined 是否已登录getLoginStatus

消息(单聊 & 群聊 & 聊天室)

V9 API说明对应 V10 API
sendMessage:toSession:completion: 发送消息sendMessage:conversationId:params:success:failure:progress:
resendMessage:error: 重新发送消息同上
cancelSendingMessage: 取消正在发送的消息cancelMessageAttachmentUpload:success:failure:
forwardMessage:toSession:error: 转发消息同 V9 API
makeForwardMessageFromMessage:error: 生成转发消息,得到转发消息后,开发者需要再调用sendForwardMessage:toSession:error: 进行发送同 V9 API
sendMessageReceipt:completion: 发送单聊消息已读回执sendP2PMessageReceipt:success:failure:
sendTeamMessageReceipts:completion: 发送群聊消息已读回执sendTeamMessageReceipts:success:failure:
refreshTeamMessageReceipts: 刷新群组消息已读、未读数量getTeamMessageReceipts:success:failure:
queryMessageReceiptDetail:completion: 查询群组消息回执情况getTeamMessageReceiptDetail:memberAccountIds:success:failure:
queryMessageReceiptDetail:accountSet:completion: 查询群组消息指定用户的回执详情同上
localMessageReceiptDetail: 从本地数据库查询单条群组消息已读、未读账号列表同上
revokeMessage:option:completion: 撤回消息,撤回时可设置推送内容,否计入未读数等revokeMessage:revokeParams:success:failure:
fetchMessageAttachment:error: 收取消息附件同 V9 API
cancelFetchingMessageAttachment: 取消收取消息附件同 V9 API
messageInTransport: 消息是否正在传输 (发送/接受附件)同 V9 API
messageTransportProgress: 传输消息的进度 (发送/接受附件)同 V9 API
获取单聊消息已读回执getP2PMessageReceipt:success:failure:
查询单聊消息是否已读isPeerRead:
语音转文字voiceToText:success:failure:

消息扩展

V9 API说明对应 V10 API
reply:to:completion: 引用一条消息进行回复,形成消息回复树状结构(Thread)replyMessage:replyMessage:params:success:failure:progress:
subMessages: 本地获取 Thread Talk 的消息列表同 V9 API
subMessagesCount: 本地获取 Thread Talk 的消息数量同 V9 API
fetchSubMessages:option:completion: 获取指定消息的 Thread Talk 子消息同 V9 API
fetchHistoryMessages:syncToDB:completion: 根据 MessageId 等获取历史消息同 V9 API
addQuickComment:toMessage:completion: 添加快捷评论,如表情等 reactionaddQuickComment:index:serverExtension:pushConfig:success:failure:
deleteQuickComment:completion: 从服务端删除快捷评论removeQuickComment:index:serverExtension:success:failure:
fetchQuickComments:completion: 批量获取快捷评论列表getQuickCommentList:success:failure:
quickCommentsByMessage:completion: 根据消息本地获取对应的快捷评论同上
addCollect:completion: 将某条消息添加为收藏addCollection:success:failure:
removeCollect:completion: 批量移除收藏removeCollections:success:failure:
updateCollect:completion: 更新收藏的扩展信息updateCollectionExtension:serverExtension:success:failure:
queryCollect:completion: 分页查询收藏列表getCollectionListByOption:success:failure:
addStickTopSession:completion: 添加一条置顶记录同 V9 API
removeStickTopSession:completion: 删除一条置顶记录同 V9 API
udpateStickTopSession:completion: 更新一条置顶记录的扩展信息同 V9 API
loadStickTopSessionInfos: 查询所有的置顶记录getPinnedMessageList:success:failure:
loadRecentSessionsWithOptions:completion: 按照置顶会话获取最近会话列表同 V9 API
sortRecentSessions:withStickTopInfos: 根据置顶信息排序最近会话同 V9 API
stickTopInfoForSession: 查询某个会话的置顶信息同 V9 API
addMessagePin:completion: PIN 一条消息,即添加一条 PIN 记录pinMessage:serverExtension:success:failure:
removeMessagePin:completion: 删除一条消息的 PIN 记录unpinMessage:serverExtension:success:failure:
updateMessagePin:completion: 更新一条消息的 PIN 记录的扩展信息updatePinMessage:serverExtension:success:failure:
loadMessagePinsForSession:completion: 查询所有的 PIN 记录(登录后首次查询该会话会触发一次网络同步)getPinnedMessageList:success:failure:
pinItemForMessage: 查询某条消息的 PIN 记录同 V9 API

会话列表

V9 API说明对应 V10 API
deleteMessage:option: 删除某条消息deleteMessage:serverExtension:onlyDeleteLocal:success:failure:
deleteAllmessagesInSession:option: 删除某个会话的所有消息deleteMessages:serverExtension:onlyDeleteLocal:success:failure:
deleteAllMessages: 删除所有会话消息deleteMessages:serverExtension:onlyDeleteLocal:success:failure:
deleteServerSessions:completion: 删除服务端所有会话消息同 V9 API
deleteMessagesInSession:option:completion: 删除指定范围内的消息,如指定时间范围deleteMessages:serverExtension:onlyDeleteLocal:success:failure:
deleteRecentSession:option:completion: 删除某个最近会话同 V9 API
addEmptyRecentSessionBySession:option: 增加某个最近会话同 V9 API
markAllMessagesRead 设置所有会话消息为已读同 V9 API
markAllMessagesReadInSession:completion: 设置一个会话里所有消息为已读同 V9 API
batchMarkMessagesReadInSessions:completion: 批量设置多个会话消息已读同 V9 API
updateMessage:forSession:completion: 更新本地已存的消息记录updateMessageLocalExtension:localExtension:success:failure:
saveMessage:forSession:completion: 保存会话消息insertMessageToLocal:conversationId:senderId:createTime:success:failure:
importRecentSessions:completion: 导入最近会话同 V9 API
getMessagesDynamically:completion: 动态查询历史消息getMessageList:success:failure:
messagesInSession:messageIds: 根据消息 ID 查询消息同 V9 API
allUnreadCount: 获取所有的最近会话未读数同 V9 API
allUnreadMessagesInSession:completion: 获取所有的未读会话消息同 V9 API
fetchServerSessions:completion: 从服务端分页获取历史会话列表同 V9 API
fetchServerSessionBySession:completion: 从服务端根据当前 session 获取会话信息同 V9 API
updateRecentLocalExt:recentSession: 更新最近会话的本地扩展同 V9 API
fetchMessageHistory:option:result: 从服务器上获取一个会话里某条消息之前的若干条的消息getMessageListByRefers:success:failure:
retrieveServerMessages:option:result: 根据关键字从服务器上检索消息searchCloudMessages:success:failure:
searchMessages:option:result: 搜索本地会话内消息同 V9 API
exportMeessageInfosWithDelegate:progress:completion: 导出历史消息到本地文件同 V9 API
importMessageInfosAtPath:delegate:progress:completion: 导入历史消息同 V9 API
importMessageInfosAtPath:delegate:progress:completion: 导入历史消息同 V9 API
根据消息客户端 ID 获取历史消息getMessageListByIds:success:failure:

APNs 离线推送

V9 API说明对应 V10 API
currentMultiportConfig 获取当前多端推送策略配置同 V9 API
updateApnsMultiportConfig:completion: 设置推送自定义多端推送策略配置同 V9 API
currentSetting 获取当前的推送免打扰设置同 V9 API
updateApnsSetting:completion: 更新推送免打扰设置同 V9 API

群组

V9 API说明对应 V10 API
createTeam:users:completion: 创建群组createTeam:inviteeAccountIds:postscript:antispamConfig:success:failure:
addUsers:toTeam:postscript:attach:completion: 邀请用户入群inviteMember:teamType:inviteeAccountIds:postscript:success:failure:
kickUsers:fromTeam:completion: 从群组中移除成员,只有群主和管理员有此权限kickMember:teamType:memberAccountIds:success:failure:
dismissTeam:completion: 解散群组,只有群主有权限dismissTeam:teamType:success:failure:
quitTeam:completion: 退出群组leaveTeam:teamType:success:failure:
allMyTeams 获取我的所有群组getJoinedTeamList:success:failure:
updateTeamInfos:teamId:completion: 修改群组信息,可一次性修改群组的多个属性,如名称,公告等,传入的数据键值对是 {@(NIMTeamUpdateTag) : NSString},无效数据将被过滤同时 SDK 支持修改单个群组属性的接口,如只修改群组名称:updateTeamName:teamId:completion:
更多群组属性修改的接口请参见NIMTeamManager
updateTeamInfo:teamType:updateTeamInfoParams:antispamConfig:success:failure:
updateTInfosLocal: 更新群组的本地信息同 V9 API
updateUserNick:newNick:inTeam:completion: 修改群成员昵称,只有群主才有此权限updateTeamMemberNick:teamType:accountId:teamNick:success:failure:
updateMyCustomInfo:inTeam:completion: updateSelfTeamMemberInfo:teamType:memberInfoParams:success:failure:
fetchTeamInfo:completion: 查询单个群组信息getTeamInfo:teamType:success:failure:
fetchTeamsWithTimestamp:completion: 查询所有的群组信息getTeamMemberList:teamType:queryOption:success:failure:
teamById: 根据群 ID 查询具体的单个群信息getTeamInfo:teamType:success:failure:
fetchTeamInfoList:completion: 根据群 ID 查询具体的群列表信息,最多10个getTeamInfoByIds:teamType:success:failure:
searchTeamWithOption:completion: 根据关键字等选项搜索群组同 V9 API
applyToTeam:message:completion: 申请加入群组applyJoinTeam:teamType:postscript:success:failure:
passApplyToTeam:userId:completion: 同意入群申请acceptJoinApplication:success:failure:
rejectApplyToTeam:userId:rejectReason:completion: 拒绝入群申请rejectJoinApplication:postscript:success:failure:
addManagersToTeam:users:completion: 添加管理员,仅群主有此权限updateTeamMemberRole:teamType:memberAccountIds:memberRole:success:failure:
removeManagersFromTeam:users:completion: 移除管理员,仅群主有此权限同上
transferManagerWithTeam:newOwnerId:isLeave:completion: 转让群组,只有群主有此权限transferTeamOwner:teamType:accountId:leave:success:failure:
acceptInviteWithTeam:invitorId:completion: 接受别人的入群邀请acceptInvitation:success:failure:
rejectInviteWithTeam:invitorId:rejectReason:completion: 拒绝别人的入群邀请rejectInvitation:postscript:success:failure:
teamMember:inTeam: 获取指定的单个群成员信息getTeamMemberListByIds:teamType:accountIds:success:failure:
fetchTeamMembers:completion: 获取群成员列表getTeamMemberList:teamType:queryOption:success:failure:
fetchTeamMembersFromServer:completion:searchTeam 从服务器上查询群组成员getTeamMemberList:teamType:queryOption:success:failure:
updateMuteState:userId:inTeam:completion: 禁言/解除禁言某个群成员setTeamMemberChatBannedStatus:teamType:accountId:chatBanned:success:failure:
updateMuteState:inTeam:completion: 对整个群禁言或解除禁言,对普通成员生效,只有群主有此权限setTeamChatBannedMode:teamType:chatBannedMode:success:failure:
fetchTeamMutedMembers:completion: 查询被禁言群成员列表getTeamMemberList:teamType:queryOption:success:failure:
fetchInviterAccids:withTargetMembers:completion: 查询群成员邀请人账号getTeamMemberInvitor:teamType:accountIds:success:failure:
updateNotifyState:inTeam:completion: 修改群通知状态setTeamMessageMuteMode:teamType:muteMode:success:failure:
notifyStateForNewMsg: 获取群通知状态getTeamMessageMuteMode:teamType:

超大群

V9 API说明对应 V10 API
addUsers:toTeam:postscript:attach:completion: 邀请用户加入超大群inviteMember:teamType:inviteeAccountIds:postscript:success:failure:
kickUsers:fromTeam:completion: 从超大群中移除成员,只有群主和管理员有此权限kickMember:teamType:memberAccountIds:success:failure:
quitTeam:completion: 退出超大群leaveTeam:teamType:success:failure:
allMyTeams 获取我的所有超大群getJoinedTeamList:success:failure:
updateTeamInfos:teamId:completion: 修改超大群信息,可一次性修改超大群的多个属性,如名称,公告等,传入的数据键值对是 {@(NIMTeamUpdateTag) : NSString},无效数据将被过滤同时 SDK 支持修改单个超大群属性的接口,如只修改超大群名称:updateTeamName:teamId:completion:
更多超大群属性修改的接口请参见NIMSuperTeamManagerr
updateTeamInfo:teamType:updateTeamInfoParams:antispamConfig:success:failure:
updateUserNick:newNick:inTeam:completion: 修改群成员昵称,只有群主才有此权限updateTeamMemberNick:teamType:accountId:teamNick:success:failure:
updateMyCustomInfo:inTeam:completion: 修改超大群中自己的扩展字段updateSelfTeamMemberInfo:teamType:memberInfoParams:success:failure:
fetchTeamInfo:completion: 查询单个超大群信息getTeamInfo:teamType:success:failure:
teamById: 根据群 ID 查询具体的单个超大群信息同上
applyToTeam:message:completion: 申请加入超大群applyJoinTeam:teamType:postscript:success:failure:
passApplyToTeam:userId:completion: 同意加入超大群的申请acceptJoinApplication:success:failure:
rejectApplyToTeam:userId:rejectReason:completion: 拒绝加入超大群的申请rejectJoinApplication:postscript:success:failure:
addManagersToTeam:users:completion: 添加超大群管理员,仅群主有此权限updateTeamMemberRole:teamType:memberAccountIds:memberRole:success:failure:
removeManagersFromTeam:users:completion: 移除超大群管理员,仅群主有此权限同上
transferManagerWithTeam:newOwnerId:isLeave:completion: 转让超大群,只有群主有此权限transferTeamOwner:teamType:accountId:leave:success:failure:
acceptInviteWithTeam:invitorId:completion: 接受别人的加入超大群的邀请acceptInvitation:success:failure:
rejectInviteWithTeam:invitorId:rejectReason:completion: 拒绝别人的加入超大群的邀请rejectInvitation:postscript:success:failure:
teamMember:inTeam: 获取指定的单个群成员信息getTeamMemberListByIds:teamType:accountIds:success:failure:
fetchTeamMembers:completion: 获取超大群成员列表getTeamMemberList:teamType:queryOption:success:failure:
fetchTeamMutedMembers:completion: 查询被禁言群成员列表同上
updateMuteState:userIds:inTeam:completion: 禁言/解除禁言某个群成员setTeamMemberChatBannedStatus:teamType:accountId:chatBanned:success:failure:
updateMuteState:inTeam:completion: 对整个超大群禁言或解除禁言,对普通成员生效,只有群主有此权限setTeamChatBannedMode:teamType:chatBannedMode:success:failure:
updateNotifyState:inTeam:completion: 修改超大群通知状态setTeamMessageMuteMode:teamType:muteMode:success:failure:
notifyStateForNewMsg: 获取超大群通知状态getTeamMessageMuteMode:teamType:
updateMuteState:userId:inTeam:completion: 禁言/解除禁言某个超大群成员setTeamMemberChatBannedStatus:teamType:accountId:chatBanned:success:failure:

聊天室

V9 API说明对应 V10 API
创建聊天室实例newInstance
销毁聊天室实例destroyInstance
获取指定聊天室实例getInstance
获取指定聊天室实例列表getInstanceList
销毁所有当前存在的聊天室实例destroyAll
enterChatroom:completion: 进入聊天室enter:enterParams:success:failure:
exitChatroom:completion: 退出聊天室exit
chatroomAuthMode: 聊天室登录模式同 V9
updateLocation:completion: 更新坐标updateChatroomLocationInfo:success:failure:
fetchMessageHistory:option:result: 查询服务器保存的聊天室消息记录getMessageList:success:failure:
getMessagesByTags:completion: 按标签从云端拉取聊天室消息,每一个标签代表的是某个标签化分组下的聊天室成员getMessageListByTag:success:failure:
kickMember:completion: 将特定成员踢出聊天室kickMember:notificationExtension:success:failure:
fetchChatroomInfo:completion: 获取聊天室信息getChatroomInfo
fetchChatroomMembers:completion: 获取聊天室成员信息getMemberListByOption:success:failure:
fetchChatroomMembersByIds:completion: 根据用户的 IM 账号(accid)获取聊天室成员信息getMemberByIds:success:failure:
fetchChatroomMembersByTag:completion: 根据标签获取聊天室内该标签下的成员getMemberListByTag:success:failure:
queryChatroomMembersCountByTag:completion: 根据标签查询聊天室内该标签下的在线成员数量getMemberCountByTag:success:failure:
updateTags:completion: 更新标签updateChatroomTags:success:failure:
updateMemberBlack:completion: 将用户添加或移出聊天室黑名单setMemberBlockedStatus:blocked:notificationExtension:success:failure:
updateMemberMute:completion: 将用户添加到禁言名单或取消禁言setMemberChatBannedStatus:chatBanned:notificationExtension:success:failure:
updateMemberTempMute:duration:completion: 设置聊天室成员临时禁言setMemberTempChatBanned:tempChatBannedDuration:notificationEnabled:notificationExtension:succes
markNormalMember:completion: 将用户设为聊天室普通成员updateMemberRole:updateParams:success:failure:
markMemberManager:completion: 将用户设为聊天室管理员同上
tempMuteTag:completion: 针对标签更新聊天室临时禁言状态setTempChatBannedByTag:success:failure:
updateMyChatroomMemberInfo:completion: 更新本人在聊天室内的信息updateSelfMemberInfo:antispamConfig:success:failure:
updateChatroomInfo:completion: 更新聊天室信息updateChatroomInfo:antispamConfig:success:failure:
updateChatroomQueueObject:completion: 加入或者更新聊天室队列的元素。聊天室队列指聊天室(房间)中由多个元素(key-value 键值对)构成的队列,应用于直播间中的连麦队列场景和礼物队列展示等涉及队列化展示的场景,其中的元素可以是麦位、礼物展示位等同 V9
batchUpdateChatroomQueueObject:completion: 批量更新聊天室队列的元素同 V9
dropChatroomQueue:completion: 删除聊天室队列同 V9
fetchChatroomQueue:completion: 获取聊天室队列同 V9
removeChatroomQueueObject:completion: 移除聊天室队列元素同 V9

圈组

圈组的 SDK API 数量较多,请前往下文的圈组核心类/接口类查阅圈组的 SDK API。

用户信息 & 用户关系

V9 API说明对应 V10 API
fetchUserInfos:completion: 从服务器批量获取用户资料getUserList:success:failure:
userInfo: 获取本地数据库中所有用户资料同 V9
updateMyUserInfo:completion: 更新本人的用户资料updateSelfUserProfile:success:failure:
searchUserWithOption:completion: 搜索用户同 V9
fetchUserInfos:completion: 从服务器批量获取用户资料getFriendByIds:success:failure:
requestFriend:completion: 添加好友addFriend:params:success:failure:
deleteFriend:removeAlias:completion: 删除好友deleteFriend:params:success:failure:
myFriends 获取我的所有好友账号getFriendList:failure:
addToBlackList:completion: 将用户添加至黑名单addUserToBlockList:success:failure:
removeFromBlackBlackList:completion: 将用户从黑名单中移除removeUserFromBlockList:success:failure:
updateNotifyState:forUser:completion: 设置消息提醒同 V9
myBlackList 获取我的黑名单中用户列表getBlockList:failure:
updateUser:completion: 修改自己与目标用户的关系同 V9
接受好友申请acceptAddApplication:success:failure:
拒绝好友申请rejectAddApplication:postscript:success:failure:
设置好友信息setFriendInfo:params:success:failure:
获取申请添加好友信息列表getAddApplicationList:success:failure:

系统通知

V9 API说明对应 V10 API
sendCustomNotification:toSession:completion: 发送自定义系统通知sendCustomNotification
fetchSystemNotifications:limit:filter: 获取本地存储的系统通知同 V9
allUnreadCount: 获取系统通知未读数同 V9
deleteNotification: 删除单条系统通知同 V9
deleteAllNotifications 删除所有系统通知同 V9
deleteAllNotifications: 根据通知类型删除系统通知同 V9
markNotificationsAsRead: 标记单条系统通知已读同 V9
markAllNotificationsAsRead 标记所有系统通知已读同 V9
markAllNotificationsAsRead: 根据通知类型标记系统通知已读同 V9

事件订阅

V9 API说明对应 V10 API
publishEvent:completion: 发布事件同 V9
subscribeEvent:completion: 订阅事件同 V9
querySubscribeEvent:completion: 查询订阅事件同 V9
unSubscribeEvent:completion: 取消订阅事件同 V9

SDK 核心类/接口类

以下仅列出 SDK 的核心类和接口类,如需查阅其他类或接口类的信息,请进入iOS SDK API 参考搜索与查阅。

初始化 & 登录相关

类/接口说明对应 V10 API
NIMSDK SDK 核心类,提供初始化 SDK,获取各个服务能力接口,获取当前版本等接口NIMSDK
NIMSDKConfig SDK 配置项修改的接口NIMSDKConfig
NIMServerSetting 服务器配置接口,私有化需要自定义设置,必须在注册 AppKey 完成之前设置NIMServerSetting
NIMLoginManager 登录接口类,提供鉴权、登录、登出、踢人等接口V2NIMLoginService
NIMLoginManagerDelegate 登录的委托接口,提供登录、登出、踢人等事件注册接口V2NIMLoginListener

消息(单聊 & 群聊 & 聊天室)与会话相关

类/接口说明对应 V10 API
NIMChatExtendManager IM 消息扩展接口类,提供收藏消息、快捷评论等接口V2NIMMessageService
NIMChatExtendManagerDelegate IM 消息扩展委托接口,提供收藏消息、快捷评论等事件的注册接口V2NIMMessageListener
NIMChatManager IM 消息管理接口类,提供消息发送、消息查询、消息撤回等相关接口V2NIMMessageService
NIMChatManagerDelegate IM 消息管理委托接口,提供消息发送、消息查询、消息撤回等相关事件的注册接口V2NIMMessageListener
NIMConversationManager 会话管理接口类,提供获取/删除会话消息、设置会话消息已读等相关接口V2NIMConversationService
NIMConversationManagerDelegate 会话管理委托接口,提供会话相关事件的注册接口V2NIMConversationListener
NIMDocTranscodingManager 文档转码管理接口类,提供查询文档转码信息、删除转码文档等接口同 V9
NIMMediaManager 录制和播放音频管理接口类,提供语音录制和播放相关接口同 V9
NIMMediaManagerDelegate 音频管理委托接口,提供录制、播放音频等事件的注册接口同 V9
NIMResourceManager 资源管理接口类,提供下载、搜索、查询资源等接口同 V9
NIMIndexManager 消息检索接口类,提供消息检索相关接口同 V9

APNs 离线推送相关

类/接口说明对应 V10 API
NIMApnsManager IM 的 APNs 离线推送服务接口类,提供 IM 的 APNs 离线推送服务相关配置接口V2NIMSettingService
NIMApnsManagerDelegate IM 的 APNs 离线推送服务委托接口,提供 IM 的 APNs 离线推送服务相关配置事件的注册接口V2NIMSettingListener

群组相关

类/接口说明对应 V10 API
NIMTeamManager 群组接口类,提供创建群组、添加群成员等群组操作相关接口V2NIMTeamService
NIMTeamManagerDelegate 群组委托接口,提供群组成员变动、资料变动等事件的注册接口V2NIMTeamListener

超大群相关

类/接口说明对应 V10 API
NIMSuperTeamManager 超大群服务接口类,提供超大群成员管理、超大群消息发送、超大群资料管理等相关接口V2NIMTeamService

聊天室相关

类/接口说明对应 V10 API
NIMChatroomManager 聊天室服务接口类,提供进出聊天室、发送聊天室消息、聊天室成员管理、聊天室队列服务、聊天室标签等接口V2NIMChatroomClientListener&V2NIMChatroomListener
NIMChatroomManagerDelegate 聊天室委托接口, 提供聊天室相关事件的注册接口V2NIMChatroomClient&V2NIMChatroomService

圈组相关

类/接口说明对应 V10 API
NIMQChatManager 圈组接口类,提供圈组登录登出相关接口同 V9
NIMQChatManagerDelegate 圈组委托接口,提供圈组登录登出相关事件的注册接口同 V9
NIMQChatServerManager 圈组服务器接口类,提供圈组服务器相关接口,如创建服务器、邀请服务器成员、查询服务器成员等接口同 V9
NIMQChatChannelManager 圈组频道接口类,提供圈组频道相关接口,如创建频道、查询频道、查询频道未读信息等接口同 V9
NIMQChatRoleManager 圈组身份组接口类,提供圈组身份组相关接口,如将某人加入身份组、查询自己的权限等接口同 V9
NIMQChatMessageManager 圈组消息接口类,提供发送消息、撤回消息、发送消息正在输入事件等接口同 V9
NIMQChatMessageManagerDelegate 圈组消息委托接口,提供圈组消息相关事件的注册接口同 V9
NIMQChatApnsManager 圈组的 APNs 离线推送服务接口类,提供圈组的 APNs 离线推送服务相关配置接口同 V9
NIMQChatRTCChannelManager 圈组实时互动频道接口类,提供更新、查询实时互动频道信息等接口同 V9
NIMQChatMessageExtendManager 圈组消息扩展接口类,提供发送、删除快捷评论等接口同 V9

圈组实时互动频道模块(QChatMedia)

类/接口说明对应 V10 API
NIMQChatMediaKit 圈组实时互动频道接口类,提供圈组实时互动频道的初始化接口同 V9
NIMQChatMediaChannelManager 圈组实时互动频道管理接口类,提供实时互动频道成员管理、摄像头切换、扬声器管理、视频画布设置等接口同 V9
NIMQChatMediaChannelDelegate 圈组实时互动频道委托接口,提供实时互动频道相关事件的注册接口同 V9

用户资料 & 用户关系相关

类/接口说明对应 V10 API
NIMUserManager 用户信息与用户关系操作相关接口类,提供用户信息管理和好友关系管理相关接口 V2NIMUserService&V2NIMFriendService
NIMUserManagerDelegate 用户信息与好友关系委托接口,提供好友状态变化,黑名单列表变化等事件的注册接口 V2NIMUserListener&V2NIMFriendListener

系统通知相关

类/接口说明对应 V10 API
NIMSystemNotificationManager 系统通知接口类,提供发送、标记、删除系统通知等接口V2NIMNotificationService
NIMSystemNotificationManagerDelegate 系统通知委托接口, 提供系统通知相关事件的注册接口 V2NIMNotificationListener

事件订阅相关

类/接口说明对应 V10 API
NIMEventSubscribeManager 事件订阅接口类,提供发布、查询、订阅事件等接口同 V9
NIMEventSubscribeManagerDelegate 事件订阅委托接口, 提供事件订阅相关事件的注册接口同 V9
此文档是否对你有帮助?
有帮助
去反馈
  • SDK API 概述
  • 调用方式
  • 通知方式
  • SDK API 参考
  • SDK 核心 API
  • 初始化 & 登录
  • 消息(单聊 & 群聊 & 聊天室)
  • 消息扩展
  • 会话列表
  • APNs 离线推送
  • 群组
  • 超大群
  • 聊天室
  • 圈组
  • 用户信息 & 用户关系
  • 系统通知
  • 事件订阅
  • SDK 核心类/接口类
  • 初始化 & 登录相关
  • 消息(单聊 & 群聊 & 聊天室)与会话相关
  • APNs 离线推送相关
  • 群组相关
  • 超大群相关
  • 聊天室相关
  • 圈组相关
  • 圈组实时互动频道模块(QChatMedia)
  • 用户资料 & 用户关系相关
  • 系统通知相关
  • 事件订阅相关