IMSDK
IM features a comprehensive suite of solutions including global access, one-to-one chat, group chat, message push, profile and relationship chain hosting, and account authentication. It also provides complete app access and backend management APIs.
CPP概览

>!**新老版本 API 请勿混合使用**。

初始化登录接口

初始化并成功登录,是正常使用腾讯云 IM 服务的前提。

API 描述
InitSDK 初始化 SDK
UnInitSDK 反初始化 SDK
AddSDKListener 添加 IM 监听
RemoveSDKListener 移除 IM 监听
GetVersion 获取版本号
GetServerTime 获取服务器当前时间
Login 登录
Logout 登出
GetLoginStatus 获取登录状态
GetLoginUser 获取当前登录用户的 UserID

简单消息收发接口

如果您只需要使用文本和信令(即一段自定义buffer)消息,只需要使用这套简单消息收发接口即可。

API 描述
AddSimpleMsgListener 添加基本消息(文本消息和自定义消息)的事件监听器,
请不要同 AddAdvancedMsgListener 混用
RemoveSimpleMsgListener 移除基本消息(文本消息和自定义消息)的事件监听器
SendC2CTextMessage 发送单聊(C2C)普通文本消息
SendC2CCustomMessage 发送单聊(C2C)自定义(信令)消息
SendGroupTextMessage 发送群聊普通文本消息
SendGroupCustomMessage 发送群聊自定义(信令)消息

信令接口

API 描述
AddSignalingListener 添加信令监听
RemoveSignalingListener 移除信令监听
Invite 邀请某个人
InviteInGroup 邀请群内的某些人
Cancel 邀请方取消邀请
Accept 接收方接收邀请
Reject 接收方拒绝邀请
GetSignalingInfo 获取信令信息
AddInvitedSignaling 添加邀请信令(可以用于群离线推送消息触发的邀请信令)
ModifyInvitation 修改邀请信令

高级消息收发接口

如果您需要收发图片、视频、文件等富媒体消息,并需要撤回消息、标记已读、查询历史消息等高级功能,推荐使用下面这套高级消息接口(简单消息接口和高级消息接口请不要混用)。

API 描述
AddAdvancedMsgListener 添加高级消息的事件监听器,
请不要同 AddSimpleMsgListener 混用
RemoveAdvancedMsgListener 移除高级消息的事件监听器
CreateTextMessage 创建文本消息
CreateTextAtMessage 创建 @ 文本消息
CreateCustomMessage 创建自定义消息
CreateCustomMessage 创建自定义消息(支持设置离线推送的信息)
CreateImageMessage 创建图片消息
CreateSoundMessage 创建语音消息
CreateVideoMessage 创建视频消息
CreateFileMessage 创建文件消息
CreateLocationMessage 创建地理位置消息
CreateFaceMessage 创建表情消息
CreateMergerMessage 创建合并转发消息
CreateForwardMessage 创建单条转发消息
CreateTargetedGroupMessage 创建定向群消息
CreateAtSignedGroupMessage 创建带 @ 标记的群消息
SendMessage 发送消息,消息对象可以由 createXXXMessage 接口创建得来
SetC2CReceiveMessageOpt 设置单聊消息免打扰
GetC2CReceiveMessageOpt 获取单聊消息免打扰状态
SetGroupReceiveMessageOpt 设置群聊消息免打扰状态
SetAllReceiveMessageOpt 设置全局消息接收选项(支持设置每天的免打扰时间)
SetAllReceiveMessageOpt 设置全局消息接收选项
GetAllReceiveMessageOpt 获取登录用户全局消息接收选项
GetHistoryMessageList 获取历史消息高级接口
RevokeMessage 撤回消息,消息对象可以由 createXXXMessage 接口创建得来
ModifyMessage 修改消息,消息对象可以由 createXXXMessage 接口创建得来
MarkC2CMessageAsRead 设置单聊(C2C)消息已读 (待废弃接口,请使用 CleanConversationUnreadMessageCount 接口)
MarkGroupMessageAsRead 设置群组消息已读 (待废弃接口,请使用 CleanConversationUnreadMessageCount 接口)
MarkAllMessageAsRead 标记所有会话为已读 (待废弃接口,请使用 CleanConversationUnreadMessageCount 接口)
DeleteMessages 删除本地及云端的消息
ClearC2CHistoryMessage 清空单聊本地及云端的消息
ClearGroupHistoryMessage 清空群聊本地及云端的消息
InsertGroupMessageToLocalStorage 向群组消息列表中添加一条消息
InsertC2CMessageToLocalStorage 向单聊消息列表中添加一条消息
FindMessages 根据 msgID 查找本地消息
SearchLocalMessages 搜索本地消息
SearchCloudMessages 搜索云端消息
SendMessageReadReceipts 发送消息已读回执
GetMessageReadReceipts 获取消息已读回执
GetGroupMessageReadMemberList 获取群消息已读群成员列表
SetMessageExtensions 设置消息扩展
GetMessageExtensions 获取消息扩展
DeleteMessageExtensions 删除消息扩展
AddMessageReaction 添加消息回应
RemoveMessageReaction 删除消息回应
GetMessageReactions 批量拉取多条消息回应
GetAllUserListOfMessageReaction 分页拉取消息回应全量用户列表
TranslateText 翻译文本消息

