NIM PC Cross Platform SDK
载入中...
搜索中...
未找到
NIM PC Cross Platform SDK

网易云信 IM 即时通讯服务基于网易二十余年的 IM 技术积累,致力于打造最稳定的即时通讯云平台。NIM SDK 为 PC 应用提供完善的即时通信功能开发能力,屏蔽其内部复杂细节,对外提供较为简洁的 API 接口,方便您快速集成即时通信功能。

注解
NIM SDK 接入指引,请参见 NetEase IM 跨平台 PC C++ SDK 接入指引

核心类列表

  • nim::Client:NIM SDK 的入口,提供 SDK 初始化和登录/登出等相关接口与回调。
  • nim::Talk:提供消息收发相关接口与回调。
  • nim_audio::Audio:提供 IM 语音录制与播放相关接口与回调。
  • nim::Session: 提供会话列表相关接口与回调,如会话列表查询、会话列表置顶、未读数清零等。
  • nim::MsgLog: 提供历史消息相关接口与回调,如查询历史消息、删除某个会话的聊天记录、批量设置已读状态等。
  • nim::TalkEx:提供消息扩展能力,如消息收藏、Thread、快捷评论(Reaction)、会话置顶等。
  • nim::User: 提供用户相关接口与回调,如更新用户名片、设置/取消黑名单、设置/取消静音名单等。
  • nim::Friend: 提供好友关系相关接口与回调,如添加好友、删除好友、获取好友信息等。
  • nim::SubscribeEvent:提供事件订阅与发布相关接口与回调。
  • nim::SystemMsg:提供系统通知相关接口与回调,如发送自定义系统通知、查询系统通知和删除系统通知等。
  • nim::Team: 提供群组相关接口与回调,如创建群、申请入群、解散群等。
  • nim::SuperTeam:提供超大群相关接口与回调,如查询群信息、查询群成员信息、加人入群等。
  • nim_chatroom::ChatRoom:提供聊天室相关接口与回调,如登录聊天室、匿名进入聊天室、查询成员列表等。
  • nim::NOS:提供网易云存储服务相关接口。
  • nim::DocTrans:提供文档转换接口。
  • nim::QChat:提供圈组初始化与登录登出相关接口与回调。
  • nim::Server:提供圈组服务器相关接口与回调,如创建服务器、邀请服务器成员、以游客身份进入服务器、订阅服务器等。
  • nim::Channel:提供圈组频道相关接口与回调,如创建频道、查询频道、订阅频道、更新频道黑白名单等。
  • nim::Role:提供圈组身份组相关接口与回调,如创建身份组、添加身份组成员、查询身份组等。
  • nim::Message:提供圈组消息收发/查询相关接口与回调。
  • nim::SystemNotification:提供圈组系统通知相关接口与回调。
注解
以下仅列出各模块的部分核心 API。全量 API 请进入以上所列的类进行查询。

初始化与登录

方法 描述
Init 初始化 SDK
Login 登录 IM
Logout 登出 IM
KickOtherClient 将使用相同 IM 账号登录的其他设备端踢下线

消息(单聊与群聊)

方法 描述
CreateTextMessage 构建文本消息
CreateAudioMessage 构建语音消息
CreateFileMessage 构建文件消息
CreateImageMessage 构建图片消息
CreateVideoMessage 构建视频消息
CreateLocationMessage 构建地理位置消息
CreateTipMessage 构建提示(tip)消息
CreateRetweetMessage 构建转发消息
SendMsg 发送消息
StopSendMsg 停止正在发送中的消息(目前只支持发送文件消息时的终止)
RecallMsgEx 撤回消息
ReplyMessage 回复消息(Thread 场景)

历史消息

