更新记录

1.6.3(2024-04-19)

新增ios禁用成员的字段

1.6.2(2024-04-07)

im拉去历史消息优化

1.6.1(2023-07-17)

修复部分情况下消息丢失问题

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 适用版本区间:9 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


TX-TencentIM-Plus组件

TX-TencentIM-Plus致力于让用户轻松使用im的各种功能,插件永久维护,欢迎提需求👏👏👏

快速接入方法

加载模块

const txIm = uni.requireNativePlugin('TX-TencentIM-Plus');

初始化腾讯云SDK

 let isSuccess = txIm.initSDK({
     sdkAppID:1400267352,
     logLevel:0
   },result=>{
        console.log(result);
   })
字段 说明
sdkAppID 腾讯云IM后台应用的appid
logLevel 日志等级(V2TIM_LOG_NONE = 0, ///< 不输出任何 sdk log V2TIM_LOG_DEBUG = 3, ///< 输出 DEBUG,INFO,V2TIM_LOG_INFO = 4, ///< 输出 INFO,WARNING,ERROR 级别的 log,V2TIM_LOG_WARN = 5, ///< 输出 WARNING,ERROR 级别的 log,V2TIM_LOG_ERROR = 6, ///< 输出 ERROR 级别的 log) 可以不填写

登录腾讯云IM(一定要先初始化腾讯云SDK后登录)

txIm.login({
                                            sdkAppID: 1400267352,
                                            sdkAppKey: "5f787315061dcad732b8b41185c7b63b09d2a57d8efe1219d803920f84963a0b",
                                            userId: "userTest1",
                                            expireTime:604800,
                                            filePath: plus.io.convertLocalFileSystemURL('_doc')
                                        }, result => {
                                            console.log(result);
                        })
字段 说明
sdkAppID 腾讯云IM后台应用的appid
sdkAppKey 腾讯云IM后台应用的appKey
userId 用户id
expireTime 登录过期时间,可以不填写
logLevel 日志等级(V2TIM_LOG_NONE = 0, ///< 不输出任何 sdk log V2TIM_LOG_DEBUG = 3, ///< 输出 DEBUG,INFO,V2TIM_LOG_INFO = 4, ///< 输出 INFO,WARNING,ERROR 级别的 log,V2TIM_LOG_WARN = 5, ///< 输出 WARNING,ERROR 级别的 log,V2TIM_LOG_ERROR = 6, ///< 输出 ERROR 级别的 log) 可以不填写
filePath 资源存储地址,可以不填写,使用默认的资源路径
userSig 用户签名与sdkAppKey二选其一,一般上线后使用userSig

登出腾讯云im

txIm.logout(result=>{
                                            console.log(result);
                        }) 

获取当前登录用户

let user = txIm.getLoginUser();
                console.log(user);

获取用户状态(看自己购买的套餐是否支持)

    txIm.getUserStatus({userIdList:userIdArr},result=>{
                     console.log(result);
                });
参数 说明
userIdList 用户id列表

订阅用户状态(看自己购买的套餐是否支持)

txIm.subscribeUserStatus({userIdList:userIdArr},result=>{
                     console.log(result);
                });
参数 说明
userIdList 用户id列表

取消订阅用户状态(看自己购买的套餐是否支持)

    txIm.unsubscribeUserStatus({userIdList:userIdArr},result=>{
                     console.log(result);
                });
参数 说明
userIdList 用户id列表

销毁im

    txIm.unInitSDK(result=>{
                    console.log(result);
                })  

获取腾讯云im的登录状态

let status = txIm.getLoginStatus();
console.log(status);

设置基本消息(文本消息和自定义消息)的事件监听器

txIm.addSimpleMsgListener(result=>{
                    console.log(result);
                })

设置高级消息接口监听

    txIm.addAdvancedMsgListener(result=>{
                    console.log(result);
                })
返回字段 说明
userId 用户id
groupId 群id
friendRemark 消息发送者好友备注
nameCard 发送者的名片
cloudCustomData 消息自定义数据(云端保存,程序卸载重装后还能拉取到)
groupAtUserList 群消息中被 @ 的用户 userId 列表
sender 消息发送者
userName 消息发送者昵称
userAvatar 用户头像
msgId 消息id
elemType 消息类型见下
status 消息发送状态 1, ///< 消息发送中 2, ///< 消息发送成功 3, ///< 消息发送失败 4, ///< 消息被删除 6, ///< 被撤销的消息
isSelf 消息发送者是否是自己
isPeerRead 消息对方是否已读
isRead 消息自己是否已读
time 消息时间
textElem 文本消息
customElem 自定义消息
imageElem 图片消息
soundElem 声音消息
videoElem 视频消息
fileElem 文件消息
locationElem 位置消息
faceElem 表情消息
groupTipsElem 群tips消息(type:1主动入群 type:2 被邀请入群 type:3 退出群 type:4 踢出群 type:5 设置管理员 type:6 取消管理员 type:7 群资料变更 type:8 群成员资料变更)

设置群消息监听

    txIm.setGroupListener(result=>{
                    console.log(result);
    })

设置会话监听器

txIm.setConversationListener(result=>{
                    console.log(result);
                })

设置好友消息监听

    txIm.setFriendListener(result=>{
                    console.log(result);
    })

移除基本消息(文本消息和自定义消息)的事件监听器

txIm.removeSimpleMsgListener();

移除高级消息监听

txIm.removeAdvancedMsgListener()

移除群消息监听

txIm.removeGroupListener()

移除好友消息监听

txIm.removeFriendListener()

移除好友监听器

txIm.removeConversationListener()

移除不需要的消息,可以关闭会话的时候调用

txIm.removeMessages({"msgIdList":[this.currentMsgId]},result=>{
                    console.log(result);
                })
字段 说明
msgIdList 消息id的数组

针对某个用户的 C2C 消息接收选项

txIm.setC2CReceiveMessageOpt({userIdList:["userTest1"],opt:0},result=>{
    console.log(result);
})
字段 说明
userIdList 用户id列表
opt 0, ///< 在线正常接收消息,离线时会进行 APNs 推送 1, ///< 不会接收到消息,离线不会有推送通知 2, ///< 在线正常接收消息,离线不会有推送通知

设置群消息的接收选项

txIm.setGroupReceiveMessageOpt({groupId:"groupTest",opt:0},result=>{
    console.log(result);
})
字段 说明
groupId 群id
opt 0, ///< 在线正常接收消息,离线时会进行 APNs 推送 1, ///< 不会接收到消息,离线不会有推送通知 2, ///< 在线正常接收消息,离线不会有推送通知

添加朋友

txIm.addFriend({"userId":"user","addWording":"你好","addSource":"andriod",addType:1},result=>{
                    console.log(result)
 })
字段 说明
userId 用户id
addWording 添加说明
friendRemark 备注
addSource 添加来源
addType 添加类型 1 ///< 单向好友 2 ///< 双向好友

获取当前用户已经加入的群列表

    txIm.getJoinedGroupList(result=>{
                                                console.log(result);
    });

好友列表

    txIm.getFriendList(result=>{
                console.log(result);
    });

获取指定好友资料

txIm.getFriendsInfo({"userIdList":["userTest1","userTest2"]},result=>{
                    console.log(result);
})
字段 说明
userIdList 用户id列表

拉取群资料

txIm.getGroupsInfo({"groupIdList":["groupTest1","groupTest2"]},result=>{
                    console.log(result);
})
字段 说明
groupIdList 群组id列表

修改群资料

    txIm.setGroupInfo({"groupId":"","groupName":"测试设置       groupName","groupAvatar":"","introduction":"",notification:""},result=>{
                    console.log(result);
    })
字段 说明
groupId 群id
groupName 群名称
groupAvatar 群头像
introduction 群简介
notification 群公告
allMuted 是否全员禁言
groupAddOpt 加群是否需要管理员审批, 0禁止加群 1需要管理员审批 2任何人可以加入
customInfo {key:value} 自定义字段

修改群消息接收选项

    txIm.setReceiveMessageOpt({"groupId":"testGroup1","opt":0},result=>{
                    console.log(result);
    })
字段 说明
groupName 群名称
opt 0, ///< 在线正常接收消息 1, ///< 不会接收到群消息 2, ///< 在线正常接收消息,离线不会有推送通知

获取群成员列表

txIm.getGroupMemberList({"groupId":"testGroup1","filter":0,"nextSeq":0},result=>{
                    console.log(result);
    })
字段 说明
groupId 群id
filter 0, ///< 全部成员 1, ///< 群主 2, ///< 管理员 4, ///< 普通成员
nextSeq 分页拉取标志,第一次拉取填0

获取指定的群成员资料

    txIm.getGroupMembersInfo({"groupId":this.groupId,"memberList":userIdArr},result=>{
                    console.log(result);
                })

修改指定的群成员资料

txIm.setGroupMemberInfo({"groupId":"testGroup1","userId":"userTest1","nameCard":"nameCard"},result=>{
                    console.log(result);
})
字段 说明
groupId 群id
userId 用户id
nameCard 群成员名片

禁言群成员

txIm.muteGroupMember({"groupId":"testGroup1","userId":"userTest1","stime":1000},result=>{
                    console.log(result);
    })
字段 说明
groupId 群id
userId 用户id
stime 禁言时间

邀请他人入群

    txIm.inviteUserToGroup({"groupId":"testGroup1","userIdList":["userTest1"]},result=>{
                    console.log(result);
                })
字段 说明
groupId 群id
userIdList 用户id列表

踢人

    txIm.kickGroupMember({"groupId":"testGroup1","userIdList":["userTest1"],"reason":"reason"},result=>{
                    console.log(result);
                })
字段 说明
groupId 群id
userIdList 用户id列表
reason 原因

切换群成员的角色

txIm.setGroupMemberRole({"groupId":"testGroup1","userId":"userTest1","role":300},result=>{
                    console.log(result);
    })
字段 说明
groupId 群id
userId 用户id
role 用户角色 200, ///< 群成员 300, ///< 群管理员 400, ///< 群主

转让群

txIm.transferGroupOwner({"groupId":"testGroup1","userId":"userTest2"},result=>{
                    console.log(result);
                })
字段 说明
groupId (群id)
userId 用户id

获取加群的申请列表

txIm.getGroupApplicationList(result=>{
                    console.log(result);
                    if(result.groupApplicationList.length > 0) {
                        this.groupApplicationIndex = 0;
                    }
                })

获取加群的申请列表

txIm.getGroupApplicationList(result=>{
                    console.log(result);
                    if(result.groupApplicationList.length > 0) {
                        this.groupApplicationIndex = 0;
                    }
})

同意某一条加群申请

txIm.acceptGroupApplication({"index":0},result=>{
                    console.log(result);
    })
字段 说明
index 下标值,有getGroupApplicationList返回

拒绝某一条加群申请

    txIm.refuseGroupApplication({"index":0},result=>{
                    console.log(result);
                })
字段 说明
index 下标值,有getGroupApplicationList返回
reason 原因

标记申请列表为已读

txIm.setGroupApplicationRead(result=>{
                    console.log(result);
                })

获取所有会话的未读消息总数

txIm.getTotalUnreadMessageCount(result=>{})

获取会话列表

txIm.getConversationList({nextSeq:0,count:100},result=>{
                    console.log(result);
                    if(result.conversationList.length > 0) {
                        this.conversationId = result.conversationList[0].conversationId
                    }
    })
字段 说明
nextSeq 分页拉取游标,第一次默认取传 0
count 分页拉取的个数,一次分页拉取不宜太多,会影响拉取的速度,建议每次拉取 100 个会话

删除会话

    txIm.deleteConversation({conversationId:""},result=>{
                    console.log(result);
        })
字段 说明
conversationId 会话id,由getConversationList返回

设置会话草稿

txIm.setConversationDraft({conversationId:"",draftText:""},result=>{

})
字段 说明
conversationId 会话id,由getConversationList返回
draftText 草稿文本

获取用户资料

txIm.getUsersInfo({userIdList:["userTest1"]},result=>{
                    console.log(result);
        })
字段 说明
userIdList 用户id列表

修改个人资料

    txIm.setSelfProfile({"userName":"myUserName","userAvatar":"",gender:1},result=>{
                    console.log(result);
                })
字段 说明
userName 用户昵称
userAvatar 用户头像
gender 性别 0, ///< 未知性别 1, ///< 男性 2, ///< 女性
allowType 0, ///< 同意任何用户加好友 1, ///< 需要验证 2, ///< 拒绝任何人加好友
customInfo {key:value} 自定义字段
selfSignature 签名
role 用户角色
level 用户等级

设置会话草稿

    txIm.setConversationDraft({"conversationId":"test","draftText":"test"},result=>{
                    console.log(result);
                })

发送群文本消息

    txIm.sendGroupTextMessage({"textMsg":"hello my group message","groupId":"testGroup1","priority":0},result=>{
                    console.log(result);
                })
字段 说明
textMsg 消息
groupId 群id

发送群自定义消息

txIm.sendGroupCustomMessage({"customMsg":"hello my group custom message","groupId":"","priority":0},result=>{
                    console.log(result);
        })
字段 说明
customMsg 消息
priority 消息优先级

发送一对一消息

txIm.sendC2CTextMessage({"textMsg":"hello","userId":"userTest1"},result=>{
                    console.log(result);
    });
字段 说明
textMsg 消息
userId 用户id

发送一对一自定义消息

txIm.sendC2CCustomMessage({"customMsg":"hello","userId":"userTest1"},result=>{
                    console.log(result);
    });
字段 说明
customMsg 消息
userId 用户id

创建群

    txIm.createGroup({
                    groupType: "Work",
                    groupId: this.groupId,
                    groupName: "my_group"
                }, result => {
                    console.log(result);

                })
字段 说明
groupType 群类型 Work 工作群 Public 公开群 Meeting 会议群 AVChatRoom 直播群
groupName 群名称
groupId 群id

选择群成员创建群

txIm.createGroupWithMemberList({
                    groupType: "Public",
                    groupId: this.groupId,
                    groupName: "my_group",
                    groupAvatar:"",
                    introduction:"",
                    memberList:[
                        {
                            userId:"MyGroupUserId1",
                            role:400
                        },
                        {
                            "userId":"MyGroupUserId2",
                            "role":0
                        },
                        {
                            "userId":"MyGroupUserId3",
                            "role":400
                        }

                    ]
                }, result => {
                    console.log(result);

                })
字段 说明
groupId 群id
groupName 群名称
groupType 群类型
memberList 群成员列表 userId:用户id role:200, ///< 群成员 300, ///< 群管理员 400, ///< 群主

加入群

txIm.joinGroup({"groupId":"testGroup1","msg":""},result=>{
                    console.log(result);
})
字段 说明
groupId 群id
msg 加入信息

离开群

    txIm.quitGroup({"groupId":"testGroup1"},result=>{
                    console.log(result);
    })
字段 说明
groupId 群id

删除群

    txIm.deleteGroup({"groupId":"testGroup1"},result=>{
                    console.log(result);
    })
字段 说明
groupId 群id

获取指定群在线人数

    txIm.getGroupOnlineMemberCount({groupId:this.groupId},result=>{
                    console.log(result);
                })
字段 说明
groupId id

获取所有的未读消息数量

txIm.getTotalUnreadMessageCount(result=>{
     console.log(result);
})

初始化群属性

    txIm.initGroupAttributes({groupId:this.groupId,attributes:{key:"key1"}},result=>{
                    console.log(result);
                })
字段 说明
groupId id
attributes 群属性,key value的形式

获取群属性

    txIm.getGroupAttributes({groupId:this.groupId},result=>{
                    console.log(result);
                })
字段 说明
groupId id

设置群属性

txIm.setGroupAttributes({groupId:this.groupId,attributes:{
                        "key1":"value1",
                        "key2":"value2"
                    }},result=>{
                        console.log(result);
                    })
字段 说明
groupId id
attributes 群属性,key value的形式

删除群属性

    txIm.deleteGroupAttributes({groupId:this.groupId,keys:["key1","key2"]},result=>{
                    console.log(result);
                })
字段 说明
groupId id
keys 清空的属性,不传清空所有的属性

禁言

字段 说明
groupId 群id
userId 用户id
stime 时间

禁言

字段 说明
groupId 群id
userId 用户id
stime 时间

发送图片消息

txIm.sendImageMessage({"path":"","userId":"userTest1"},result=>{
                    console.log(result);
    });
字段 说明
path 路径
userId 用户id
groupId 群id
priority 优先级,整数
onlineUserOnly 是否为在线接收,true or false,默认false
title 推送title
desc 推送描述
ext 推送附加信息

发送声音消息

    txIm.sendSoundMessage({"path":"","userId":"userTest1","duration":1},result=>{
                console.log(result); 
    });
字段 说明
path 路径
userId 用户id
groupId 群id
priority 优先级,整数
onlineUserOnly 是否为在线接收,true or false,默认false
duration 时间长度
title 推送title
desc 推送描述
ext 推送附加信息

发送视频消息

    txIm.sendVideoMessage({"path":"","userId":"userTest1","duration":1},result=>{
                console.log(result); 
    });
字段 说明
path 路径
userId 用户id
groupId 群id
priority 优先级,整数
onlineUserOnly 是否为在线接收,true or false,默认false
duration 时间长度
snapshotPath 封面图
type 视频类型,如 mp4 mov 等
title 推送title
desc 推送描述
ext 推送附加信息

发送文件消息

txIm.sendFileMessage({"path":res.filePath,"userId":user,fileName:res.fileName},result=>{
                                        console.log(result);
    });
字段 说明
path 路径
userId 用户id
groupId 群id
priority 优先级,整数
onlineUserOnly 是否为在线接收,true or false,默认false
fileName 文件名称
title 推送title
desc 推送描述
ext 推送附加信息

发送位置消息

txIm.sendLocationMessage({"userId":user,"des":"","longitude":66,"latitude":66,"priority":0},result=>{
                            console.log(result);
    });
字段 说明
des 描述
longitude 经度
latitude 纬度
userId 用户id
groupId 群id
priority 优先级,整数
onlineUserOnly 是否为在线接收,true or false,默认false
title 推送title
desc 推送描述
ext 推送附加信息

发送表情包消息

    txIm.sendFaceMessage({
                    "userId":user,
                    faceIndex:19,
                    faceData:""
                },result=>{
                    console.log(result);
    })
字段 说明
userId 用户id
groupId 群id
priority 优先级整数
onlineUserOnly rue or false,默认false
faceIndex 整数
faceData 字符串
title 推送title
desc 推送描述
ext 推送附加信息

创建文本消息

    let message = txIm.createTextMessage({textMsg:"test"});
字段 说明
textMsg 文本消息

创建图片消息

    let message = txIm.createImageMessage({path:this.imagePath});
字段 说明
path 图片路径

创建语音消息

    let message = txIm.createSoundMessage({path:"",duration:0}) 
字段 说明
path 语音文件路径
duration 时长

创建视频消息

    let message = txIm.createVideoMessage({path:"",type:0,duration:0,snapshotPath:""}); 
字段 说明
path 视频文件路径
duration 时长
snapshotPath 封面图

创建文件消息

    let message = txIm.createFileMessage({path:"",fileName:""});    
字段 说明
path 文件路径
fileName 文件名称

创建位置消息

    let message = txIm.createLocationMessage({des:"",longitude:0,latitude:0});  
字段 说明
des 描述
longitude 经度
latitude 纬度

创建表情消息

    let message = txIm.createFaceMessage({faceIndex:0,faceData:""});    
字段 说明
faceIndex 表情下标
faceData 表情data

创建@消息

    let message = txIm.createTextAtMessage({textMsg:"",userIdList:[]}); 
字段 说明
textMsg 文本消息
userIdList 用户id的列表

发送消息

    txIm.sendMessage({"userId":user,"createMessageId":this.createMessageId},result=>{
                    console.log(result);
                })      
字段 说明
userId 用户id
groupId 群id
priority 消息优先级
onlineUserOnly 是否在线用户
cloudCustomData 云端自定义数据
title 推送的title
desc 推送的描述
ext 推送的附加字段

修改消息

    txIm.modifyMessage({"msgId":"cloudCustomData":"",},result=>{
                    console.log(result);
                })
字段 说明
msgId 消息id
localCustomData 消息自定义数据
localCustomInt 消息自定义数据
cloudCustomData 消息自定义数据
text 文本消息内容
data 自定义消息内容 或者表情消息的数据
desc 自定义消息描述 或者本地位置消息内容
extension 自定义消息扩展内容
longitude 位置信息经度
latitude 位置信息纬度
index 表情索引

发送消息已读回执

    txIm.sendMessageReadReceipts({"msgIdList":[""]},result=>{
                    console.log(result);
                })
字段 说明
msgIdList 消息id列表

获取消息已读回执

    txIm.getMessageReadReceipts({"msgIdList":[""]},result=>{
                    console.log(result);
                })
字段 说明
msgIdList 消息id列表

删除好友

txIm.deleteFromFriendList({
                    "userIdList":["userTest2"],
                    "deleteType":1
                },result=>{
                    console.log(result);
    })
字段 说明
userIdList 用户id的列表
deleteType 1, ///< 单向好友 2, ///< 双向好友

删除云端消息

  txIm.deleteMessages({"msgIdList":[this.currentMsgId]},result=>{
                    console.log(result);
                })  
字段 说明
msgIdList 消息列表

检查指定用户的好友关系

txIm.checkFriend({
                    "userId":"userTest2",
                },result=>{
                    console.log(result);
    })

获取好友申请列表

txIm.getFriendApplicationList(result=>{
                    console.log(result);
    })

接受好友申请

txIm.acceptFriendApplication({
                    "userId":"userTest2",
                    "type":0
                },result=>{
                    console.log(result);
    })
字段 说明
userId 用户id
type 好友申请接受类型 0, ///< 接受加好友(建立单向好友)1, ///< 接受加好友并加对方为好友(建立双向好友)

拒绝好友申请

txIm.refuseFriendApplication({
                    "userId":"userTest2"
                },result=>{
                    console.log(result);
    })
字段 说明
userId 用户id

删除好友申请

txIm.deleteFriendApplication({
                    "userId":"userTest2"
                },result=>{
                    console.log(result);
    })
字段 说明
userId 用户id

置好友申请已读

txIm.setFriendApplicationRead(
        result=>{
                    console.log(result);
    })

添加用户到黑名单

txIm.addToBlackList({
                    "userIdList":["userTest2"]
                },result=>{
                    console.log(result);
    })
字段 说明
userIdList 用户id列表

获取黑名单列表

txIm.getBlackList(
                    result=>{
                        console.log(result);
                    }
    )

把用户从黑名单中删除

txIm.deleteFromBlackList({"userIdList":["userTest1"]},
                    result=>{
                        console.log(result);
                    }
                )
字段 说明
userIdList 用户id列表

新建好友分组

txIm.createFriendGroup({"groupName":this.friendGroupName,"userIdList":["userTest2"]},
                    result=>{
                        console.log(result);
                    }
                )
字段 说明
groupName 分组名称
userIdList 用户id列表

获取分组信息

txIm.getFriendGroupList({"groupNameList":["friendGroupName"]},result=>{
                    console.log(result);
    })
字段 说明
groupNameList 要获取信息的好友分组名称列表

删除好友分组

txIm.deleteFriendGroup({"groupNameList":["friendGroupName"]},result=>{
                    console.log(result);
})
字段 说明
groupNameList 好友分组名称列表

修改好友分组的名称

txIm.renameFriendGroup({"oldName":"oldName","newName":"newName"},result=>{
                    console.log(result);
    })
字段 说明
oldName 旧的名称
newName 新的名称

添加好友到一个好友分组

txIm.addFriendsToFriendGroup({"groupName":"friendGroupName","userIdList":["userTest1"]},
                    result=>{
                        console.log(result);
                    }
    )
字段 说明
groupName 组名
userIdList 用户id的列表

从好友分组中删除好友

txIm.deleteFriendsFromFriendGroup({"groupName":"friendGroupName","userIdList":["userTest1"]},
                    result=>{
                        console.log(result);
                    }
)
字段 说明
groupName 组名
userIdList 用户id的列表

获取单聊历史消息

txIm.getC2CHistoryMessageList({"userId":"userTest1","count":10,"msgId":""},result=>{
                    console.log(result);
    })
字段 说明
userId 用户id
count 拉取消息的个数
msgId 分页的msgId,第一次可以传""

获取群组历史消息

txIm.getGroupHistoryMessageList({"groupId":"groupTest1","count":10,"msgId":""},result=>{
                    console.log(result);
    })
字段 说明
groupId 群组id
count 拉取消息的个数
msgId 分页的msgId,第一次可以传""

撤回消息

    txIm.revokeMessage({"msgId":this.currentMsgId},result=>{
                    console.log(result);
    });
字段 说明
msgId 消息id

设置单聊消息已读

    txIm.markC2CMessageAsRead({"userId":"userTest2"},result=>{
                    console.log(result);
    })
字段 说明
userId 用户id

设置群组消息已读

txIm.markGroupMessageAsRead({"groupId":this.groupId},result=>{
                    console.log(result);
    })
字段 说明
groupId 群组id

删除本地消息

    txIm.deleteMessageFromLocalStorage({"msgId":this.currentMsgId},result=>{
                    console.log(result);
    });
字段 说明
msgId 消息id

向群组消息列表中添加一条消息

txIm.insertGroupMessageToLocalStorage({"createMessageId":this.createMessageId,"groupId":this.groupId,"userId":this.currentUser},result=>{
                    console.log(result);
    });
字段 说明
createMessageId 创建的消息id
sender 群id
userId 发送者id

清空群聊本地及云端的消息

txIm.clearGroupHistoryMessage({groupId:""},result=>{
    console.log(result);
});
字段 说明
groupId 群id

插入一对一单聊消息

txIm.insertC2CMessageToLocalStorage({"createMessageId":this.createMessageId,"sender":this.currentUser,"to":user},result=>{
                    console.log(result);
    });
字段 说明
createMessageId 创建的消息id
sender 发送者id
to 发送给其他人的id

清空单聊本地及云端的消息

txIm.clearC2CHistoryMessage({userId:""},result=>{
    console.log(result);
});
字段 说明
userId 用户id

发送群@消息

txIm.sendTextAtMessage({"textMsg":"@消息","groupId":this.groupId,"userIdList":["userTest1","all"]},result=>{
                    console.log(result);
    });
字段 说明
textMsg 文本消息
groupId 群id
userIdList 用户id列表,需要@所有人,在id列表中加all
priority 消息优先级
onlineUserOnly 是否在线用户
title 推送title
desc 推送描述
ext 推送附加信息

设置指定好友资料

txIm.setFriendInfo({"userId":"userTest2","friendRemark":"friendRemarkValue"},result=>{
                    console.log(result);
    });
字段 说明
userId 用户id
friendRemark 好友备注
friendCustomInfo {key:value} 自定义字段

添加信令监听

  txIm.addSignalingListener(result=>{
                                                    console.log(result);
                                                });

邀请某个人

txIm.invite({"invitee":user,"data":JSON.stringify(data),"onlineUserOnly":false},result=>{
                    console.log(result);
                });
字段 说明
invitee 被邀请人用户 ID
data 自定义数据
onlineUserOnly 是否只有在线用户才能收到邀请
timeout 超时时间,单位 s,如果设置为 0,SDK 不会做超时检测
title 推送title
desc 推送描述
ext 推送附加信息

移除信令监听

txIm.removeSignalingListener();

邀请群内的某些人

txIm.inviteInGroup({"groupId":this.group,"inviteeList":[user],"data":JSON.stringify(data),"onlineUserOnly":false},result=>{
                    console.log(result);
                });
字段 说明
groupId 发起邀请所在群组
inviteeList 被邀请人列表
data 自定义数据
onlineUserOnly 是否只有在线用户才能收到邀请
timeout 超时时间,单位 s,如果设置为 0,SDK 不会做超时检测
title 推送title
desc 推送描述
ext 推送附加信息

接收方接受邀请

txIm.accept({"inviteId":this.inviteData.inviteId,data:JSON.stringify(data)},result=>{
                        console.log(result);
                    });
字段 说明
inviteId 邀请id
data 自定义数据

接收方拒绝邀请

txIm.reject({"inviteId":this.inviteData.inviteId,data:JSON.stringify(data)},result=>{
                        console.log(result);
                    });
字段 说明
inviteId 邀请id
data 自定义数据

邀请方取消邀请

txIm.cancel({"inviteId":this.inviteData.inviteId,data:JSON.stringify(data)},result=>{
                        console.log(result);
                    });
字段 说明
inviteId 邀请id
data 自定义数据

下载图片

txIm.downloadImage({"msgId":msg.msgId},progressResult=>{
                                console.log(progressResult);
                            },succResult=>{
                                console.log(succResult);
                            },failResult=>{
                                console.log(failResult);
                            })
字段 说明
msgId 消息id
progressResult 下载进度
succResult 成功回调
failResult 失败回调

下载语音

txIm.downloadSound({"msgId":msg.msgId},progressResult=>{
                                console.log(progressResult);
                            },succResult=>{
                                console.log(succResult);
                            },failResult=>{
                                console.log(failResult);
                            })
字段 说明
msgId 消息id
progressResult 下载进度
succResult 成功回调
failResult 失败回调

下载视频

txIm.downloadVideo({"msgId":msg.msgId},progressResult=>{
                                console.log(progressResult);
                            },succResult=>{
                                console.log(succResult);
                            },failResult=>{
                                console.log(failResult);
                            })
字段 说明
msgId 消息id
progressResult 下载进度
succResult 成功回调
failResult 失败回调

下载文件

txIm.downloadFile({"msgId":msg.msgId},progressResult=>{
                                console.log(progressResult);
                            },succResult=>{
                                console.log(succResult);
                            },failResult=>{
                                console.log(failResult);
                            })
字段 说明
msgId 消息id
progressResult 下载进度
succResult 成功回调
failResult 失败回调

获取image的url

txIm.getImageUrl({"msgId":msg.msgId},result=>{
                                console.log(result);
                            })

获取sound资源url

txIm.getSoundUrl({"msgId":msg.msgId},result=>{
                                console.log(result);
                            })
字段 说明
msgId 消息id
result 资源回调

获取视频资源url

txIm.getVideoUrl({"msgId":msg.msgId},result=>{
                                console.log(result);
                            })
字段 说明
msgId 消息id
result 资源回调

获取文件url

txIm.getFileUrl({"msgId":msg.msgId},result=>{
                                console.log(result);
                            })
字段 说明
msgId 消息id
result 资源回调

上传apple推送证书

txIm.setAPNS({businessId:23834},result=>{

                                                });
字段 说明
businessId 腾讯后台填写平台推送信息后获取的id
result 回调数据

上传安卓平台证书

txIm.setOfflinePushConfig({"businessId":11632,"token":""},result=>{
                                                    console.log(result);
                                                })
字段 说明
businessId 腾讯后台填写平台推送信息后获取的id
result 回调数据
token 使用tpns获取的token值

加强版函数新增

搜索本地消息

txIm.searchLocalMessages({"keywordList":["test"],"pageIndex":0,"pageSize":10},result=>{
                                                    console.log(result);
                                                })
字段 说明
keywordList 搜索关键字列表,最多支持5个,数组类型
messageTypeList 指定搜索的消息类型集合,不传表示搜索支持的全部类型消息,数组类型
conversationId 搜索“全部会话”还是搜索“指定的会话,不传“全部会话”
searchTimePosition 搜索的起始时间点。默认为0即代表从现在开始搜索
searchTimePeriod 从起始时间点开始的过去时间范围,单位秒。默认为0即代表不限制时间范围
pageIndex 用于分页展示查找结果,从零开始起步
pageSize 每页结果数量:用于分页展示查找结果,如不希望分页可将其设置成 0

置顶会话

txIm.pinConversation({"conversationId":"","isPinned":true},result=>{
                                                    console.log(result);
                                                })
字段 说明
conversationId 会话id
isPinned 是否置顶

创建转发消息

let messageOne = txIm.createTextMessage({textMsg:"test1"});
                let user = this.currentUser === this.user1 ? this.user2 : this.user1;
                txIm.sendMessage({"userId":user,"createMessageId":messageOne.createMessageId},result=>{
                    console.log(result);
                    let messageTwo = txIm.createForwardMessage({msgId:result.msgId});
                        txIm.sendMessage({"userId":user,"createMessageId":messageTwo.createMessageId},result=>{
                        console.log(result);
                    });

                });
字段 说明
msgId 消息id

创建合并消息

                var that = this;
                var messageIdList = [];
                let messageOne = txIm.createTextMessage({textMsg:"test1"});
                let user = this.currentUser === this.user1 ? this.user2 : this.user1;
                txIm.sendMessage({"userId":user,"createMessageId":messageOne.createMessageId},result=>{
                    console.log(result);
                    messageIdList.push(result.msgId);
                    let messageTwo = txIm.createTextMessage({textMsg:"test2"});
                    txIm.sendMessage({"userId":user,"createMessageId":messageTwo.createMessageId},result=>{
                        console.log(result);
                        messageIdList.push(result.msgId);
                        let messageMerger = txIm.createMergerMessage({"msgIdList":messageIdList,"abstractList":["testone","testtwo"],"title":"title","compatibleText":"compatibleText"});
                        txIm.sendMessage({"userId":user,"createMessageId":messageMerger.createMessageId},result=>{
                            console.log(result);
                            txIm.downloadMergerMessage({msgId:result.msgId},result=>{
                                console.log(result);
                            });
                        })
                    });

                })  
字段 说明
msgIdList 消息id列表
title 合并消息的来源
abstractList 合并消息的摘要列表(最大支持 5 条摘要,每条摘要的最大长度不超过 100 个字符)
compatibleText 合并消息兼容文本,低版本 SDK 如果不支持合并消息,默认会收到一条文本消息,文本消息的内容为 compatibleText

下载合并消息

txIm.downloadMergerMessage({msgId:result.msgId},result=>{
                                console.log(result);
                            });
字段 说明
msgId 消息id

搜索朋友

txIm.searchFriends({
                    "keywordList":["userId"],
                },result=>{
                    console.log(result);
                })
字段 说明
keywordList 搜索关键字列表,最多支持5个,数组类型
isSearchUserId 设置是否搜索 userID bool类型
isSearchNickName 是否设置搜索昵称 bool类型
isSearchRemark 是否设置搜索备注 bool类型

搜索群成员

txIm.searchGroupMembers({"keywordList":["groupMember"]},result=>{
                })
字段 说明
keywordList 搜索关键字列表,最多支持5个,数组类型
groupIdList 指定群 ID 列表,若不指定则搜索全部群中的群成员
isSearchMemberUserId 设置是否搜索群成员 userID bool类型
isSearchMemberNickName 设置是否搜索群成员昵称
isSearchMemberRemark 设置是否搜索群成员备注
isSearchMemberNameCard 设置是否搜索群成员名片

查找消息

txIm.findMessages({"msgIdList":[""]},result=>{})
字段 说明
msgIdList 消息id的字符串列表

获取ios的token

let token = txIm.getPushToken();

设置自己的状态

txIm.setSelfStatus({"customStatus":""},result=>{})
字段 说明
customStatus 用户自定义状态

标记会话

txIm.markConversation({"conversationIdList":[""],"markType":0,"enableMark":true},result=>{})
字段 说明
conversationIdList 会话的id字符串列表
markType 1 ///< 会话标星 2 ///< 会话标记未读(重要会话)4 ///< 会话折叠 8 ///< 会话隐藏
enableMark 是否标记

根据条件获取会话列表

txIm.getConversationListByFilter({"conversationType":0,"markType":0,"conversationGroup":"",nextSeq:0,count:10},result=>{})
字段 说明
nextSeq 分页拉取游标,第一次默认取传 0
count 分页拉取的个数,一次分页拉取不宜太多,会影响拉取的速度,建议每次拉取 100 个会话
conversationType 0 ///< 未知 1 ///< 单聊 2 ///< 群聊
markType 1 ///< 会话标星 2 ///< 会话标记未读(重要会话)4 ///< 会话折叠 8 ///< 会话隐藏
conversationGroup 会话分组名称

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

发送至腾讯云IM sdk ,详情见文档:https://cloud.tencent.com/document/product/269

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问