群组相关接口

腾讯云 IM SDK 支持以下预设的群组类型,每种类型都有其适用场景:

  • 工作群(Work) :类似普通微信群,创建后不能自由加入,必须由已经在群的用户邀请入群。
  • 公开群(Public) :类似 QQ 群,用户申请加入,但需要群主或管理员审批。
  • 会议群(Meeting) :适合跟 TRTC 结合实现视频会议和在线教育等场景,支持随意进出,支持查看进群前的历史消息。
  • 社群(Community) :社群成员上限 100000 人,任何人都可以自由进出,且加群无需被审批,适合用于知识分享和游戏交流等超大社区群聊场景。5.8 版本开始支持,需要您购买旗舰版套餐包 并在 控制台 >【功能配置】>【群组配置】>【群功能配置】>【社群】中开通。
  • 直播群(AVChatRoom):适合直播弹幕聊天室等场景,支持随意进出,人数无上限。
API 描述
AddGroupListener 添加群组相关的事件监听器
RemoveGroupListener 移除群组相关的事件监听器
CreateGroup 创建群组(简单版本)
CreateGroup 创建群组(高级版本),可在建群同时设置群信息和初始的群成员
JoinGroup 加入群组
QuitGroup 退出群组
DismissGroup 解散群组(仅群主和管理员可以解散)
GetJoinedGroupList 获取已经加入的群列表(不包括已加入的直播群)
GetGroupsInfo 拉取群资料
SearchGroups 搜索群列表
SetGroupInfo 修改群资料
InitGroupAttributes 初始化群属性
SetGroupAttributes 设置群属性
DeleteGroupAttributes 删除群属性
GetGroupAttributes 获取群属性
GetGroupOnlineMemberCount 获取群在线人数
GetGroupMemberList 获取群成员列表
GetGroupMembersInfo 获取指定的群成员资料
SearchGroupMembers 搜索群成员
SetGroupMemberInfo 修改指定的群成员资料
MuteGroupMember 禁言
MuteAllGroupMembers 禁言全体群成员,只有管理员或群主能够调用
KickGroupMember 踢人
KickGroupMember 踢人(支持设置禁止加群时长)
SetGroupMemberRole 切换群成员的角色
MarkGroupMemberList 标记群成员
TransferGroupOwner 转让群主
InviteUserToGroup 邀请他人入群
GetGroupApplicationList 获取加群的申请列表
AcceptGroupApplication 同意某一条加群申请
RefuseGroupApplication 拒绝某一条加群申请
SetGroupApplicationRead 标记申请列表为已读
GetJoinedCommunityList 获取当前用户已经加入的支持话题的社群列表
CreateTopicInCommunity 创建话题
DeleteTopicFromCommunity 删除话题
SetTopicInfo 修改话题信息
GetTopicInfoList 获取话题列表
SetGroupCounters 设置群计数器
GetGroupCounters 获取群计数器
IncreaseGroupCounter 递增群计数器
DecreaseGroupCounter 递减群计数器

社群话题相关接口

社群用来管理群成员。社群下的所有话题不仅可以共享社群成员,还可以独立收发消息而不相互干扰。

API 描述
AddCommunityListener 添加社群监听器
RemoveCommunityListener 移除社群监听器
CreateCommunity 创建支持话题的社群
GetJoinedCommunityList 获取当前用户已经加入的支持话题的社群列表
CreateTopicInCommunity 创建话题
DeleteTopicFromCommunity 删除话题
SetTopicInfo 修改话题信息
GetTopicInfoList 获取话题列表
CreatePermissionGroupInCommunity 创建社群权限组
DeletePermissionGroupFromCommunity 删除社群权限组
ModifyPermissionGroupInfoInCommunity 修改社群权限组
GetJoinedPermissionGroupListInCommunity 获取已加入的社群权限组列表
GetPermissionGroupListInCommunity 获取社群权限组列表
AddCommunityMembersToPermissionGroup 向社群权限组添加成员
RemoveCommunityMembersFromPermissionGroup 从社群权限组删除成员
GetCommunityMemberListInPermissionGroup 获取社群权限组成员列表
AddTopicPermissionToPermissionGroup 向权限组添加话题权限
DeleteTopicPermissionFromPermissionGroup 从权限组中删除话题权限
ModifyTopicPermissionInPermissionGroup 修改权限组中的话题权限
GetTopicPermissionInPermissionGroup 获取权限组中的话题权限

