TencentImPlugin class

Constructors

TencentImPlugin()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

listener TencentImPluginListener
监听器对象
getter/setter pair

Static Methods

accept({required String inviteID, required String data}) Future<String?>
接收方接收邀请 inviteID 邀请ID data 自定义数据
acceptFriendApplication({required FindFriendApplicationEntity application, required FriendApplicationAgreeTypeEnum responseType}) Future<FriendOperationResultEntity>
同意好友申请 application 查找好友申请对象实体 responseType 建立关系类型
acceptGroupApplication({required FindGroupApplicationEntity application, String reason = ""}) → dynamic
同意某一条加群申请 application 申请对象 reason 理由
addFriend({required FriendAddApplicationEntity info}) Future<FriendOperationResultEntity>
添加好友 info 申请对象
addFriendsToFriendGroup({required String groupName, required List<String> userIDList}) Future<List<FriendOperationResultEntity>>
添加好友到分组 groupName 组名 userIDList 好友ID
addInvitedSignaling({required SignalingInfoEntity info}) → dynamic
添加邀请信令(可以用于群离线推送消息触发的邀请信令) info 信令信息对象
addListener(TencentImListenerValue func) → dynamic
添加消息监听
addToBlackList({required List<String> userIDList}) Future<List<FriendOperationResultEntity>>
添加用户到黑名单 userIDList 用户ID列表
cancel({required String inviteID, required String data}) Future<String?>
邀请方取消邀请 inviteID 邀请ID data 自定义数据
checkFriend({required String userID, required FriendTypeEnum checkType}) Future<FriendCheckResultEntity>
检查好友关系 userID 用户ID checkType 检测类型类型
createFriendGroup({required String groupName, required List<String> userIDList}) Future<List<FriendOperationResultEntity>>
新建好友分组 groupName 组名 userIDList 用户列表
createGroup({required GroupInfoEntity info, List<GroupCreateMemberEntity>? memberList}) Future<String?>
创建群,info对象建议使用GroupInfoEntity.create,进行创建 info 群信息对象 memberList 指定初始的群成员(直播群 AVChatRoom 不支持指定初始群成员,memberList 请传 null) Return 群ID
deleteConversation({String? conversationID, String? userID, String? groupID}) → dynamic
删除会话(conversationID | userID | groupID 参数三选一) conversationID 会话ID userID 用户ID groupID 群ID
deleteFriendApplication({required FindFriendApplicationEntity application}) → dynamic
删除好友申请 application 查找好友申请对象实体
deleteFriendGroup({required List<String> groupNameList}) → dynamic
删除好友分组 groupNameList 分组名称
deleteFriendsFromFriendGroup({required String groupName, required List<String> userIDList}) Future<List<FriendOperationResultEntity>>
从分组中删除好友 groupName 组名 userIDList 好友ID
deleteFromBlackList({required List<String> userIDList}) Future<List<FriendOperationResultEntity>>
从黑名单中删除 userIDList 用户ID列表
deleteFromFriendList({required List<String> userIDList, required FriendTypeEnum deleteType}) Future<List<FriendOperationResultEntity>>
删除好友 userIDList 好友ID列表,ID 建议一次最大 100 个,因为数量过多可能会导致数据包太大被后台拒绝,后台限制数据包最大为 1M deleteType 删除类型
deleteGroupAttributes({required String groupID, List<String>? keys}) → dynamic
删除指定群属性,keys 传 null 则清空所有群属性。 groupID 群ID keys 群属性Key,keys 传 null 则清空所有群属性。
deleteMessageFromLocalStorage({required FindMessageEntity message}) → dynamic
删除本地消息 message 消息对象
deleteMessages({required List<FindMessageEntity> message}) → dynamic
删除本地及漫游消息 该接口会删除本地历史的同时也会把漫游消息即保存在服务器上的消息也删除,卸载重装后无法再拉取到。需要注意的是:
dismissGroup({required String groupID}) → dynamic
解散群 groupID 群ID
downloadFile({required FindMessageEntity message, required String path}) → dynamic
下载视频 message 消息对象 path 下载路径
downloadSound({required FindMessageEntity message, required String path}) → dynamic
下载语音 message 消息对象 path 下载路径
downloadVideo({required FindMessageEntity message, required String path}) → dynamic
下载视频 message 消息对象 path 下载路径
downloadVideoThumbnail({required FindMessageEntity message, required String path}) → dynamic
下载视频缩略图 message 消息对象 path 下载路径
findMessages({required List<FindMessageEntity> messages}) Future<List<MessageEntity>>
查找消息列表 messages 需要获得的消息查找对象
getBlackList() Future<List<FriendInfoEntity>>
获得黑名单列表
getC2CHistoryMessageList({required String userID, required int count, FindMessageEntity? lastMsg}) Future<List<MessageEntity>>
获得单聊历史记录 userId 用户ID count 拉取消息的个数,不宜太多,会影响消息拉取的速度,这里建议一次拉取 20 个 lastMsg 获取消息的起始消息,如果传 null,起始消息为会话的最新消息
getConversation({String? conversationID, String? userID, String? groupID}) Future<ConversationEntity>
获得指定会话(conversationID | userID | groupID 参数三选一) conversationID 会话ID userID 用户ID groupID 群ID
getConversationList({int nextSeq = 0, int count = 100}) Future<ConversationResultEntity>
获取会话列表 nextSeq 分页拉取的游标,第一次默认取传 0,后续分页拉传上一次分页拉取成功回调里的 nextSeq count 分页拉取的个数,一次分页拉取不宜太多,会影响拉取的速度,建议每次拉取 100 个会话
getFriendApplicationList() Future<FriendApplicationResultEntity>
获取好友申请列表
getFriendGroups({List<String>? groupNameList}) Future<List<FriendGroupEntity>>
获取分组信息 groupNameList 分组名称
getFriendList() Future<List<FriendInfoEntity>>
获得好友列表
getFriendsInfo({required List<String> userIDList}) Future<List<FriendInfoResultEntity>>
获得指定好友信息 userIDList 好友ID列表
getGroupApplicationList() Future<GroupApplicationResultEntity>
获取加群的申请列表
getGroupAttributes({required String groupID, List<String>? keys}) Future<Map<String, String>>
获取指定群属性,keys 传 null 则获取所有群属性。 groupID 群ID keys 群属性Key,keys 传 null 则清空所有群属性。
getGroupHistoryMessageList({required String groupID, required int count, FindMessageEntity? lastMsg}) Future<List<MessageEntity>>
获得群聊历史记录 groupID 群ID count 拉取消息的个数,不宜太多,会影响消息拉取的速度,这里建议一次拉取 20 个 lastMsg 获取消息的起始消息,如果传 null,起始消息为会话的最新消息
getGroupMemberList({required String groupID, GroupMemberFilterEnum filter = GroupMemberFilterEnum.All, int nextSeq = 0}) Future<GroupMemberInfoResultEntity>
获取群成员列表。 groupID 群ID filter 指定群成员类型 nextSeq 分页拉取标志,第一次拉取填0,回调成功如果 nextSeq 不为零,需要分页,传入再次拉取,直至为0。
getGroupMembersInfo({required String groupID, required List<String> memberList}) Future<List<GroupMemberEntity>>
获取指定的群成员资料。 groupID 群ID memberList 群成员列表
getGroupOnlineMemberCount({required String groupID}) Future<int>
获取指定群在线人数 groupID 群ID
getGroupsInfo({required List<String> groupIDList}) Future<List<GroupInfoResultEntity>>
拉取群资料 groupIDList 群ID列表
getHistoryMessageList({String? userID, String? groupID, required int count, GetMessageTypeEnum type = GetMessageTypeEnum.GetCloudOlderMsg, FindMessageEntity? lastMsg}) Future<List<MessageEntity>>
获取历史消息高级接口 userID 用户ID groupID 群聊ID count 拉取消息的个数,不宜太多,会影响消息拉取的速度,这里建议一次拉取 20 个 lastMsg 获取消息的起始消息,如果传 null,起始消息为会话的最新消息 type 拉取消息类型,可以设置拉取本地、云端更老或则更新的消息。
getJoinedGroupList() Future<List<GroupInfoEntity>>
获取已经加入的群列表(不包括已加入的直播群)
getLoginStatus() Future<LoginStatusEnum>
获得用户登录状态 Return 用户当前登录状态
getLoginUser() Future<String?>
获得当前登录用户 Return 当前用户ID
getServerTime() Future<int>
获取服务器当前时间 Return 服务器时间,单位 s
getSignalingInfo({required FindMessageEntity message}) Future<SignalingInfoEntity>
获取信令信息 message 消息对象 Return V2TIMSignalingInfo 信令信息,如果为 null,则 msg 不是一条信令消息。
getUsersInfo({required List<String> userIDList}) Future<List<UserEntity>>
获取用户资料 userList 用户ID列表
getVersion() Future<String>
获取SDK版本 Return SDK版本
initGroupAttributes({required String groupID, required Map<String, String> attributes}) → dynamic
初始化群属性,会清空原有的群属性列表 groupID 群ID attributes 群属性
initSDK({required String appid, LogPrintLevel logPrintLevel = LogPrintLevel.error}) → dynamic
初始化SDK appid 应用ID logPrintLevel 日志打印级别
insertGroupMessageToLocalStorage({required String groupID, required String sender, required MessageNode node}) → dynamic
向群组消息列表中添加一条消息 groupID 群ID sender 发送人 message 消息对象
invite({required String invitee, required String data, OfflinePushInfoEntity? offlinePushInfo, bool onlineUserOnly = false, int timeout = 0}) Future<String?>
邀请某个人 invitee 被邀请人用户 ID data 自定义数据 onlineUserOnly 是否只有在线用户才能收到邀请,如果设置为 true,只有在线用户才能收到, 并且 invite 操作也不会产生历史消息(针对该次 invite 的后续 cancel、accept、reject、timeout 操作也同样不会产生历史消息)。 offlinePushInfo 离线推送信息,其中 desc 为必填字段,推送的时候会默认展示 desc 信息。 timeout 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发 onInvitationTimeout 回调 Return 邀请 ID,如果邀请失败,返回 null
inviteInGroup({required String groupID, required List<String> inviteeList, required String data, bool onlineUserOnly = false, int timeout = 0}) Future<String?>
邀请群内的某些人 groupID 发起邀请所在群组 inviteeList 被邀请人列表,inviteeList 必须已经在 groupID 群里,否则邀请无效 data 自定义数据 onlineUserOnly 是否只有在线用户才能收到邀请,如果设置为 true,只有在线用户才能收到, 并且 invite 操作也不会产生历史消息(针对该次 invite 的后续 cancel、accept、reject、timeout 操作也同样不会产生历史消息)。 timeout 超时时间,单位秒,如果设置为 0,SDK 不会做超时检测,也不会触发 onInvitationTimeout 回调 Return 邀请 ID,如果邀请失败,返回 null
inviteUserToGroup({required String groupID, required List<String> userList}) Future<List<GroupMemberOperationResultEntity>>
邀请他人入群 groupID 群ID userList 用户ID列表
joinGroup({required String groupID, required String message}) → dynamic
加入群 groupID 群ID message 描述
kickGroupMember({required String groupID, required List<String> memberList, String reason = ""}) Future<List<GroupMemberOperationResultEntity>>
踢人 groupID 群ID memberList 群成员ID列表 reason 理由
login({required String userID, required String userSig}) → dynamic
登录腾讯云IM userID 用户ID userSig 用户签名
logout() → dynamic
退出登录腾讯云IM
markC2CMessageAsRead({required String userID}) → dynamic
设置单聊已读 groupID 群ID
markGroupMessageAsRead({required String groupID}) → dynamic
设置群聊已读 groupID 群ID
markMessageAsRead({String? userID, String? groupID}) → dynamic
设置聊天记录为已读,此为 markC2CMessageAsRead 和 markGroupMessageAsRead 的封装 userID 用户ID groupID 群ID
muteGroupMember({required String groupID, required String userID, required int seconds}) → dynamic
禁言(只有管理员或群主能够调用)。 groupID 群ID userID 用户ID seconds 禁言时长
quitGroup({required String groupID}) → dynamic
退出群 groupID 群ID
refuseFriendApplication({required FindFriendApplicationEntity application}) Future<FriendOperationResultEntity>
拒绝好友申请 application 查找好友申请对象实体
refuseGroupApplication({required FindGroupApplicationEntity application, String reason = ""}) → dynamic
拒绝某一条加群申请 application 申请对象 reason 理由
reject({required String inviteID, required String data}) Future<String?>
接收方拒绝邀请 inviteID 邀请ID data 自定义数据
removeListener(TencentImListenerValue func) → dynamic
移除消息监听
renameFriendGroup({required String oldName, required String newName}) → dynamic
修改分组名称 oldName 旧名称 newName 新名称
resendMessage({required FindMessageEntity message, String? receiver, String? groupID, bool ol = false, int? localCustomInt, String? localCustomStr, MessagePriorityEnum priority = MessagePriorityEnum.Default, OfflinePushInfoEntity? offlinePushInfo}) Future<String?>
重发消息 message 消息查找对象 receiver 消息接收者的 userID, 如果是发送 C2C 单聊消息,只需要指定 receiver 即可。 groupID 目标群组 ID,如果是发送群聊消息,只需要指定 groupID 即可。 ol 是否为在线消息(无痕),如果为true,将使用 sendOnlineMessage 通道进行消息发送 localCustomInt 自定义Int localCustomStr 自定义Str priority 消息优先级,仅针对群聊消息有效。请把重要消息设置为高优先级(比如红包、礼物消息),高频且不重要的消息设置为低优先级(比如点赞消息)。 offlinePushInfo 离线推送时携带的标题和内容。 Return 消息ID
revokeMessage({required FindMessageEntity message}) → dynamic
撤回消息 message 消息查找对象
sendMessage({String? receiver, String? groupID, required MessageNode node, bool ol = false, int? localCustomInt, String? localCustomStr, MessagePriorityEnum priority = MessagePriorityEnum.Default, OfflinePushInfoEntity? offlinePushInfo}) Future<String?>
发送消息 receiver 消息接收者的 userID, 如果是发送 C2C 单聊消息,只需要指定 receiver 即可。 groupID 目标群组 ID,如果是发送群聊消息,只需要指定 groupID 即可。 ol 是否为在线消息(无痕),如果为true,将使用 sendOnlineMessage 通道进行消息发送 localCustomInt 自定义Int localCustomStr 自定义Str node 消息节点 priority 消息优先级,仅针对群聊消息有效。请把重要消息设置为高优先级(比如红包、礼物消息),高频且不重要的消息设置为低优先级(比如点赞消息)。 offlinePushInfo 离线推送时携带的标题和内容。 Return 消息ID
setConversationDraft({String? conversationID, String? userID, String? groupID, String? draftText}) → dynamic
设置会话草稿(conversationID | userID | groupID 参数三选一) conversationID 会话ID userID 用户ID groupID 群ID draftText 草稿内容,null代表取消设置
setFriendApplicationRead() → dynamic
设置好友申请为已读
setFriendInfo({required FriendInfoEntity info}) → dynamic
设置好友资料 info 好友资料
setGroupApplicationRead() → dynamic
标记申请列表为已读
setGroupAttributes({required String groupID, required Map<String, String> attributes}) → dynamic
设置群属性。已有该群属性则更新其 value 值,没有该群属性则添加该属性。 groupID 群ID attributes 群属性
setGroupInfo({required GroupInfoEntity info}) → dynamic
修改群资料 info 群信息
setGroupMemberInfo({required String groupID, required GroupMemberEntity info}) → dynamic
修改指定的群成员资料。 groupID 群ID info 群成员对象
setGroupMemberRole({required String groupID, required String userID, required GroupMemberRoleEnum role}) → dynamic
切换群成员的角色。 groupID 群ID userID 用户ID role 角色
setMessageLocalCustomInt({required FindMessageEntity message, required int data}) → dynamic
设置消息本地Int message 消息对象 data 数据对象
setMessageLocalCustomStr({required FindMessageEntity message, required String data}) → dynamic
设置消息本地Str message 消息对象 data 数据对象
setOfflinePushConfig({required String token, required int bussid}) → dynamic
设置离线推送Token,Android使用setOfflinePushConfig,IOS使用setAPNS token Token bussid 推送证书 ID,是在 IM 控制台上生成的
setReceiveMessageOpt({required String groupID, required GroupReceiveMessageOptEnum opt}) → dynamic
修改群消息接收选项 groupID 群ID opt 消息接收选项
setSelfInfo({required UserEntity info}) → dynamic
修改个人资料,注意:此接口调用后马上调用 getUsersInfo 可能会刷新不及时,可以使用Future. info 资料对象
setUnreadBadge({required int number}) → dynamic
设置未读桌标,Android使用doBackground,IOS更改setAPNSListener值 number 桌标数量
transferGroupOwner({required String groupID, required String userID}) → dynamic
转让群主 groupID 群ID userID 用户ID
unInitSDK() → dynamic
反初始化SDK

Constants

conversationC2CPrefix → const String
C2C会话前缀
conversationGroupPrefix → const String
群聊会话前缀