SDK 的入口,负责建立长连接,登录,断开长连接,销毁实例、多端互踢等功能下面是NIM.getInstance的初始化参数。这里只例举部分回调函数,完整初始化参数见 nim/types.NIMGetInstanceOptions
参数 |
描述 |
|---|---|
| appKey | [必填] 应用的 App Key,即您的应用在云信的账号 |
| account | [必填] 云信 IM 账号(又称 accid),即应用的用户在云信的唯一标识。 |
| token | [必填] IM 账号的登录凭证 该登录凭证只会在登录 IM (建立 SDK 与云信服务端的长连接)时校验一次。 |
| onconnect | SDK 与云信服务端建立长连接的回调 |
| onwillreconnect | SDK 与云信服务端即将重连的回调 |
| ondisconnect | SDK 与云信服务端断开连接的回调 |
| onsyncdone | 初始化同步完成的回调 |
| onerror | 初始化阶段发生错误的回调 |
| onloginportschange | 多端登录状态变化的回调 |
| onsessions | 初始化同步时,接收会话列表的回调 |
| onupdatesessions | 在线时批量更新会话的回调 |
| onStickTopSessions | 初始化同步或在线时,接收远端置顶会话的回调 |
| onroamingmsgs | 初始化同步时,接收漫游消息的回调 |
| onofflinemsgs | 初始化同步时,接收离线消息的回调 |
| onmsg | 多端同步或在线时,接收消息的回调 |
| onofflinesysmsgs | 初始化同步时,接收离线系统通知的回调 |
| onroamingsysmsgs | 初始化同步时,接收漫游的系统通知的回调 |
| onDeleteMsgSelf | 多端同步时,单向删除消息的回调 |
| onbroadcastmsgs | 初始化同步时,接收离线广播消息的回调 |
| onbroadcastmsg | 在接收接收广播消息的回调 |
| onTeamMsgReceipt | 在线接收群消息已读回执通知的回调 |
| onsysmsg | 在线接收系统通知的回调 |
| onupdatesysmsg | 在线接收系统通知更新的回调 |
| oncustomsysmsg | 在线接收自定义系统通知的回调 |
| onofflinecustomsysmsgs | 初始化同步时,接收离线自定义系统通知的回调 |
| onsysmsgunread | 初始化同步时,接收系统通知未读数的回调 |
| onupdatesysmsgunread | 在线接收系统通知未读数变更的回调 |
| onpushevents | 订阅事件的回调 用户通过该回调在初始化同步或者在线时接收从云信服务端下推的订阅事件。 |
| onQuickComment | 在线或多端同步时,接收“添加快捷评论通知”的回调 |
| onDeleteQuickComment | 在线或多端同步时,接收“删除快捷评论通知”的回调 |
| onPinMsgChange | 在线或多端同步时,接收“消息置顶通知”的回调 |
| onClearServerHistoryMsgs | 多端同步或初始化同步时,接收“清除会话历史消息”通知的回调 |
| onSyncUpdateServerSession | 多端同步时,接收“云端会话更新”通知的回调 |
| onblacklist | 初始化时同步黑名单列表的回调 |
| onsyncmarkinblacklist | 多端同步时,接收“拉黑/移出黑名单”事件的回调 |
| onmutelist | 初始化时同步“静音列表”的回调。 |
| onsyncmarkinmutelist | 多端同步时,接收“把某人静音的事件”的回调 |
| onfriends | 同步好友列表的回调, 会传入好友列表 |
| onsyncfriendaction | 多端同步时,接收好友动作的回调。好友动作包括添加好友、好友申请、通过好友申请、拒绝好友申请、删除好友和更新好友备注。 |
| onmyinfo | 初始化时同步自己的用户名片的回调。 |
| onupdatemyinfo | 多端同步时,接收自己的用户名片更新的回调 |
| onSuperTeams | 初始化同步时,接收超级群列表的回调 |
| onSyncCreateSuperTeam | 多端同步时,接收“创建超级群”通知的回调 |
| onUpdateSuperTeam | 在线或多端同步时,接收“更新超级群的通知”的回调 |
| onDismissSuperTeam | 在线或多端同步时,接收“解散超级群的通知”的回调 |
| onTransferSuperTeam | 在线或多端同步时,接收“转让超级群的通知”的回调 |
| onUpdateSuperTeamMember | 在线或多端同步时,接收“超级群成员的信息变更”的回调 |
| onAddSuperTeamMembers | 在线或多端同步时,接收“添加超级群成员的通知”的回调 |
| onRemoveSuperTeamMembers | 在线或多端同步时,接收“删除超级群成员的通知”的回调 |
| onUpdateSuperTeamManagers | 在线或多端同步时,接收“更新超级群管理员的通知”的回调 |
| onUpdateSuperTeamMembersMute | 在线或多端同步时,接收“超级群成员被静音的通知”的回调 |
| onteams | 初始化时同步群列表的回调 |
| onsynccreateteam | 多端同步时,接收“创建群的通知”的回调 |
| onCreateTeam | 在线或多端同步时,接收“创建群的通知”的回调 |
| onUpdateTeam | 在线或多端同步时,接收“更新群的通知”的回调 |
| onDismissTeam | 在线或多端同步时,接收“解散群的通知”的回调 |
| onTransferTeam | 在线或多端同步时,接收“转让群的通知”的回调 |
| onupdateteammember | 在线或多端同步时,接收“群成员的信息变更”的回调 |
| onAddTeamMembers | 在线或多端同步时,接收“添加群成员的通知”的回调 |
| onRemoveTeamMembers | 在线或多端同步时,接收“删除群成员的通知”的回调 |
| onUpdateTeamManagers | 在线或多端同步时,接收“更新群管理员的通知”的回调 |
| onUpdateTeamMembersMute | 在线或多端同步时,接收“群成员被静音的通知”的回调 |
NIM SDK 的入口,负责建立长连接,登录,断开长连接,销毁实例、多端互踢等功能,完整的 API 请参见 NIMInterface
| 方法 | 功能描述 |
|---|---|
| logout | 退出登录 |
| disconnect | 断开 SDK 与云信服务端的长连接 |
| connect | 建立长连接,并且登录 |
| destroy | 销毁实例 |
| kick | 将当前用户登录的其它端踢下线 |
| setOptions | 更新初始化配置 |
消息相关的 API,如发送消息,发送文件消息,撤回,已读等,完整的 API 请参见 MessageInterface
| 方法 | 功能描述 |
|---|---|
| sendText | 发送文本消息 |
| sendFile | 发送文件消息 |
| sendCustomMsg | 发送自定义消息 |
| sendGeo | 发送地理位置消息 |
| sendTipMsg | 发送提醒消息 |
| resendMsg | 重发消息 |
| forwardMsg | 转发消息 |
| sendMsgReceipt | 发送单聊消息的已读回执 |
| sendTeamMsgReceipt | 发送群消息(高级群)的已读回执 |
| getTeamMsgReads | 查询群组消息的已读、未读数量 |
| getTeamMsgReadAccounts | 查询群消息已读的账号 |
| recallMsg | 撤回消息 |
| deleteMsgSelf | 单向删除消息 |
| deleteMsgSelfBatch | 批量单向删除消息 |
消息历史记录相关的 API, 如查询历史消息,完整的 API 请参见 MessageLogInterface
| 方法 | 功能描述 |
|---|---|
| getHistoryMsgs | 获取云端的消息历史记录 |
| clearServerHistoryMsgsWithSync | 删除某个会话的云端消息历史记录,与漫游记录 |
| msgFtsInServer | 云端全文检索消息(full text search)。返回的消息会按会话 session 分类返回 |
| msgFtsInServerByTiming | 云端全文检索消息-按时间分页搜索。返回的消息结果按时间自然排序 |
| getLocalMsgs | 获取本地数据库的消息记录 |
| updateLocalMsg | 更新本地消息。仅允许更新 localCustom 本地自定义扩展字段 |
| getLocalMsgsByIdClients | 通过 idClients 获取本地消息 |
| deleteLocalMsg | 删除某一条本地消息 |
| deleteLocalMsgs | 按条件删除消息 |
| deleteLocalMsgsBySession | 删除某个会话下所有的本地消息 |
| deleteAllLocalMsgs | 删除所有的本地消息 |
| saveMsgsToLocal | 将消息存储至本地数据库 |
订阅发布事件相关的能力,如订阅,发布事件等,完整的 API 请参见 EventInterface
| 方法 | 功能描述 |
|---|---|
| publishEvent | 发布某事件 |
| subscribeEvent | 订阅某事件 |
| unSubscribeEventsByAccounts | 按账号取消订阅关系 |
| querySubscribeEventsByAccounts | 按账号获取指定事件的订阅关系 |
| unSubscribeEventsByType | 取消指定事件的全部订阅关系 |
| querySubscribeEventsByAccounts | 按账号获取指定事件的订阅关系 |
| querySubscribeEventsByType | 获取指定事件的订阅关系 |
好友相关的 API,如获取,添加,申请,删除好友等,完整的 API 请参见 FriendInterface
| 方法 | 功能描述 |
|---|---|
| getFriends | 获取好友 |
| addFriend | 直接加为好友 |
| applyFriend | 申请加为好友 |
| passFriendApply | 通过好友申请 |
| rejectFriendApply | 拒绝好友申请 |
| deleteFriend | 删除好友 |
| updateFriend | 更新好友 |
| isMyFriend | 是否为我的好友 |
透传协议,完整的 API 请参见 PassThroughInterface
| 方法 | 功能描述 |
|---|---|
| httpRequestProxy | 透传协议 |
消息扩展相关的 API,如 thread 消息,完整的 API 请参见 MessageExtendInterface
| 方法 | 功能描述 |
|---|---|
| getThreadMsgs | 获取 thread 消息列表 |
| getMsgsByIdServer | 通过消息 id 等信息批量查询历史消息,thread 聊天专用 |
| addQuickComment | 添加快捷评论 |
| deleteQuickComment | 删除快捷评论 |
| getQuickComments | 批量查询消息的快捷评论 |
| addCollect | 添加收藏 |
| deleteCollects | 删除收藏。返回结果为被成功删除的收藏个数 |
| updateCollect | 更新收藏,只能更新 custom 字段 |
| getCollects | 查询收藏列表 |
| addMsgPin | Pin 住一条消息 |
| updateMsgPin | 更新被 Pin 的消息 |
| deleteMsgPin | 取消消息的 Pin 状态 |
| getMsgPins | 查询某会话下的 Pin 消息列表 |
会话相关的 API,如查看会话,重置会话等,完整的 API 请参见 SessionInterface
| 方法 | 功能描述 |
|---|---|
| getLocalSession | 通过 sessionId 获取本地数据库里的会话 |
| getLocalSessions | 分页查询本地数据库里的会话列表 |
| insertLocalSession | 往本地数据库中插入一条会话记录 |
| updateLocalSession | 更新本地数据库里的会话 |
| deleteLocalSession | 删除指定的本地数据库会话 |
| setCurrSession | 设置“进入当前会话” |
| resetCurrSession | 取消“setCurrSession”的效果 |
| resetSessionUnread | 重置某个会话的未读数 |
| resetSessionsUnread | 重置某些会话的未读数 |
| resetAllSessionUnread | 重置所有会话的未读数 |
| getStickTopSessions | 获取云端置顶会话的列表 |
| addStickTopSession | 添加云端置顶的会话 |
| deleteStickTopSession | 取消云端置顶的会话 |
| updateStickTopSession | 更新云端置顶的会话(目前仅能更新它的扩展字段) |
系统消息相关的 API,如发送自定义系统通知,完整的 API 请参见 SystemMessageInterface
| 方法 | 功能描述 |
|---|---|
| sendCustomSysMsg | 发送自定义系统通知 |
| markSysMsgRead | 向服务器回包标记系统消息端测已读,下次服务器不需要将此消息作离线系统消息发下来 |
| getLocalSysMsgs | 获取本地数据库里的系统通知 |
| updateLocalSysMsg | 更新本地数据库里的系统通知 |
| deleteLocalSysMsg | 删除本地数据库里的系统通知 |
| deleteAllLocalSysMsgs | 删除所有本地数据库里的系统通知 |
群相关的 API,如获取,创建,离开群,群成员管理,完整的 API 请参见 TeamInterface
| 方法 | 功能描述 |
|---|---|
| getTeam | 获取群 |
| getTeams | 获取群列表 |
| getTeamsById | 通过一批 teamId 来获取若干个群 |
| createTeam | 创建群 |
| updateTeam | 更新群 |
| transferTeam | 转让群, 群主可操作 |
| dismissTeam | 解散群,群主可操作 |
| leaveTeam | 主动退群 |
| muteTeamAll | 群组全体禁言 |
| getTeamMembers | 获取群成员 |
| getMutedTeamMembers | 获取群禁言成员列表 |
| addTeamMembers | 添加群成员 |
| acceptTeamInvite | (用户)接受群邀请 |
| rejectTeamInvite | (用户)拒绝群邀请 |
| removeTeamMembers | 踢人出群 |
| addTeamManagers | 添加群管理员 |
| removeTeamManagers | 移除群管理员 |
| updateInfoInTeam | 修改自己在群里的信息 |
| updateNickInTeam | 修改别人的群昵称 |
| updateMuteStateInTeam | 更新群成员禁言状态 |
| getTeamMemberByTeamIdAndAccount | 通过群 ID 及成员账号获取群成员信息 |
| getTeamMemberInvitorAccid | 获取群成员的邀请者 accid |
| applyTeam | 申请入群 |
| passTeamApply | 通过群申请 |
| rejectTeamApply | (管理员)拒绝群申请 |
用户及关系相关的 API,如黑名单,静音列表,我的名片,完整的 API 请参见 UserInterface
| 方法 | 功能描述 |
|---|---|
| getUser | 获取用户名片 |
| getUsers | 获取一批用户的名片, 每次最多 150 个 |
| updateMyInfo | 更新我的名片 |
| isUserInBlackList | 查看某人是否在当前用户在黑名单里 |
| getRelations | 获取关系(黑名单和静音列表) |
| addToBlacklist | 加入黑名单 |
| removeFromBlacklist | 移出黑名单 |
| addToMutelist | 加入静音列表 |
| removeFromMutelist | 移出静音列表 |
| isUserInBlackList | 查看某人是否在当前用户在黑名单里 |
这里只例举部分 API,完整的 API 请参见 CloudSessionInterface
| 方法 | 功能描述 |
|---|---|
| getServerSessions | 查询云端会话列表 |
| getServerSession | 查询某个云端会话 |
| updateServerSession | 更新云端会话 |
| deleteServerSessions | 删除云端会话列表 |
云端会话服务相关的 API,如查询云端会话列表,查询某个云端会话,完整的 API 请参见 CloudStorageInterface
| 方法 | 功能描述 |
|---|---|
| previewFile | 上传并且预览文件 |
| getNosOriginUrl | 短链接转长链接 |
| audioToText | 音频转文字 |
| stripImageMeta | 去除图片元信息 |
| qualityImage | 修改图片质量 |
| interlaceImage | interlace 图片 |
| rotateImage | 旋转图片 |
| blurImage | 模糊图片 |
| cropImage | 剪裁图片 |
| thumbnailImage | 生成图片的略缩图 |
| processImage | 处理图片 |
信令相关的 API,如创建,关闭频道,详细内容见 SignalingInterface
信令相关的事件通过nim.on 监听,详细内容见 NIMSignalingEventInterface
| 事件 | 功能描述 |
|---|---|
| signalingNotify | 收到在线通知 |
| signalingMutilClientSyncNotify | 收到多端同步通知 |
| signalingChannelsSyncNotify | 收到频道成员变更同步 |
| signalingUnreadMessageSyncNotify | 收到未读信令消息通知 |
它的使用方式如
nim.on('signalingNotify', (res) => {
console.log('收到在线通知', res)
})
| 方法 | 功能描述 |
|---|---|
| signalingCallEx | 呼叫加入音视频频道: 创建一个频道, 己方加入,并邀请对方加入音视频的频道 |
| signalingCall | 呼叫: 创建一个频道, 己方加入,并邀请对方加入频道 |
| signalingCreateAndJoin | 如果不存在房间, 则创建一个频道,并且己方加入. 如果已存在频道,则己方直接加入 |
| signalingCreate | 创建频道 |
| signalingDelay | 延长频道的有效期 |
| signalingClose | 关闭频道 |
| signalingGetChannelInfo | 查询频道信息. 根据 channelName 查询房间信息 |
| signalingJoin | 加入频道 |
| signalingLeave | 离开频道 |
| signalingInvite | 邀请某人进入频道 |
| signalingCancel | 取消邀请 |
| signalingReject | 拒绝进入频道的邀请 |
| signalingAccept | 接受进入频道的邀请 |
| signalingMarkMsgRead | 标记信令消息已收到, 下次不会在离线同步中收到此消息 |
| signalingControl | 发送自定义信令 |
| signalingJoinAndAccept | 加入频道并接受邀请 |
超级群相关的 API,如获取,创建,离开超级群,完整的 API 请参见 SuperTeamInterface
| 方法 | 功能描述 |
|---|---|
| getSuperTeam | 获取超级群 |
| getSuperTeams | 获取超级群列表 |
| updateSuperTeam | 更新超级群 |
| transferSuperTeam | 转让超级群, 群主可操作 |
| leaveSuperTeam | 主动退出超级群 |
| updateSuperTeamMute | 超级群全体禁言 |
| getSuperTeamMembersByJoinTime | 获取超级群成员, 分页获取 |
| getSuperTeamMembersByAccounts | 通过一批 account id 获取若干个超级群 |
| getAllSuperTeamMembers | 获取全部超级群成员, 数据量非常多时会分多次 done 返回 |
| getMutedSuperTeamMembers | 获取超级群禁言成员列表 |
| addSuperTeamMembers | 添加超级群的成员 |
| acceptSuperTeamInvite | (用户)接受超级群邀请 |
| rejectSuperTeamInvite | (用户)拒绝超级群的邀请 |
| removeSuperTeamMembers | 踢人出超级群 |
| addSuperTeamManagers | 添加超级群的管理员 |
| removeSuperTeamManagers | 移除超级群的管理员 |
| updateNickInSuperTeam | 修改别人的超级群的昵称 |
| updateInfoInSuperTeam | 修改自己在超级群里的信息 |
| updateSuperTeamMembersMute | 更新超级群成员禁言状态 |
| applySuperTeam | 申请入超级群 |
| passSuperTeamApply | (管理员)通过超级群申请 |
| rejectSuperTeamApply | (管理员)拒绝超级群申请 |
一些其它的接口,完整的 API 请参见 MiscInterface
| 方法 | 功能描述 |
|---|---|
| filterClientAntispam | 检查客户端反垃圾 |
| getClientAntispamLexicon | 获取反垃圾词库 |
| getServerTime | 获取服务器时间戳 |
一些其它的接口,完整的 API 请参见 AiInterface
| 方法 | 功能描述 |
|---|---|
| getAIUserList | 数字人拉取接口 |
| proxyAIModelCall | AI 数字人请求代理接口 |
RN 环境才拥有的推送相关接口,完整的 API 请参见 PushInterface
| 方法 | 功能描述 |
|---|---|
| updatePushToken | 检查客户端反垃圾 |
| appBackground | 获取反垃圾词库 |