会话列表相关接口

会话列表,即登录微信或 QQ 后首屏看到的列表,包含会话节点、会话名称、群名称、最后一条消息以及未读消息数等元素。

API 描述
AddConversationListener 添加会话监听器
RemoveConversationListener 移除会话监听器
GetConversationList 获取会话列表
GetConversation 获取指定单个会话
GetConversationList 获取指定多个会话
GetConversationListByFilter 获取会话列表(支持指定会话类型、标记类型、分组名等)
DeleteConversation 删除会话
DeleteConversationList 删除会话列表
SetConversationDraft 设置会话草稿
SetConversationCustomData 设置会话自定义数据
PinConversation 置顶会话
MarkConversation 标记会话
GetTotalUnreadMessageCount 获取会话总未读数
CleanConversationUnreadMessageCount 清理会话的未读消息计数
CreateConversationGroup 创建会话分组
GetConversationGroupList 获取会话分组列表
DeleteConversationGroup 删除会话分组
RenameConversationGroup 重命名会话分组
AddConversationsToGroup 添加会话到一个会话分组
DeleteConversationsFromGroup 从一个会话分组中删除会话
GetUnreadMessageCountByFilter 获取按会话 filter 过滤的未读总数
SubscribeUnreadMessageCountByFilter 注册监听指定 filter 的会话未读总数变化
UnsubscribeUnreadMessageCountByFilter 取消监听指定 filter 的会话未读总数变化

用户资料相关接口

包含查询用户资料、修改个人资料以及屏蔽某人消息(即把某用户加入黑名单中)的相关接口。

API 描述
GetUsersInfo 获取用户资料
SetSelfInfo 修改个人资料
SubscribeUserInfo 订阅用户资料
UnsubscribeUserInfo 取消订阅用户资料
GetUserStatus 查询用户状态
SetSelfStatus 设置自己的状态
SubscribeUserStatus 订阅用户状态
UnsubscribeUserStatus 取消订阅用户状态
AddToBlackList 屏蔽某人的消息(添加该用户到黑名单中)
DeleteFromBlackList 取消某人的消息屏蔽(把该用户从黑名单中移除)
GetBlackList 获取黑名单列表

好友管理相关接口

腾讯云 IM 在收发消息时默认不检查是不是好友关系,您可以在 【控制台】 >【功能配置】>【登录与消息】>【好友关系检查】中开启"发送单聊消息检查关系链"开关,并使用如下接口增删好友和管理好友列表。

API 描述
AddFriendListener 添加关系链的监听器
RemoveFriendListener 移除关系链的监听器
GetFriendList 获取好友列表
GetFriendsInfo 获取指定好友资料
SetFriendInfo 设置指定好友资料
SearchFriends 搜索好友列表
AddFriend 添加好友
DeleteFromFriendList 删除好友
CheckFriend 检查指定用户的好友关系
GetFriendApplicationList 获取好友申请列表
AcceptFriendApplication 同意好友申请
RefuseFriendApplication 拒绝好友申请
DeleteFriendApplication 删除好友申请
SetFriendApplicationRead 设置好友申请已读
CreateFriendGroup 新建好友分组
GetFriendGroups 获取分组信息
DeleteFriendGroup 删除好友分组
RenameFriendGroup 修改好友分组的名称
AddFriendsToFriendGroup 添加好友到一个好友分组
DeleteFriendsFromFriendGroup 从好友分组中删除好友

公众号相关接口

公众号可以为订阅的用户发送广播消息,也可以与订阅的用户进行单聊。

API 描述
SubscribeOfficialAccount 订阅公众号
UnsubscribeOfficialAccount 取消订阅公众号
GetOfficialAccountsInfo 获取公众号列表

关注和粉丝相关接口

关注和粉丝功能可以帮助建立和维护用户之间相对简单的连接关系,方便促进用户之间的互动和交流。

API 描述
FollowUser 关注用户
UnfollowUser 取消关注用户
GetMyFollowingList 获取我的关注列表
GetMyFollowersList 获取我的粉丝列表
GetMutualFollowersList 获取我的互关列表
GetUserFollowInfo 获取指定用户的 关注/粉丝/互关 数量信息
CheckFollowType 检查指定用户的关注类型

交流与反馈

点此进入 IM 社群,享有专业工程师的支持,解决您的难题。