方法 描述
GetMessagesDynamically 查询历史消息,基于本地可信时间段信息来动态判断获取消息的途径
BatchStatusDeleteAsyncEx 删除某个会话的全部聊天记录
BatchStatusReadAsync 批量设置已读状态
DeleteAllAsyncEx 删除全部消息历史
DeleteAsync 删除一条指定的消息
DeleteBySessionTypeAsyncEx 删除指定会话类型的所有消息
DeleteMessageSelfAsync 单向删除多条消息记录(同时删除本地与云端)
DeleteMsgByTimeAsyncEx 根据时间段删除部分会话的历史消息
FullTextSearchOnlineAsync 在线全文检索
QueryMessageIsThreadRoot 查询某条消息是否为 thread 聊天的根消息
QueryThreadHistoryMsg 分页查询 Thread 消息历史
QuerySentMessageBeReaded 查询自己发送的消息是否被对方已读
SendReceiptAsync 发送消息的已读回执
UpdateLocalExtAsync 更新本地消息扩展字段内容

消息扩展

方法 描述
AddCollect 添加收藏
QueryCollectList 分页查询收藏列表
RemoveCollects 批量删除收藏
UpdateCollectExt 更新收藏扩展字段
AddPinMessage PIN 某条消息
QueryAllPinMessage 查询某个会话的所有 PIN 消息
UnPinMessage 取消 PIN 某条消息
UpdatePinMessage 更新某条 PIN 消息的扩展字段
AddQuickComment 为某条消息添加快捷评论(Reaction)
QueryQuickCommentList 查询快捷评论列表
RemoveQuickComment 移除快捷评论

会话列表

方法 描述
QueryAllRecentSessionAsyncEx 查询会话列表
QuerySessionDataById 根据给定的 IM 账号(accid)或者群 ID 查询相应会话的信息
CancelToStickTopSession 取消置顶会话列表
DeleteAllRecentSession 删除全部最近会话
DeleteRecentSessionEx 删除最近的某个会话
DeleteSessionRoamingMessage 删除某会话的漫游消息
QueryStickTopSessionList 查询置顶会话列表
SetAllUnreadCountZeroAsync 将所有会话的未读数清零
SetMultiUnreadCountZeroAsync 批量将指定会话的未读数清零
SetToStickTopSession 置顶会话
SetUnreadCountZeroAsync 将某个会话的未读数清零
UpdateToStickTopSession 更新置顶会话列表

系统通知

方法 描述
CreateCustomNotificationMsg 构建自定义系统通知
QueryMsgAsync 查询本地系统通知
QueryUnreadCount 查询系统通知未读数
ReadAllAsync 将全部系统通知设置为已读
SendCustomNotificationMsg 发送自定义系统通知
SetStatusAsync 设置系统通知状态

群组

方法 描述
CreateTeamAsyncEx 创建群组
AcceptInvitationAsync 接受入群邀请
RejectInvitationAsync 拒绝入群邀请
AddManagersAsync 添加群管理员
ApplyJoinAsync 申请入群
PassJoinApplyAsync 同意入群申请
RejectJoinApplyAsync 拒绝入群申请
AddManagersAsync 添加群管理员
RemoveManagersAsync 删除群管理员
TransferTeamAsync 将群主身份移交给其他群成员
DismissAsync 解散群组
UpdateMyPropertyAsync 更新自己的群属性
GetTeaminfoList 根据一组群 ID 查询相应的群详细信息
InviteAsync 邀请用户入群
KickAsync 将某用户踢出群
UpdateTeamInfoAsync 更新群信息
LeaveAsync 退出群组
MuteAsync 群禁言/解除群禁言
MuteMemberAsync 将某群成员禁言/解除禁言
QueryAllMyTeamsAsync 查询所有群
QueryMuteListOnlineAsync 获取群禁言成员列表
QueryTeamInfoByKeywordAsync 按关键字查询群信息
QueryTeamInfoOnlineAsync 获取群信息(从云信服务端获取)
QueryTeamMemberAsync 查询某个群成员的信息
QueryTeamMembersAsync 查询群成员
TeamMsgAckReadEx 发送群消息已读回执
TeamMsgQueryUnreadList 根据指定的 IM 账号(accid)获取群租消息已读未读情况
QueryTeamMembersAsync 查询群成员

超大群

