TencentImPlugin class
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
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