更新记录
1.8.2(2023-07-17)
适配ios16
1.8.1(2021-12-14)
修复ios发送自定义消息失败的问题
1.8.0(2021-11-11)
新增设置用户信息部分字段
查看更多
平台兼容性
Android |
Android CPU类型 |
iOS |
适用版本区间:4.4 - 11.0 |
armeabi-v7a:支持,arm64-v8a:支持,x86:支持 |
适用版本区间:9 - 16 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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组件
TX-TencentIM致力于让用户轻松使用im的各种功能,插件永久维护,欢迎提需求👏👏👏
快速接入方法
加载模块
const txIm = uni.requireNativePlugin('TX-TencentIM');
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) 可以不填写 |
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 |
txIm.logout(result=>{
console.log(result);
})
获取当前登录用户
let user = txIm.getLoginUser();
console.log(user);
销毁im
txIm.unInitSDK(result=>{
console.log(result);
})
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消息 |
消息字段elemType支持的消息如下
消息值 |
含义 |
1 |
文本消息 |
2 |
自定义消息 |
3 |
图片消息 |
4 |
语音消息 |
5 |
视频消息 |
6 |
文件消息 |
7 |
地址位置消息 |
8 |
表情消息 |
9 |
群 Tips 消息 |
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);
})
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);
})
txIm.getGroupsInfo({"groupIdList":["groupTest1","groupTest2"]},result=>{
console.log(result);
})
txIm.setGroupInfo({"groupId":"","groupName":"测试设置 groupName","groupAvatar":"","introduction":"",notification:"","allMuted":false},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.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);
})
txIm.setSelfProfile({"userName":"myUserName","userAvatar":"",gender:1},result=>{
console.log(result);
})
字段 |
说明 |
userName |
用户昵称 |
userAvatar |
用户头像 |
gender |
性别 0, ///< 未知性别 1, ///< 男性 2, ///< 女性 |
allowType |
0, ///< 同意任何用户加好友 1, ///< 需要验证 2, ///< 拒绝任何人加好友 |
customInfo |
{key:value} 自定义字段 |
设置会话草稿
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.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 |
推送附加信息 |
也可以直接创建消息后使用sendMessage发送,如果你需要一些特殊的操作,比如创建后拼接一些附加消息,建议使用这种方式
创建文本消息
let message = txIm.createTextMessage({textMsg:"test"});
创建自定义消息
let message = txIm.createCustomMessage({customMsg:"test",desc:"",extension:""});
创建图片消息
let message = txIm.createImageMessage({path:this.imagePath});
创建语音消息
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 |
推送的附加字段 |
createMessageId |
消息创建的id |
消息操作函数(用在特定消息后再拼接自定义消息)
txIm.appendElem({"text":"hello ext text","createMessageId":this.createMessageId},result=>{
console.log(result);
})
字段 |
说明 |
createMessageId |
消息创建的id |
text |
附加文本消息 使用text字段就不用data extension desc字段, |
data |
自定义消息数据 |
extension |
自定义消息扩展字段 |
desc |
自定义消息描述信息 |
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);
})
txIm.deleteGroup({"groupId":"testGroup1"},result=>{
console.log(result);
})
获取指定群在线人数
txIm.getGroupOnlineMemberCount({groupId:this.groupId},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);
})
设置群属性
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 |
时间 |
txIm.deleteFromFriendList({
"userIdList":["userTest2"],
"deleteType":1
},result=>{
console.log(result);
})
字段 |
说明 |
userIdList |
用户id的列表 |
deleteType |
1, ///< 单向好友 2, ///< 双向好友 |
删除消息
txIm.deleteMessages({"msgIdList":[this.currentMsgId]},result=>{
console.log(result);
})
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);
})
txIm.deleteFriendApplication({
"userId":"userTest2"
},result=>{
console.log(result);
})
txIm.setFriendApplicationRead(
result=>{
console.log(result);
})
txIm.addToBlackList({
"userIdList":["userTest2"]
},result=>{
console.log(result);
})
txIm.getBlackList(
result=>{
console.log(result);
}
)
txIm.deleteFromBlackList({"userIdList":["userTest1"]},
result=>{
console.log(result);
}
)
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);
});
txIm.markC2CMessageAsRead({"userId":"userTest2"},result=>{
console.log(result);
})
txIm.markGroupMessageAsRead({"groupId":this.groupId},result=>{
console.log(result);
})
txIm.deleteMessageFromLocalStorage({"msgId":this.currentMsgId},result=>{
console.log(result);
});
txIm.insertGroupMessageToLocalStorage({"createMessageId":this.createMessageId,"groupId":this.groupId,"userId":this.currentUser},result=>{
console.log(result);
});
字段 |
说明 |
createMessageId |
创建的消息id |
sender |
群id |
userId |
发送者id |
插入一对一单聊消息
txIm.insertC2CMessageToLocalStorage({"createMessageId":this.createMessageId,"sender":this.currentUser,"to":user},result=>{
console.log(result);
});
字段 |
说明 |
createMessageId |
创建的消息id |
sender |
发送者id |
to |
发送给其他人的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 |
资源回调 |
txIm.setAPNS({businessId:23834},result=>{
});
字段 |
说明 |
businessId |
腾讯后台填写平台推送信息后获取的id |
result |
回调数据 |
txIm.setOfflinePushConfig({"businessId":11632,"token":""},result=>{
console.log(result);
})
字段 |
说明 |
businessId |
腾讯后台填写平台推送信息后获取的id |
result |
回调数据 |
token |
使用tpns获取的token值 |
获取ios的token
let token = txIm.getPushToken();