完整的 NIM SDK 由 NIMInterface, ChatroomServiceInterface 组成。
SDK
的入口,负责创建实例事件通知如下
V2NIM 是 SDK 入口类。通过该类创建实例。如果是 esm
模式引入,还需要调用 registerService
注册模块,以及环境变量
方法 | 功能描述 |
---|---|
V2NIM.getInstance | 单例模式获取实例 |
V2NIM.registerService | 注册模块. ESM 模式使用 |
下面是NIMInterfaceStatic.getInstance的初始化参数。这里只例举部分回调函数,完整初始化参数见 NIMInitializeOptions,以及NIMOtherOptions
注意,初始化有两个参数,调用方式为: NIM.getInstance(param1, param2)。param1 为 NIMInitializeOptions, param2 为 NIMOtherOptions
const nim = V2NIM.getInstance(
/**
* param1: NIMInitializeOptions
*/
{
appkey: 'YOUR_APPKEY',
token: 'YOUR_TOKEN',
account: 'YOUR_ACCOUNT'
},
/**
* param2: NIMOtherOptions
*/
{
/**
* 会话初始化设置
*/
sessionConfig: {
/**
* 用户可以根据应用场景,设置消息是否要计入未读数。
*/
unreadCountFilterFn: function (msg) {
return true
}
},
/**
* 同步初始化设置
*/
syncOptions: {
/**
* 是否同步置顶会话消息
*/
stickTopSessions: true,
/**
* 是否同步用户信息
*/
myInfo: false
}
}
)
提供最为基础的初始化参数。该参数的完整属性列表请参考NIMInitializeOptions
属性 | 功能描述 |
---|---|
NIMInitializeOptions.appkey | 应用 appkey |
NIMInitializeOptions.account | IM 账户 |
NIMInitializeOptions.token | IM 账户 token |
NIMInitializeOptions.authType | token 的认证模式 |
NIMInitializeOptions.debugLevel | 日志分级 |
提供一些扩展初始化参数。该参数的完整属性列表请参考NIMOtherOptions。
属性 | 功能描述 |
---|---|
NIMOtherOptions.cloudStorageConfig | cloud storage 模块配置 |
NIMOtherOptions.sessionConfig | session 模块配置 |
NIMOtherOptions.syncOptions | 同步模块的选项配置 |
挂载了登录相关 API。调用示例: nim.V2NIMLoginService.login
。完整的 API 请参见 V2NIMLoginService
方法 | 功能描述 |
---|---|
V2NIMLoginService.login | 登录 IM |
V2NIMLoginService.logout | 登出 IM |
V2NIMLoginService.kickOffline | 踢出当前用户从其它端登录上来的连接 |
V2NIMLoginService.getChatroomLinkAddress | 获取聊天室 link 地址 |
V2NIMLoginService.getLoginUser | 获取当前登录的用户账户 ID |
V2NIMLoginService.getLoginStatus | 获取当前登录状态 |
V2NIMLoginService.getConnectStatus | 获取连接状态 |
V2NIMLoginService.getLoginClients | 获取本账号的多端登录的其他端的信息 |
V2NIMLoginService.getKickedOfflineDetail | 获取自己被踢下线的原因 |
V2NIMLoginService.setReconnectDelayProvider | 设置断网重连的等待间隔函数 |
V2NIMLoginService 的事件接口。调用示例: nim.V2NIMLoginService.on()
。完整的 API 请参见 V2NIMLoginListener
事件名称 | 功能描述 |
---|---|
V2NIMLoginListener.onLoginStatus | 登录状态变更通知 |
V2NIMLoginListener.onLoginFailed | 登录的鉴权失败通知 |
V2NIMLoginListener.onKickedOffline | 被踢下线通知 |
V2NIMLoginListener.onLoginClientChanged | 多端登陆通知 |
V2NIMLoginListener.onConnectStatus | 连接状态变更 |
V2NIMLoginListener.onDisconnected | 长连接断开 |
V2NIMLoginListener.onConnectFailed | 连接建立失败 |
V2NIMLoginListener.onDataSync | 数据同步完成的通知 |
挂载了会话相关 API。调用示例: nim.V2NIMConversationService.getConversationList
。完整的 API 请参见 V2NIMConversationService
V2NIMConversationService 的事件接口。调用示例: nim.V2NIMConversationService.on()
。完整的 API 请参见 V2NIMConversationListener
事件名称 | 功能描述 |
---|---|
V2NIMConversationListener.onSyncStarted | 会话模块的数据同步开始 |
V2NIMConversationListener.onSyncFinished | 会话模块的数据同步结束 |
V2NIMConversationListener.onSyncFailed | 会话模块的数据同步失败 |
V2NIMConversationListener.onConversationCreated | 会话被创建 |
V2NIMConversationListener.onConversationDeleted | 会话被删除 |
V2NIMConversationListener.onConversationChanged | 会话有更新 |
V2NIMConversationListener.onTotalUnreadCountChanged | 总未读数发生变化 |
V2NIMConversationListener.onUnreadCountChangedByFilter | 指定过滤条件的未读数发生变化 |
挂载了会话分组相关 API。调用示例: nim.V2NIMConversationGroupService.createConversationGroup
。完整的 API 请参见 V2NIMConversationGroupService
V2NIMConversationGroupService 的事件接口。调用示例: nim.V2NIMConversationGroupService.on()
。完整的 API 请参见 V2NIMConversationGroupListener
挂载了构造消息相关 API。调用示例: nim.V2NIMMessageCreator.createTextMessage
。完整的 API 请参见 V2NIMMessageCreator
挂载消息相关 API。调用示例: nim.V2NIMMessageService.sendMessage
。完整的 API 请参见 V2NIMMessageService
V2NIMMessageService 的事件接口。调用示例: nim.V2NIMMessageService.on()
。完整的 API 请参见 V2NIMMessageListener
事件名称 | 功能描述 |
---|---|
V2NIMMessageListener.onSendMessage | 发送消息时,消息的状态变化回调 |
V2NIMMessageListener.onReceiveMessages | 收到新消息 |
V2NIMMessageListener.onReceiveP2PMessageReadReceipts | 收到点对点消息的已读回执 |
V2NIMMessageListener.onReceiveTeamMessageReadReceipts | 收到高级群消息的已读回执 |
V2NIMMessageListener.onMessageRevokeNotifications | 收到消息撤回回调 |
V2NIMMessageListener.onMessageDeletedNotifications | 收到消息被删除通知 |
V2NIMMessageListener.onClearHistoryNotifications | 清空会话历史消息通知 |
V2NIMMessageListener.onMessagePinNotification | 收到消息 pin 状态更新 |
V2NIMMessageListener.onMessageQuickCommentNotification | 收到消息快捷评论更新 |
群组相关 API。调用示例: nim.V2NIMTeamService.createTeam
。完整的 API 请参见 V2NIMTeamService
V2NIMTeamService 的事件接口。调用示例: nim.V2NIMTeamService.on()
。完整的 API 请参见 V2NIMTeamListener
事件名称 | 功能描述 |
---|---|
V2NIMTeamListener.onSyncStarted | 群组信息同步开始回调 |
V2NIMTeamListener.onSyncFinished | 群组信息同步结束回调 |
V2NIMTeamListener.onSyncFailed | 群组信息数据同步失败 |
V2NIMTeamListener.onTeamCreated | 群组创建回调 |
V2NIMTeamListener.onTeamDismissed | 群组解散 |
V2NIMTeamListener.onTeamJoined | (自己)加入某群 |
V2NIMTeamListener.onTeamLeft | 退出群组 |
V2NIMTeamListener.onTeamInfoUpdated | 群组信息更新 |
V2NIMTeamListener.onTeamMemberJoined | 群组成员加入 |
V2NIMTeamListener.onTeamMemberKicked | 群组成员被踢 |
V2NIMTeamListener.onTeamMemberLeft | 群组成员退出 |
V2NIMTeamListener.onTeamMemberInfoUpdated | 群组成员信息变更 |
V2NIMTeamListener.onReceiveTeamJoinActionInfo | 群组申请动作 |
用户相关 API。调用示例: nim.V2NIMUserService.createTeam
。完整的 API 请参见 V2NIMUserService
方法 | 功能描述 |
---|---|
V2NIMUserService.getUserList | 根据用户账号列表获取用户资料 |
V2NIMUserService.getUserListFromCloud | 根据用户账号列表获取用户资料 |
V2NIMUserService.updateSelfUserProfile | 更新自己的用户资料 |
V2NIMUserService.addUserToBlockList | 添加用户到黑名单中 |
V2NIMUserService.removeUserFromBlockList | 从黑名单中移除用户 |
V2NIMUserService.getBlockList | 获取黑名单列表 |
V2NIMUserService.searchUserByOption | 根据搜索条件搜索用户 |
V2NIMUserService 的事件接口。调用示例: nim.V2NIMUserService.on()
。完整的 API 请参见 V2NIMUserListener
事件名称 | 功能描述 |
---|---|
V2NIMUserListener.onUserProfileChanged | 收到新消息 |
V2NIMUserListener.onBlockListAdded | 黑名单添加通知 |
V2NIMUserListener.onBlockListRemoved | 黑名单删除通知 |
好友相关 API。调用示例: nim.V2NIMFriendService.addFriend
。完整的 API 请参见 V2NIMFriendService
方法 | 功能描述 |
---|---|
V2NIMFriendService.addFriend | 添加/申请好友 |
V2NIMFriendService.deleteFriend | 删除好友 |
V2NIMFriendService.acceptAddApplication | 接受好友申请 |
V2NIMFriendService.rejectAddApplication | 添加/申请好友 |
V2NIMFriendService.setFriendInfo | 设置好友信息 |
V2NIMFriendService.getFriendList | 获取好友列表 |
V2NIMFriendService.checkFriend | 根据账号 ID 检查好友状态 |
V2NIMFriendService.getAddApplicationList | 获取申请添加好友列表通知 |
V2NIMFriendService.getAddApplicationUnreadCount | 获取未读好友申请通知数量 |
V2NIMFriendService.setAddApplicationRead | 设置所有好友申请已读 |
V2NIMFriendService.searchFriendByOption | 根据搜索条件搜索好友 |
V2NIMFriendService 的事件接口。调用示例: nim.V2NIMFriendService.on()
。完整的 API 请参见 V2NIMFriendListener
事件名称 | 功能描述 |
---|---|
V2NIMFriendListener.onFriendAdded | 已添加好友 |
V2NIMFriendListener.onFriendDeleted | 已删除好友 |
V2NIMFriendListener.onFriendAddApplication | 收到好友申请 |
V2NIMFriendListener.onFriendAddRejected | 好友申请被拒绝的通知 |
V2NIMFriendListener.onFriendInfoChanged | 好友信息更新 |
设置相关 API。调用示例: nim.V2NIMSettingService.getConversationMuteStatus
。完整的 API 请参见 V2NIMSettingService
方法 | 功能描述 |
---|---|
V2NIMSettingService.getConversationMuteStatus | 获取会话消息免打扰状态 |
V2NIMSettingService.setTeamMessageMuteMode | 设置群消息免打扰模式 |
V2NIMSettingService.getTeamMessageMuteMode | 获取群消息免打扰模式 |
V2NIMSettingService.setP2PMessageMuteMode | 设置点对点消息免打扰模式 |
V2NIMSettingService.getP2PMessageMuteMode | 获取用户消息免打扰模式 |
V2NIMSettingService.getP2PMessageMuteList | 获取点对点消息免打扰列表 |
V2NIMSettingService.setAppBackground | 设置应用前后台状态 |
V2NIMSettingService.setOfflinePushConfig | 设置离线推送参数 |
V2NIMSettingService.setPushMobileOnDesktopOnline | 设置当桌面端在线时,移动端是否需要推送 |
V2NIMSettingService 的事件接口。调用示例: nim.V2NIMSettingService.on()
。完整的 API 请参见 V2NIMSettingListener
事件名称 | 功能描述 |
---|---|
V2NIMSettingListener.onTeamMessageMuteModeChanged | 群消息免打扰模式变更 |
V2NIMSettingListener.onP2PMessageMuteModeChanged | 点对点消息免打扰模式变更 |
设置相关 API。调用示例: nim.V2NIMClientAntispamUtil.checkTextAntispam
。完整的 API 请参见 V2NIMClientAntispamUtil
方法 | 功能描述 |
---|---|
V2NIMClientAntispamUtil.checkTextAntispam | 对输入的文本进行本地反垃圾检查 |
设置相关 API。调用示例: nim.V2NIMStorageService.addCustomStorageScene
。完整的 API 请参见 V2NIMStorageService
方法 | 功能描述 |
---|---|
V2NIMStorageService.addCustomStorageScene | 设置自定义场景 |
V2NIMStorageService.getStorageSceneList | 查询存储场景列表 |
V2NIMStorageService.createUploadFileTask | 创建文件上传任务 |
V2NIMStorageService.uploadFile | 上传文件 |
V2NIMStorageService.cancelUploadFile | 取消文件上传 |
V2NIMStorageService.shortUrlToLong | 短链转长链 |
[[V2NIMStorageService.imageThumbUrl]] | 生成图片缩略链接 |
[[V2NIMStorageService.videoCoverUrl]] | 生成视频封面图链接 |
V2NIMStorageService.getImageThumbUrl | 获取图片缩略图 URL |
V2NIMStorageService.getVideoCoverUrl | 获取视频封面 URL |
通知相关 API。调用示例: nim.V2NIMNotificationService.sendCustomNotification
。完整的 API 请参见 V2NIMNotificationService
方法 | 功能描述 |
---|---|
V2NIMNotificationService.sendCustomNotification | 发送自定义通知 |
V2NIMNotificationService 的事件接口。调用示例: nim.V2NIMNotificationService.on()
。完整的 API 请参见 V2NIMNotificationListener
事件名称 | 功能描述 |
---|---|
V2NIMNotificationListener.onReceiveCustomNotifications | 收到自定义通知 |
V2NIMNotificationListener.onReceiveBroadcastNotifications | 收到广播通知 |
设置相关 API。调用示例: nim.DataStructureConverter.messageConvertToV1
。完整的 API 请参见 DataStructureConverter
方法 | 功能描述 |
---|---|
DataStructureConverter.messageConvertToV1 | 将 V2 消息转化为 V1 消息 |
DataStructureConverter.messageConvertToV2 | 将 V1 消息转化为 V2 消息 |
设置相关 API。调用示例: nim.V2NIMMessageConverter.messageSerialization
。完整的 API 请参见 V2NIMMessageConverter
方法 | 功能描述 |
---|---|
V2NIMMessageConverter.messageSerialization | 将 V2 消息序列化 |
V2NIMMessageConverter.messageDeserialization | 将 序列化消息反转成 V2 消息 |
设置相关 API。调用示例: nim.V2NIMAIService.getAIUserList
。完整的 API 请参见 V2NIMAIService
方法 | 功能描述 |
---|---|
V2NIMAIService.getAIUserList | 将 V2 消息序列化 |
V2NIMAIService.proxyAIModelCall | 将 序列化消息反转成 V2 消息 |
设置相关 API。调用示例: nim.V2NIMSignallingService.call
。完整的 API 请参见 V2NIMSignallingService
方法 | 功能描述 |
---|---|
V2NIMSignallingService.call | 直接呼叫对方加入房间 |
V2NIMSignallingService.callSetup | 呼叫建立 |
V2NIMSignallingService.createRoom | 创建信令房间 |
V2NIMSignallingService.closeRoom | 关闭信令房间接口 |
V2NIMSignallingService.joinRoom | 加入信令房间接口 |
V2NIMSignallingService.leaveRoom | 离开信令房间接口 |
V2NIMSignallingService.invite | 邀请成员加入信令房间接口 |
V2NIMSignallingService.cancelInvite | 取消之前的邀请成员加入信令房间接口 |
V2NIMSignallingService.rejectInvite | 拒绝别人的邀请加入信令房间请求 |
V2NIMSignallingService.acceptInvite | 接受别人的邀请加入信令房间请求 |
V2NIMSignallingService.sendControl | 发送自定义控制指令 |
V2NIMSignallingService.getRoomInfoByChannelName | 根据频道名称查询频道房间信息 |