方法 描述
AcceptInvitationAsync 接受加入超大群的邀请
AddManagersAsync 添加超大群的管理员
RemoveManagersAsync 删除超大群的管理员
TransferTeamAsync 将超大群群组身份移交给其他成员
ApplyJoinAsync 申请加入超大群
InviteAsync 邀请用户加入超大群
RejectInvitationAsync 拒绝“加入超大群”的邀请
RejectJoinApplyAsync 拒绝“加入超大群”的申请
KickAsync 将某个成员踢出超大群
UpdateMyPropertyAsync 更新自己在超大群的属性
UpdateSuperTeamInfoAsync 更新超大群的信息
KickAsync 将某个成员踢出超大群
LeaveAsync 退出超大群
MuteAsync 将超大群禁言/解除禁言
MuteMemberAsync 将某个超大群成员禁言/解除禁言
PassJoinApplyAsync 同意加入超大群的申请
QueryAllMySuperTeamsAsync 查询所有超大群
QueryAllMySuperTeamsInfoAsync 查询所有超大群的信息
QueryMuteListAsync 获取超大群的禁言成员列表
QuerySuperTeamInfoAsync 查询某个超大群的信息
QuerySuperTeamInfoOnlineAsync 查询某个超大群的信息(从服务器获取)
QuerySuperTeamMemberAsync 查询超大群中某个成员的信息
QuerySuperTeamsInfoByKeywordAsync 根据关键字查询所有群的信息
QuerySuperTeamMembersAsync 查询超大群的成员信息

聊天室

方法 描述
Init 聊天室模块初始化(SDK 初始化时调用一次)
Enter 非独立模式登录聊天室(必需先登录 IM)
IndependentEnter 独立模式登录聊天室(无需先登录 IM)
AnonymousEnter 匿名进入聊天室
Exit 登出聊天室
KickMemberAsync 将指定成员踢出聊天室
CreateRoomMessage 构建一条聊天室消息
SendMsg 在某个聊天室发送一条消息
TempMuteMemberAsync 将某聊天室成员临时禁言/解除禁言
TempMuteMemberByTagAsync 指定标签(tag)将该标签下的成员禁言/解除禁言
UpdateLocation 更新聊天室的位置信息
UpdateMyRoomRoleAsync 更新我的聊天室成员信息
UpdateRoomInfoAsync 更新聊天室信息
UpdateTags 更新聊天室标签
GetInfoAsync 获取当前聊天室信息
GetLoginState 获取聊天室登录状态
GetMemberInfoByIDsAsync 获取指定成员信息
GetMembersByTagOnlineAsync 根据标签(tag)查询聊天室成员列表
GetMembersCountByTagOnlineAsync 获取聊天室内指定标签(tag)的成员数量
GetMembersOnlineAsync 查询聊天室成员列表
GetMessageHistoryOnlineAsync 查询聊天室历史消息
QueueListAsync 排序列出聊天室队列(例如麦序队列)
QueueBatchUpdateAsync 批量更新聊天室队列
QueueOfferAsyncEx 新加(更新)队列元素
QueuePollAsync 取出队列元素
QueueDropAsync 删除聊天室队列(需管理员权限)

用户资料

方法 描述
GetBlacklist 获取黑名单列表
GetMutelist 获取静音名单列表
GetUserNameCardOnline 在线查询指定 IM 账号(accid)的用户名片
SetBlack 将用户加入/移出黑名单
SetMute 将用户加入/移出静音名单
UpdateMyUserNameCard 更新自己的用户名片

好友关系

方法 描述
DeleteEx 删除好友
GetFriendProfile 获取好友信息
GetList 增量获取好友列表
Request 添加好友
Update 更新好友资料

圈组-初始化与登录

方法 描述
Init 圈组模块初始化(SDK 初始化时调用一次)
Login 登录圈组
Logout 登出圈组
KickOtherClients 将使用相同 IM 账号(accid)登录圈组的其他设备端踢下线

圈组-服务器

