IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、帐号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
CPP概览

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

初始化登录接口

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

API 描述
InitSDK 初始化 SDK
UnInitSDK 反初始化 SDK
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 添加邀请信令(可以用于群离线推送消息触发的邀请信令)。

高级消息收发接口

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

API 描述
AddAdvancedMsgListener 设置高级消息的事件监听器,
请不要同 AddSimpleMsgListener 混用。
RemoveAdvancedMsgListener 移除高级消息的事件监听器
CreateTextMessage 创建文本消息
CreateTextAtMessage 创建 @ 文本消息
CreateCustomMessage 创建自定义消息
CreateImageMessage 创建图片消息
CreateSoundMessage 创建语音消息
CreateVideoMessage 创建视频消息
CreateFileMessage 创建文件消息
CreateLocationMessage 创建地理位置消息
CreateFaceMessage 创建表情消息
CreateMergerMessage 创建合并转发消息
CreateForwardMessage 创建单条转发消息
SendMessage 发送消息,消息对象可以由 CreateXXXMessage 接口创建得来。
SetC2CReceiveMessageOpt 设置单聊消息免打扰
GetC2CReceiveMessageOpt 获取单聊消息免打扰状态
SetGroupReceiveMessageOpt 设置群聊消息免打扰状态
GetC2CHistoryMessageList 获取单聊(C2C)历史消息
GetGroupHistoryMessageList 获取群组历史消息
GetHistoryMessageList 获取历史消息高级接口
RevokeMessage 撤回消息,消息对象可以由 CreateXXXMessage 接口创建得来。
MarkC2CMessageAsRead 设置单聊(C2C)消息已读
MarkGroupMessageAsRead 设置群组消息已读
DeleteMessageFromLocalStorage 删除本地消息
DeleteMessages 删除本地及云端的消息
ClearC2CHistoryMessage 清空单聊本地及云端的消息
ClearGroupHistoryMessage 清空群聊本地及云端的消息
InsertGroupMessageToLocalStorage 向群组消息列表中添加一条消息
InsertC2CMessageToLocalStorage 向单聊消息列表中添加一条消息
FindMessages 根据 msgID 查找本地消息
SearchLocalMessages 搜索本地消息

群组相关接口

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

  • 工作群(Work) :类似普通微信群,创建后不能自由加入,必须由已经在群的用户邀请入群。
  • 公开群(Public) :类似 QQ 群,用户申请加入,但需要群主或管理员审批。
  • 会议群(Meeting):适合跟 TRTC 结合实现视频会议和在线教育等场景,支持随意进出,支持查看进群前的历史消息。
  • 直播群(AVChatRoom):适合直播弹幕聊天室等场景,支持随意进出,人数无上限。
API 描述
SetGroupListener 设置群组相关的事件监听器
CreateGroup 创建群组(简单版本)
CreateGroup 创建群组(高级版本),可在建群同时设置群信息和初始的群成员
JoinGroup 加入群组
QuitGroup 退出群组
DismissGroup 解散群组(仅群主和管理员可以解散)
GetJoinedGroupList 获取已经加入的群列表(不包括已加入的直播群)
GetGroupsInfo 拉取群资料
SearchGroups 搜索群列表
SetGroupInfo 修改群资料
InitGroupAttributes 初始化群属性
SetGroupAttributes 设置群属性
DeleteGroupAttributes 删除群属性
GetGroupAttributes 获取群属性
GetGroupOnlineMemberCount 获取群在线人数
GetGroupMemberList 获取群成员列表
GetGroupMembersInfo 获取指定的群成员资料
SearchGroupMembers 搜索群成员
SetGroupMemberInfo 修改指定的群成员资料
MuteGroupMember 禁言
KickGroupMember 踢人
SetGroupMemberRole 切换群成员的角色
TransferGroupOwner 转让群主
InviteUserToGroup 邀请他人入群
GetGroupApplicationList 获取加群的申请列表
AcceptGroupApplication 同意某一条加群申请
RefuseGroupApplication 拒绝某一条加群申请
SetGroupApplicationRead 标记申请列表为已读

会话列表相关接口

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

API 描述
SetConversationListener 设置会话监听器
GetConversationList 获取会话列表
GetConversation 获取指定单个会话
GetConversationList 获取指定多个会话
DeleteConversation 删除会话
SetConversationDraft 设置会话草稿
PinConversation 置顶会话
GetTotalUnreadMessageCount 获取会话总未读数

用户资料相关接口

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

API 描述
GetUsersInfo 获取用户资料
SetSelfInfo 修改个人资料
AddToBlackList 屏蔽某人的消息(添加该用户到黑名单中)
DeleteFromBlackList 取消某人的消息屏蔽(把该用户从黑名单中移除)
GetBlackList 获取黑名单列表

离线推送相关接口

如果想要在 App 切后台时依然能够实时收到 IM 消息,可以使用离线推送服务。由于大陆境内尚没有统一的推送服务,Android 的离线推送需要针对不同厂商的手机进行 逐一适配

API 描述
SetOfflinePushConfig 设置离线推送配置信息

好友管理相关接口

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

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