方法 描述
CreateServer 创建服务器,服务器即社群本身
UpdateServer 更新服务器
DeleteServer 删除服务器
AcceptApply 接受“加入服务器”的申请
Invite 邀请用户加入服务器
AcceptInvite 接受“加入服务器”的邀请
Apply 申请加入某个服务器
JoinByInviteCode 通过邀请码加入服务器
Kick 将指定成员踢出服务器
RejectApply 拒绝“加入服务器”的申请
RejectInvite 拒绝“加入服务器”的邀请
Leave 离开服务器
LeaveAsVisitor 以游客身份离开服务器
BanMember 封禁服务器成员
UnbanMember 解封服务器成员
EnterAsVisitor 以游客身份进入服务器
GenerateInviteCode 生成服务器邀请码
GetBannedMembersByPage 分页查询服务器封禁成员列表
GetInviteApplyRecordOfSelf 查询自己的邀请、申请历史
GetInviteApplyRecordOfServer 查询服务器下的邀请、申请历史
GetServerMembers 查询服务器成员列表
GetServerMembersByPage 分页查询服务器成员列表
GetServers 查询服务器列表
GetServersByPage 分页查询服务器列表
MarkRead 标记服务器下所有频道的消息为已读
ServerMemberSearch 根据关键字搜索服务器成员
Subscribe 订阅服务器相关信息
SubscribeAllChannel 订阅服务器下所有频道的消息
SubscribeAsVisitor 以游客身份订阅服务器相关信息

圈组-频道

方法 描述
ChannelMemberSearch 根据关键字搜索频道成员列表
ChannelSearchByPage (分页)根据关键字搜索频道成员列表
CreateChannel 创建频道
UpdateChannel 更新频道
DeleteChannel 删除频道
GetChannels 查询频道列表
GetChannelsByPage 分页查询频道列表
GetMembersByPage 分页查询频道成员列表
UpdateWhiteBlackMembers 更新频道黑白名单成员
GetWhiteBlackMembersPage 分页查询频道黑白名单列表
UpdateWhiteBlackRole 更新频道黑白名单身份组
GetWhiteBlackRolesPage 分页查询频道黑白名单身份组列表
QueryUnreadInfo 查询频道的消息未读数
Subscribe 订阅频道未读状态、未读数或未读消息、事件
SubscribeAsVisitor 以游客身份订阅频道的消息未读状态、未读数或未读消息、事件

圈组-身份组

方法 描述
CreateServerRole 创建服务器身份组
UpdateServerRole 更新服务器身份组
DeleteServerRole 删除服务器身份组
AddMembersToServerRole 将部分成员添加至某个服务器身份组
RemoveMembersFromServerRole 从服务器身份组中移除部分成员
AddChannelRole 创建频道身份组
UpdateChannelRole 更新频道身份组
AddMemberRole 创建用户定制权限,即在频道中添加针对指定成员的特殊权限配置
UpdateMemberRole 更新用户定制权限
RemoveMemberRole 删除用户定制权限
CheckPermission 查询当前登录用户是否拥有特定权限
CheckPermissions 批量查询当前登录用户是否拥有特定权限
GetChannelRoles 查询频道身份组

圈组-消息

方法 描述
Send 发送消息
Update 更新消息
Revoke 撤回消息
Delete 删除消息。删除未读消息将影响未读数
AreMentionedMeMessages 查询消息是否 @ 当前用户
GetLastMessages 获取频道最后一条消息
GetMentionedMeMessages 查询未读消息中 @ 当前用户的消息
GetMessages 查询历史消息
GetMessagesCache 查询本地消息历史缓存, 仅用于无网络情况或加速页面显示时使用,恢复通信后应使用 GetMessages 的结果进行覆盖
Reply 回复指定消息(Thread 聊天场景)
GetThreadMessages 分页获取 Thread 的回复消息列表
AddQuickComment 针对某条消息添加快捷评论(Reaction)
MarkRead 将消息标记为已读
SearchMsgByPage 分页搜索消息

圈组-系统通知

方法 描述
Send 发送圈组的自定义系统通知
SendTypingEvent 发送正在输入事件
Update 更新自定义系统通知
MarkSystemNotificationsRead 标记系统通知消息已读