login autoLogin logout isLogined currentAccount addAccountListen removeAccountListen kickOtherClient
sendText sendImage sendVoice sendVideo sendFile sendLocation sendTip cancelSendingMessage resendMessage forwardMessage revokeMessage sendMessageReceipt sendTeamMessageReceipts sendTeamMessageReceipts addMessageListen
allRecentSessions creatRecentSession deleteRecentSession updateRecentLocalExt allUnreadCount markAllMessagesReadInSession deleteRemoteSessions messagesInSession pullMessageHistory messagesInSessionWithMessageIds deleteMessage deleteAllmessagesInSession deleteAllMessages addSessionListen removeSessionListen
myFriends requestFriend deleteFriend isMyFriend myBlackList addToBlackList removeFromBlackList isUserInBlackList myMuteUserList setMute isMute searchUser addFriendListen removeFriendListen getUserInfoList
fetchSystemNotifications allNotificationsUnreadCount markAllNotificationsAsRead deleteAllNotifications addNotificationListen removeNotificationListen
createTeam allMyTeams dismissTeam applyToTeam passApplyToTeam rejectApplyToTeam invitationToTeam acceptInviteWithTeam rejectInviteWithTeam kickUsersFromTeam quitTeam fetchTeamMembers teamMember updateUserNick isMyTeam transferManagerWithTeam addManagersToTeam removeManagersFromTeam muteUserFromTeam muteAllFromTeam fetchTeamMutedMembers updateTeamName updateTeamAvatar updateTeamIntro updateTeamAnnouncement updateTeamJoinMode updateTeamBeInviteMode updateTeamInviteMode updateTeamUpdateInfoMode updateTeamUpdateClientCustomMode updateTeamCustomInfo updateTeamNotifyState fetchTeamNotifyState addTeamListen removeTeamListen
本插件封装了网易云信 IM SDK,网易云信 IM 即时通讯服务基于网易18年的 IM 技术积累,致力于打造最稳定的即时通讯云平台。 IM即时通讯服务提供了一整套即时通讯基础能力,通过该平台服务就可以将即时通讯、实时网络能力快速集成至企业自身应用中。
使用此插件之前需先配置 config.xml 文件,方法如下
<feature name="yunxinIM">
<param name="appKey" value=""/>
<param name="apnsCername" value="true"/>
<param name="pkCername" value=""/>
<param name="enabledHttpsForInfo" value=""/>
<param name="shouldSyncUnreadCount" value="11"/>
<param name="shouldCountTeam" value=""/>
<param name="enabledHttpsForMessage" value=""/>
<param name="maxAutoLoginRetryTimes" value="1"/>
<param name="teamReceiptEnabled" value=""/>
<param name="asyncLoadRecentSessionEnabled" value="fasle"/>
<param name="animatedImageThumbnailEnabled" value="fasle"/>
</feature>
<meta-data
name="com.netease.nim.appKey"
value="******" />
字段描述:
appKey:云信 AppKey。 在网易云控制台获取。 com.netease.nim.appKey:android端云信AppKey配置,value为 云信AppKey
apnsCername:云信 Apns 推送证书名。(仅iOS支持)
pkCername:云信 PushKit 推送证书名。(仅iOS支持)
enabledHttpsForInfo:(可选项)(仅iOS支持)针对用户信息开启 https 支持,设置成 true 的情况下,我们认为用户头像,群头像,聊天室类用户头像等信息都是默认托管在云信上,所以 SDK 会针对他们自动开启 https 支持。 但如果你需要将这些信息都托管在自己的服务器上,需要设置这个参数为 false,避免 SDK 自动将你的 http url 自动转换为 https url;默认:”true“
shouldSyncUnreadCount:(可选项)是否需要多端同步未读数,设置成 true 的情况下,同个账号多端(PC 和 移动端等)将同步未读计数;默认:”false“
shouldCountTeam:(可选项)是否将群通知计入未读,设置成 true 的情况下,收到的群通知也会计入未读数;默认:”false“
enabledHttpsForMessage:(可选项)(仅iOS支持)针对消息内容开启 https 支持,设置成 true 的情况下,我们认为消息,包括图片,视频,音频信息都是默认托管在云信上,所以 SDK 会针对他们自动开启 https 支持。但如果你需要将这些信息都托管在自己的服务器上,需要设置这个参数为 false,避免 SDK 自动将你的 http url 自动转换为 https url。 (强烈不建议),需要注意的是即时设置了这个属性,通过 iOS SDK 发出去的消息 URL 仍是 https 的,设置这个值只影响接收到的消息 URL 格式转换;默认:”true“
maxAutoLoginRetryTimes:(可选项)自动登录重试次数,默认为 0。即默认情况下,自动登录将无限重试。设置成大于 0 的值后,在没有登录成功前,自动登录将重试最多 maxAutoLoginRetryTimes 次,如果失败,则抛出错误;默认:”0“
teamReceiptEnabled:(可选项)是否开启群回执功能;默认:"false"
asyncLoadRecentSessionEnabled:(可选项)(仅iOS支持)是否开启异步读取最近会话,对于最近会话比较多的用户,初始读取数据库时,可能影响到启动速度,用户可以选择开启该选项,开启异步读取最近会话,allRecentSessions会优先返回一部分最近会话,等到全部读取完成时,通过回调通知用户刷新UI;默认:false
animatedImageThumbnailEnabled:(可选项)(仅android支持)开启对动图缩略图的支持,默认为 "false",截取第一帧
登陆
login({params},callback(ret))
account
token
ret:
{
status:true //布尔类型;true/false 是否成功
}
err:
{
code:0, //数字类型;错误码
msg:'' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.login({
account:'',
token:''
}, function(ret,err) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
自动登陆,启动APP如果已经保存了用户帐号和令牌,建议使用这个登录方式
autoLogin({params})
account
token
var yunxinIM = api.require('yunxinIM');
yunxinIM.autoLogin({
account:'',
token:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
退出登陆
logout({params}, callback(ret))
ret:
{
status:true //布尔类型;true/false 是否成功
}
err:
{
code:0, //数字类型;错误码
msg:'' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.logout(function(ret,err) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
当前登录状态
isLogined({params}, callback(ret))
ret:
{
status:true //布尔类型;true/false 是否登陆
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.isLogined(function(ret,err) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取当前登录帐号,当前登录帐号,如果没有登录成功,这个地方会返回空字符串''(仅iOS支持)
currentAccount(callback(ret))
ret:
{
userID:'' //字符串类型;当前登录帐号userID
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.currentAccount(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统
可提供的1.0.0及更高版本
账号相关监听
addAccountListen({params}, callback(ret))
ret:
{
eventType: //字符串类型;账号事件类型
//kickout(被踢(服务器/其他端))
//login(登录)
//autoLoginFailed(自动登录失败)(仅iOS支持)
//multiLoginClientsChanged(多端登录发生变化)
//teamUsersSyncFinished(群用户同步完成通知)
//superTeamUsersSyncFinished(超大群用户同步完成通知)(仅iOS支持)
reasonCode:0, //数字类型;被踢原因(仅iOS支持)
//1:被另外一个客户端踢下线 (互斥客户端一端登录挤掉上一个登录中的客户端)
//2:被服务器踢下线
//3:被另外一个客户端手动选择踢下线
clientType:0, //数字类型;客户端类型(仅iOS支持)
//0:未知类型
//1:Android
//2:iOS
//4:PC
//8:WP
//16:WEB
//32:REST API
//64:macOS
reasonDesc:'', //字符串类型;原因描述 (仅iOS支持)
step:0, //数字类型;登录步骤
//1:连接服务器
//2:连接服务器成功
//3:连接服务器失败
//4:登录
//5:登录成功
//6:登录失败
//7:开始同步
//8:同步完成
//9:连接断开
//10:网络切换,这个并不是登录步骤的一种,但是UI有可能需要通过这个状态进行UI展现 (仅iOS支持)
//11:被服务器禁止登陆(仅android支持)
//12:客户端版本错误(仅android支持)
//13:用户名或密码错误(仅android支持)
code:0, //数字类型;自动登录失败错误码(仅iOS支持)
msg:'', //字符串类型;自动登录失败错误原因(仅iOS支持)
type:0, //数字类型;多端登陆的状态(仅iOS支持)
//1:目前已经有其他端登陆
//2:其他端上线
//3:其他端下线
success:true, //布尔类型;群用户同步、超大群用户同步是否成功 (仅iOS支持)
clients:[ //JSON数组类型,在线客户端,当eventType 为multiLoginClientsChanged时返回(仅android支持)
{
os:'', //字符串类型;客户端操作系统信息
clientType:, //数字类型;客户端类型
1:android
2:iOS
4:Windows
8:WP
16:Web
32:REST
64:MAC
loginTime:, //数组类型;登陆时间
clientIP:'', //字符串类型;客户端IP
}
]
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.addAccountListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
移除账号相关监听(仅android支持)
removeAccountListen({params}, callback(ret))
var yunxinIM = api.require('yunxinIM');
yunxinIM.removeAccountListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
踢其他客户端下线(仅 android支持)
kickOtherClient({params}, callback(ret))
client:
ret:
{
status: //布尔类型;是否成功
}
err:
{
code:, //数字类型,错误码
msg:'', //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.kickOtherClient({
client:2,
},function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
从本地获取用户资料
需要将用户信息交给云信托管,且数据已经正常缓存到本地,此接口才有效。
用户资料除自己之外,不保证其他用户资料实时更新
其他用户资料更新的时机为:
1.调用 fetchUserInfos 方法刷新用户
2.收到此用户发来消息
3.程序再次启动,此时会同步部分好友信息
localUserInfo({params}, callback(ret))
userId
ret:
{
user:{} //json对象;用户信息;详情参考附录:用户信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.localUserInfo({
userId:''
},function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,android系统
可提供的1.0.0及更高版本
是否打开本地数据(仅android支持)
openLocalCache({params}, callback(ret))
account
ret:
{
status:, //布尔类型;是否成功
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.openLocalCache({
account:''
},function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
android系统
可提供的1.0.0及更高版本
从云信服务器批量获取用户资料,需要将用户信息交给云信托管,此接口才有效。调用此接口,不会触发 onUserInfoChanged 回调,该接口会将获取到的用户信息缓存在本地,所以需要避免此接口的滥调,导致存储过多无用数据到本地而撑爆缓存:如在聊天室请求请求每个聊天室用户数据将造成缓存过大而影响程序性能,本接口一次最多支持 150 个用户信息获取
fetchUserInfos({params}, callback(ret,err))
users
ret:
{
status: true, //布尔类型;是否成功,true|false
users:[] //json数组;用户信息列表;详情参考附录:用户信息
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.fetchUserInfos({
users:[]
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
修改自己的用户资料
updateMyUserInfo({params}, callback(ret,err))
userInfo
{
nickName: '', //字符串类型;用户昵称
avatar: '', //字符串类型;用户头像
sign: '', //字符串类型;用户签名
gender: 0, //数字类型;用户性别,0:未知性别,1:性别男,2:性别女
email: '', //字符串类型;用户邮箱。请使用合法邮箱
birth: '', //字符串类型;用户生日。具体格式为yyyy-MM-dd
mobile: '', //字符串类型;用户手机号。请使用合法手机号
ext: '' //字符串类型;扩展字段
}
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateMyUserInfo({
userInfo:{}
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
上传头像
upload({params}, callback(ret,err))
filepath
ret:
{
status: true, //布尔类型;是否成功,true|false
urlString:'', //字符串类型;上传后得到的URL,失败时为空
progress:0 //数字类型;上传进度,上传过程中返回 (仅iOS支持)
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.upload({
filepath:'',
scene:''
},function(ret,err) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
文件资源下载
download({params}, callback(ret,err))
urlString
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.download({
urlString:''
},function(ret,err) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
取消上传/下载任务
cancelTask({params})
filepath
var yunxinIM = api.require('yunxinIM');
yunxinIM.cancelTask({
filepath:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
发送文本消息
sendText({params},callback(ret,err))
sessionId:
chatType:
text:
from:
ext:
reSend
ret:
{
status: true, //布尔类型;是否发送成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.sendText({
sessionId:'',
chatType:0,
text:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
发送图片消息
sendImage({params},callback(ret,err))
sessionId:
chatType:
path:
displayName:
compressQuality:
from:
ext:
reSend
ret:
{
status: true, //布尔类型;是否发送成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.sendImage({
sessionId:'',
chatType:0,
path:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
发送语音消息
sendVoice({params},callback(ret,err))
sessionId:
chatType:
path:
duration:
from:
ext:
reSend
ret:
{
status: true, //布尔类型;是否发送成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.sendVoice({
sessionId:'',
chatType:0,
path:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
发送视频消息
sendVideo({params},callback(ret,err))
sessionId:
chatType:
path:
displayName:
duration:
width:
height:
from:
ext:
reSend
ret:
{
status: true, //布尔类型;是否发送成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.sendVideo({
sessionId:'',
chatType:0,
path:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
发送文件消息
sendFile({params},callback(ret,err))
sessionId:
chatType:
path:
displayName:
extension:
from:
ext:
reSend
ret:
{
status: true, //布尔类型;是否发送成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.sendFile({
sessionId:'',
chatType:0,
path:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
发送位置消息
sendLocation({params},callback(ret,err))
sessionId:
chatType:
address:
latitude:
longitude:
from:
ext:
reSend
ret:
{
status: true, //布尔类型;是否发送成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.sendLocation({
sessionId:'',
chatType:0,
path:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
发送提示消息
sendTip({params},callback(ret,err))
sessionId:
chatType:
text:
from:
ext:
reSend
ret:
{
status: true, //布尔类型;是否发送成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.sendTip({
sessionId:'',
chatType:0,
text:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
消息取消发送,只能取消正在发送中的消息(如大文件发送),通常配合异步发送消息接口,接口返回值成功时消息的状态为发送失败状态(仅iOS支持)
cancelSendingMessage({params},callback(ret))
sessionId:
chatType:
messageId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.cancelSendingMessage({
sessionId:'',
chatType:0,
messageId:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统
可提供的 1.0.0 及更高版本
消息重发(仅iOS支持)
resendMessage({params},callback(ret,err))
sessionId:
chatType:
messageId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.resendMessage({
sessionId:'',
chatType:0,
messageId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统
可提供的 1.0.0 及更高版本
消息转发,除了通知消息之外,其他类型消息均支持转发给其他会话,
forwardMessage({params},callback(ret,err))
sessionId:
toSessionId:
chatType:
toChatType:
messageId:
reSend
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.forwardMessage({
sessionId:'',
chatType:0,
messageId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
消息撤回,允许用户撤回一定时间内发送过的消息,允许撤回时长默认2分钟,可在网易云信控制台配置
revokeMessage({params},callback(ret,err))
sessionId:
chatType:
messageId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.revokeMessage({
sessionId:'',
chatType:0,
messageId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
单聊消息已读回执,在会话界面中调用发送已读回执的接口并传入当前会话的最后一条消息,即表示这之前的消息本方都已读
sendMessageReceipt({params},callback(ret,err))
sessionId:
chatType:
messageId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.sendMessageReceipt({
sessionId:'',
chatType:0,
messageId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
群聊消息已读回执,群消息已读回执功能,需要联系商务顾问申请开通后才能使用。同时,使用该功能时需要将群成员控制在100人以内。需要config配置teamReceiptEnabled为true(仅iOS支持)
sendTeamMessageReceipts({params},callback(ret,err))
sessionId:
chatType:
messageIds:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.sendTeamMessageReceipts({
sessionId:'',
chatType:0,
messageIds:['']
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统
可提供的 1.0.0 及更高版本
消息相关监听
addAccountListen({params}, callback(ret))
ret:
{
eventType: //字符串类型;账号事件类型
//willSendMessage(即将发送消息回调)
//sendingMessage (消息发送中)(仅android支持)
//uploadAttachmentSuccess(上传资源文件成功的回调)(仅iOS支持)
//sendMessageProgress(发送消息进度回调)(仅iOS支持)
//sendMessageFinish(发送消息完成回调)
//sendMessageFail (发送消息失败)(仅android支持)
//onRecvMessages(收到消息回调)
//onRecvMessageReceipts(收到消息回执)
//onRecvRevokeMessageNotification(收到消息被撤回的通知)
//fetchMessageAttachmentProgress(收取消息附件回调)(仅iOS支持)
//fetchMessageAttachmentFinish(收取消息附件完成回调)(仅IOS支持)
//pushMessage(推送消息)(仅iOS支持)
message:{}, //json对象,消息;详情参考附录:消息内容
messages:[{}], //json数组对象,消息;详情参考附录:消息内容
urlString:'', //字符串类型;当前消息资源获得的 url 地址
progress:0, //数字类型;发送消息进度、收取消息附件进度
success:true, //布尔类型;收取消息附件、发送消息是否成功
code:0, //数字类型;错误码;收取消息附件完成、发送消息完成并出现错误success为false时返回
msg:'', //字符串类型;错误原因;收取消息附件完成、发送消息完成并出现错误success为false时返回
receipts:[{ //json数组对象;收到的消息回执回执
session:{}, /json对象;会话;详情参考附录:会话信息(仅iOS支持)
sessionId:'', //字符串 类型;会话id(仅android支持)
timestamp:0, //数字类型;时间戳
messageId:'' //字符串类型;消息 Id (仅iOS支持)
}],
notification:{ //json对象;被撤回的消息信息
notificationType:0, //数字类型;撤回消息类型
//取值范围:
//7:点对点消息撤回通知
//8:群消息撤回通知
//12:超大群撤回通知
//13:点对点消息单向撤回
//14:群消息单向撤回类型
fromUserId:'' //字符串类型;撤回消息发起者
messageFromUserId:'',//字符串类型;消息的发送者,表示撤回的这条消息是谁发的
session:{}, // 撤回消息所属会话;详情参考附录:会话信息
timestamp:0, //数字类型;撤回消息时间点,这里的时间点指的是被撤回的那条消息到底服务器的时间,而不是撤回指令到达服务器的时间点
message:{}, //撤回消息内容;详情参考附录:消息内容
isRoaming:true, //布尔类型;撤回操作是否属于漫游消息
postscript:'' //字符串类型;撤回的附言
},
pushMessage:{} //json对象,推送消息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.addMessageListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
获取所有最近会话
allRecentSessions(callback(ret))
ret:
{
recentSessions:[{}] //json数组类型;最近会话列表;详情参考附录:最近会话信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.allRecentSessions(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
创建最近会话
creatRecentSession({params})
sessionId:
messageId:
chatType:
var yunxinIM = api.require('yunxinIM');
yunxinIM.creatRecentSession({
sessionId:'',
chatType:0
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
删除最近会话
deleteRecentSession({params},callback(ret,err))
sessionId:
sessionType:
notifyOb:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.deleteRecentSession({
sessionId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新最近会话的本地扩展(仅iOS支持)
updateRecentLocalExt({params},callback(ret,err))
sessionId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateRecentLocalExt({
sessionId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统
可提供的 1.0.0 及更高版本
获取会话未读消息数
allUnreadCount(callback(ret))
ret:
{
unreadCount:0 //数字类型;未读系统消息数
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.allUnreadCount(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
设置一个会话里所有消息置为已读(仅iOS支持)
markAllMessagesReadInSession({params},callback(ret,err))
sessionId:
chatType:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.markAllMessagesReadInSession({
sessionId:'',
chatType:0
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统
可提供的 1.0.0 及更高版本
删除服务器端最近会话
deleteRemoteSessions({params},callback(ret,err))
sessions:
[{
sessionId: '', //字符串类型;会话ID
chatType:0 //数字类型;会话类型
//取值范围:
//0:单聊
//1:群组
//2:聊天室
//3:云商服
//5:超大群
}]
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.deleteRemoteSessions({
sessions:[{}]
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
从本地db读取一个会话里某条消息之前的若干条的消息
messagesInSession({params},callback(ret))
sessionId:
chatType:
messageId:
direction:
limit:
asc:
ret:
{
messages:[{}], //json数组对象,消息;详情参考附录:消息内容
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.messagesInSession({
sessionId:'',
chatType:0,
messageId:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,android系统
可提供的 1.0.0 及更高版本
从服务器拉取消息历史记录。该接口查询方向为从后往前。(仅android支持)
pullMessageHistory({params},callback(ret))
messageId:
sessionId:
chatType:
limit:
persist:
persistClear:
ret:
{
status:, //布尔类型;是否获取成功
messages:[{}], //json数组对象,消息;详情参考附录:消息内容
}
err:
{
code:, //数字类型;错误码
msg:'', //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.pullMessageHistory({
sessionId:'',
chatType:,
limit:,
},function(ret,er) {
api.alert({ msg:JSON.stringify(ret)});
});
Android系统
可提供的 1.0.0 及更高版本
根据消息Id获取消息
messagesInSessionWithMessageIds({params},callback(ret))
sessionId:
chatType:
messageIds:
ret:
{
messages:[{}], //json数组对象,消息;详情参考附录:消息内容
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.messagesInSessionWithMessageIds({
sessionId:'',
chatType:0,
messageIds:[]
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
删除某条消息
deleteMessage({params})
sessionId:
chatType:
messageId:
var yunxinIM = api.require('yunxinIM');
yunxinIM.deleteMessage({
sessionId:'',
chatType:0,
messageId:''
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
删除某个会话的所有消息
deleteAllmessagesInSession({params})
sessionId:
chatType:
removeSession:
removeTable:
var yunxinIM = api.require('yunxinIM');
yunxinIM.deleteAllmessagesInSession({
sessionId:'',
chatType:0
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
删除所有会话消息(仅iOS支持)
deleteAllMessages({params})
removeSession:
removeTable:
var yunxinIM = api.require('yunxinIM');
yunxinIM.deleteAllMessages({
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
会话相关监听
addSessionListen({params}, callback(ret))
ret:
{
eventType: //字符串类型;账号事件类型
//didLoadAllRecentSession(所有最近会话读取完成。设置config中的asyncLoadRecentSessionEnabled属性为true时,且本地数目大于1000条时,此回调会执行。该回调执行表示最近会话全部加载完毕可以通过allRecentSessions来取全部对话)(仅iOS支持)
//didAddRecentSession(增加最近会话的回调,当新增一条消息,并且本地不存在该消息所属的会话时,会触发此回调)
//didUpdateRecentSession(最近会话修改的回调,触发条件包括: 1.当新增一条消息,并且本地存在该消息所属的会话。2.所属会话的未读清零。3.所属会话的最后一条消息的内容发送变化。(例如成功发送后,修正发送时间为服务器时间)。4.删除消息,并且删除的消息为当前会话的最后一条消息)(仅iOS支持)
//didRemoveRecentSession(删除最近会话的回调调)(仅iOS支持)
//messagesDeletedInSession(单个会话里所有消息被删除的回调)(仅iOS支持)
//allMessagesDeleted(所有消息被删除的回调)(仅iOS支持)
//allMessagesClearedInSession(单个会话所有消息在本地和服务端都被清空)(仅iOS支持)
//allMessagesRead(所有消息已读的回调)(仅iOS支持)
//didServerSessionUpdated(会话服务,会话更新)(仅iOS支持)
//onRecvMessageDeleted(消息单向删除通知)(仅iOS支持)
//onRecvIncompleteSessionInfos(未漫游完整会话列表回调)(仅iOS支持)
recentSession:{}, //最近会话;详情参考附录:最近会话信息
session:{}, //会话;详情参考附录:会话信息 (仅iOS支持)
message:{}, //json对象,消息;详情参考附录:消息内容(仅iOS支持)
totalUnreadCount:0 //数字类型;目前总未读数(仅iOS支持)
step:0, //数字类型;清空会话消息完成时状态;0:本地,1:服务器,3:服务器错误(仅iOS支持)
sessions:[{ //json数组;未漫游完整的会话信息列表(仅iOS支持)
session:{}, //会话;详情参考附录:会话信息 (仅iOS支持)
from:'', //字符串类型;发送方(仅iOS支持)
timestamp:0, //数字类型;消息时间戳(单位:s) (仅iOS支持)
serverId:'', //字符串类型;消息服务端ID (仅iOS支持)
}]
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.addSessionListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
移除会话相关监听(仅android支持)
removeSessionListen({params}, callback(ret))
var yunxinIM = api.require('yunxinIM');
yunxinIM.removeSessionListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
获取好友列表
myFriends(callback(ret))
ret:
{
users:[{}], //json数组类型;用户信息列表;详情参考附录:用户信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.myFriends(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
处理好友关系
requestFriend({params},callback(ret,err))
userId:
operation:
message:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.requestFriend({
userId:'',
message:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
删除好友
deleteFriend({params},callback(ret,err))
userId:
removeAlias:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.deleteFriend({
userId:'',
removeAlias:true
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
判断是否是我的好友
isMyFriend({params},callback(ret))
userId:
ret:
{
isFriend: true, //布尔类型;是否是我的好友,true|false
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.isMyFriend({
userId:''
},function(ret,err) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
获取黑名单中的用户列表
myBlackList(callback(ret))
ret:
{
blackUsers:[{}] //json数组类型;黑名单中的用户信息列表;详情参考附录:用户信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.myBlackList(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
添加用户到黑名单
addToBlackList({params},callback(ret,err))
userId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.addToBlackList({
userId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
将用户从黑名单移除
removeFromBlackList({params},callback(ret,err))
userId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.removeFromBlackList({
userId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
判断用户是否已被拉黑
isUserInBlackList({params},callback(ret))
userId:
ret:
{
isBlack: true, //布尔类型;是否已被拉黑,true|false
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.isUserInBlackList({
userId:''
},function(ret,err) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
获取免打扰列表
myMuteUserList(callback(ret))
ret:
{
muteUsers:[{}] //json数组类型;免打扰的用户信息列表;详情参考附录:用户信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.myMuteUserList(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
设置免打扰
setMute({params},callback(ret,err))
userId:
isNotify:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.setMute({
userId:'',
isNotify:true
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
判断是否免打扰
isMute({params},callback(ret))
userId:
ret:
{
isMute: true, //布尔类型;是否免打扰,true|false
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.isMute({
userId:''
},function(ret,err) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
用户检索(仅iOS支持)
searchUser({params},callback(ret,err))
searchContent:
ignoreingCase:
searchRange:
searchContentOption:
ret:
{
status: true, //布尔类型;是否成功,true|false
users:[{}] //json数组类型;用户信息列表;详情参考附录:用户信息
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.searchUser({
searchContent:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统
可提供的 1.0.0 及更高版本
好友相关监听
addFriendListen({params}, callback(ret))
ret:
{
eventType: //字符串类型;账号事件类型
//onFriendChanged(好友状态发生变化 (在线)
//onBlackListChanged(黑名单列表发生变化 (在线))
//onMuteListChanged(静音列表发生变化 (在线))
//onUserInfoChanged(用户个人信息发生变化 (在线),出于性能和上层 APP 处理难易度的考虑,本地调用批量接口获取用户信息时不触发当前回调)
user:{}, //用户;详情参考附录:用户信息;好友状态发生变化、用户个人信息发生变化时返回 (仅iOS支持)
changeUser:[{}], //Json数组类型;个人信息发生变化返回(仅android支持)
addUser:['',''], // 数组类型;添加的账号(仅android支持)
removeUser:['','',], //数组类型;移除的账号(仅android支持)
muteUser:'', //字符串 类型;静音变化账号(仅 android支持)
mute:, //布尔类型;静音状态(仅android支持)
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.addFriendListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
移除好友相关监听(仅iOS支持)
removeFriendListen({params}, callback(ret))
var yunxinIM = api.require('yunxinIM');
yunxinIM.removeFriendListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
通过用户id获取用户信息(仅android支持)
getUserInfoList({params}, callback(ret))
userIds:
['','','']
ret:
{
users:[{},{}], //Json数组类型用户;详情参考附录:用户信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.getUserInfoList({
userIds:['','']
},function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
获取本地存储的系统通知(本接口配合limit参数采取分页获取)
fetchSystemNotifications({params},callback(ret))
limit:
offset:
ret:
{
notifications:[{ //josn数组类型;系统通知信息
notificationId:, //数字类型;通知 ID
type:, //数字类型;通知类型
//取值范围:
//0:申请入群
//1:拒绝入群
//2:邀请入群
//3:拒绝入群邀请
//5:添加好友
//15:申请入超大群
//16:拒绝入超大群
//17:邀请入超大群
//18:拒绝入超大群邀请
timestamp:, //数字类型;时间戳
sourceID:'', //字符串类型;操作者
targetID:'', //字符串类型;目标ID,群ID或者是用户ID
postscript:'', //字符串类型;附言ID (仅iOS支持)
read:true, //布尔类型;是否已读
handleStatus:, //数字类型;消息处理状态
notifyExt: //字符串类型;系统通知下发的自定义扩展信息
}]
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.fetchSystemNotifications({
limit:3
},function(ret,err) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
获取未读系统消息数
allNotificationsUnreadCount(callback(ret))
ret:
{
unreadCount:0 //数字类型;未读系统消息数
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.allNotificationsUnreadCount(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
标记所有系统消息为已读
markAllNotificationsAsRead()
var yunxinIM = api.require('yunxinIM');
yunxinIM.markAllNotificationsAsRead();
iOS系统,Android系统
可提供的 1.0.0 及更高版本
删除所有系统消息
deleteAllNotifications()
var yunxinIM = api.require('yunxinIM');
yunxinIM.deleteAllNotifications();
iOS系统,Android系统
可提供的 1.0.0 及更高版本
通知相关监听
addNotificationListen({params}, callback(ret))
ret:
{
eventType: //字符串类型;账号事件类型
//onReceiveSystemNotification(收到系统通知回调)
//onSystemNotificationCountChanged(系统通知数量变化)
//onReceiveCustomSystemNotification(收到自定义通知回调,这个通知是由开发者服务端/客户端发出,由我们的服务器进行透传的通知,SDK 不负责这个信息的存储,如果需要上层需要存储,需要在这个方法返回前进行存储)
notification:{ //josn对象类型;系统通知信息
notificationId:, //数字类型;通知 ID
type:, //数字类型;通知类型
//取值范围:
//0:申请入群
//1:拒绝入群
//2:邀请入群
//3:拒绝入群邀请
//5:添加好友
//15:申请入超大群
//16:拒绝入超大群
//17:邀请入超大群
//18:拒绝入超大群邀请
timestamp:, //数字类型;时间戳
sourceID:'', //字符串类型;操作者
targetID:'', //字符串类型;目标ID,群ID或者是用户ID
postscript:'', //字符串类型;附言ID
read:true, //布尔类型;是否已读
handleStatus:, //数字类型;消息处理状态
notifyExt: //字符串类型;系统通知下发的自定义扩展信息
},
unreadCount:0, //数字类型;总系统通知未读数目
systemNotification:{//josn对象类型;自定义通知信息
notificationId:, //数字类型;通知 ID(仅iOS支持)
timestamp:, //数字类型;时间戳
sender:'', //字符串类型;通知发起者id
receiver:'', //字符串类型;通知接受者id
content:'', //字符串类型;透传的消息体内容
receiverType:0, //数字类型;通知接受者类型
//取值范围:
//0:点对点
//1:群组
//2:聊天室
//3:云商服
//5:超大群
}
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.addNotificationListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
移除通知相关监听(仅android支持)
removeNotificationListen({params}, callback(ret))
var yunxinIM = api.require('yunxinIM');
yunxinIM.removeNotificationListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
创建群组
createTeam({params},callback(ret,err))
users:
option:
{
name:'', //字符串类型;群名
type:0, //数字类型;群类型;默认:0:普通群
//取值范围:
//0:普通群
//1:高级群
//2:超大群(仅iOS支持,android端为服务器api创建 联系网易云信商务)
intro:'', //字符串类型;群简介
icon:'', //字符串类型;群头像(仅android支持)
announcement:'', //字符串类型;群公告
clientCustomInfo:'', //字符串类型;客户端自定义信息
postscript:'', //字符串类型;邀请他人的附言,高级群有效,普通群无需附言
joinMode:0, //数字类型;群验证模式,只有高级群有效;默认:0:允许所有人加入
//取值范围:
//0:允许所有人加入
//1:需要验证
//2:不允许任何人加入
inviteMode:0, //数字类型;群邀请权限,只有高级群有效;默认:0:只有管理员/群主可以邀请他人入群
//取值范围:
//0:只有管理员/群主可以邀请他人入群
//1:所有人可以邀请其他人入群
beInviteMode:0, //数字类型;被邀请模式,只有高级群有效;默认:0:需要被邀请方同意
//取值范围:
//0:需要被邀请方同意
//1:不需要被邀请方同意
updateInfoMode:0, //数字类型;修改群信息权限,只有高级群有效;默认:0:只有管理员/群主可以修改
//取值范围:
//0:只有管理员/群主可以修改
//1:所有人可以修改
updateClientCustomMode:0,//数字类型;修改群客户端自定义字段权限。只有高级群有效;默认:0:只有管理员/群主可以修改
//取值范围:
//0:只有管理员/群主可以修改
//1:所有人可以修改
maxMember:0, //数字类型;群最大人数上限,默认为0,表示使用默认人数上限
muteMode:, //数字类型;群禁言模式,0:不禁言,1:群员禁言,3:全员禁言(仅android支持)
}
ret:
{
status: true, //布尔类型;是否成功,true|false
teamId:'', //字符串类型;群组ID
failedUserIds:[] //字符串数组;邀请失败的群成员ID
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.createTeam({
users:[],
option:{}
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
从本地获取所有群组
allMyTeams({callback(ret))
ret:
{
teams:[] //json数组;本地获取所有群组信息;详情参考附录:群组信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.allMyTeams(function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
解散群组
dismissTeam({params},callback(ret,err))
teamId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.dismissTeam({
teamId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
申请加入群组
applyToTeam({params},callback(ret,err))
teamId:
message:
ret:
{
status: true, //布尔类型;是否成功,true|false
applyStatus:0 //数字类型;申请入群状态(仅iOS支持)
//取值范围:
//0:无效状态
//1:已经在群里
//2:申请等待通过
}
err:
{
code: , //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.applyToTeam({
teamId:'',
message:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
通过申请(仅限高级群)
passApplyToTeam({params},callback(ret,err))
teamId:
userId:
ret:
{
status: true, //布尔类型;是否成功,true|false
applyStatus:0 //数字类型;申请入群状态
//取值范围:
//0:无效状态
//1:已经在群里
//2:申请等待通过
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.passApplyToTeam({
teamId:'',
userId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
拒绝申请(仅限高级群)
rejectApplyToTeam({params},callback(ret,err))
teamId:
userId:
reason:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.rejectApplyToTeam({
teamId:'',
userId:'',
reason:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
邀请加入群组
invitationToTeam({params},callback(ret,err))
teamId:
users:
postscript:
attach:
ret:
{
status: true, //布尔类型;是否成功,true|false
members:[] //json数组;成功的群成员列表,详情参考附录:群成员信息
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.invitationToTeam({
teamId:'',
users:[]
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
接受入群邀请(仅限高级群)
acceptInviteWithTeam({params},callback(ret,err))
teamId:
invitorId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.acceptInviteWithTeam({
teamId:'',
invitorId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
拒绝入群邀请(仅限高级群)
rejectInviteWithTeam({params},callback(ret,err))
teamId:
invitorId:
reason:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.rejectInviteWithTeam({
teamId:'',
invitorId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
从群组内移除成员
kickUsersFromTeam({params},callback(ret,err))
teamId:
users:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.kickUsersFromTeam({
teamId:'',
users:[]
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
退出群组
quitTeam({params},callback(ret,err))
teamId:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.quitTeam({
teamId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
获取群组成员,绝大多数情况这个请求都是从本地读取缓存并同步返回,但是由于群成员信息量较大, SDK 采取的是登录后延迟拉取的策略,考虑到用户网络等问题, SDK 有可能没有及时缓存群成员信息,那么这个请求将是个带网络请求的异步操作(增量请求)。 同时这个接口会去请求本地没有缓存的群用户的资料信息,但不会触发 onUserInfoChanged 回调
fetchTeamMembers({params},callback(ret,err))
teamId:
ret:
{
status: true, //布尔类型;是否成功,true|false
members:[] //json数组;成功的群成员列表,详情参考附录:群成员信息
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.fetchTeamMembers({
teamId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
获取单个群成员信息,返回本地缓存的群成员信息,如果本地没有相应数据则返回空
teamMember({params},callback(ret))
teamId:
userId:
ret:
{
member:{} //json对象;群成员信息,详情参考附录:群成员信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.teamMember({
teamId:'',
userId:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新成员群昵称
updateUserNick({params},callback(ret,err))
teamId:
userId:
newNick:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateUserNick({
teamId:'',
userId:'',
newNick:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
根据群组ID判断是否是我所在的群
isMyTeam({params},callback(ret))
teamId:
ret:
{
isMyTeam:true //布尔类型;是否是我所在的群
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.isMyTeam({
teamId:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
移交群主
transferManagerWithTeam({params},callback(ret,err))
teamId:
newOwnerId:
isLeave:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.transferManagerWithTeam({
teamId:'',
newOwnerId:'',
isLeave:false
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
添加管理员
addManagersToTeam({params},callback(ret,err))
teamId:
users:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.addManagersToTeam({
teamId:'',
users:[]
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
移除管理员
removeManagersFromTeam({params},callback(ret,err))
teamId:
users:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.removeManagersFromTeam({
teamId:'',
users:[]
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
禁言指定成员
muteUserFromTeam({params},callback(ret,err))
teamId:
userId:
isMute:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.muteUserFromTeam({
teamId:'',
userId:'',
isMute:true
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
禁言全体普通成员
muteAllFromTeam({params},callback(ret,err))
teamId:
isMute:
ret:
{
status: true, //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.muteAllFromTeam({
teamId:''
isMute:true
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
获取群内被禁言的成员列表,绝大多数情况这个请求都是从本地读取缓存并同步返回,但是由于群成员信息量较大, SDK 采取的是登录后延迟拉取的策略,考虑到用户网络等问题, SDK 有可能没有及时缓存群成员信息,那么这个请求将是个带网络请求的异步操作(增量请求)。同时这个接口会去请求本地没有缓存的群用户的资料信息,但不会触发 onUserInfoChanged 回调
fetchTeamMutedMembers({params},callback(ret,err))
teamId:
ret:
{
status: true, //布尔类型;是否成功,true|false
members:[] //json数组;成功的群成员列表,详情参考附录:群成员信息
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.fetchTeamMutedMembers({
teamId:''
isMute:true
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新群组名称
updateTeamName({params},callback(ret,err))
teamId:
teamName:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamName({
teamId:'',
teamName:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新群组头像
updateTeamAvatar({params},callback(ret,err))
teamId:
teamAvatarUrl:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamAvatar({
teamId:'',
teamAvatarUrl:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新群介绍
updateTeamIntro({params},callback(ret,err))
teamId:
intro:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamIntro({
teamId:'',
intro:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新群公告
updateTeamAnnouncement({params},callback(ret,err))
teamId:
announcement:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamAnnouncement({
teamId:'',
announcement:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新群组验证方式
updateTeamJoinMode({params},callback(ret,err))
teamId:
joinMode:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamJoinMode({
teamId:'',
joinMode:0
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新群组被邀请人验证方式
updateTeamBeInviteMode({params},callback(ret,err))
teamId:
beInviteMode:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamBeInviteModee({
teamId:'',
beInviteMode:0
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新群组邀请他人方式
updateTeamInviteMode({params},callback(ret,err))
teamId:
inviteMode:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamInviteMode({
teamId:'',
inviteMode:0
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更改群组更新信息的权限
updateTeamUpdateInfoMode({params},callback(ret,err))
teamId:
infoMode:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamUpdateInfoMode({
teamId:'',
infoMode:0
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更改群组更新自定义字段的权限
updateTeamUpdateClientCustomMode({params},callback(ret,err))
teamId:
clientCustomMode:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamUpdateClientCustomMode({
teamId:'',
clientCustomMode:0
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
更新群自定义信息
updateTeamCustomInfo({params},callback(ret,err))
teamId:
customInfo:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamCustomInfo({
teamId:'',
customInfo:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
修改群通知状态
updateTeamNotifyState({params},callback(ret,err))
teamId:
notifyState:
ret:
{
status: true //布尔类型;是否成功,true|false
}
err:
{
code:0, //数字类型;错误码
msg: '' //字符串类型;错误信息
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.updateTeamNotifyState({
teamId:'',
notifyState:0
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
查询群通知状态
fetchTeamNotifyState({params},callback(ret))
teamId:
ret:
{
notifyState:0 //数字类型;群通知状态;0:接受任何群消息通知,1:不接受任何群消息通知,2:只接受管理员的群消息通知(仅高级群支持,超大群不支持)
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.fetchTeamNotifyState({
teamId:''
},function(ret,err) {
if(ret.status)
api.alert({ msg:JSON.stringify(ret)});
else
api.alert({ msg:JSON.stringify(err)});
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
群组相关监听
addTeamListen({params}, callback(ret))
ret:
{
eventType:, //字符串类型;账号事件类型
//onTeamAdded(群组增加回调)(仅iOS支持)
//onTeamUpdated(群组更新回调)
//onTeamRemoved(群组移除回调)
//onTeamMemberChanged(群组成员变动回调,包括数量增减以及成员属性变动)
//onTeamMemberRemoved(成员移除)
team:{}, //json对象;群组信息;详情参考附录:群组信息 (android群组移除回调返回)
teams:[], //JSON数组 类型;群组信息,详情参考:群组信息 群组更新回调中返回(仅android支持)
updateMembers:[], //JSON数组类型;详情参考群成员信息,变动群成员信息;群成员变动回调中返回(仅android支持)
removedMembers:[], //JSON数组类型;详情参考群成员信息,移除群成员信息;群成员变动回调中返回(仅android支持)
}
var yunxinIM = api.require('yunxinIM');
yunxinIM.addTeamListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
移除群组相关监听(仅android支持)
removeTeamListen({params}, callback(ret))
var yunxinIM = api.require('yunxinIM');
yunxinIM.addTeamListen(function(ret) {
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
##附录
{
userId: '', //字符串类型;用户Id
alias: '', //字符串类型;备注名,长度限制为128个字符(仅iOS支持)
ext: '', //字符串类型;扩展字段(仅iOS支持)
serverExt: '', //字符串类型;服务器扩展字段,该字段只能由服务器进行修改,客户端只能读取 (仅iOS支持)
userInfo:{ //json对象;用户资料,仅当用户选择托管信息到云信时有效,用户资料除自己之外,不保证其他用户资料实时更新
nickName: '', //字符串类型;用户昵称
avatarUrl: '', //字符串类型;用户头像
thumbAvatarUrl: '', //字符串类型;用户头像缩略图,仅适用于使用云信上传服务进行上传的资源,否则无效(仅iOS支持)
sign: '', //字符串类型;用户签名
gender: 0, //数字类型;性别;0:未知性别,1:男,2:女
email: '', //字符串类型;邮箱
birth: '', //字符串类型;生日
mobile: '', //字符串类型;电话号码
ext: '' //字符串类型;用户自定义扩展字段
}
}
{
sessionId: '', //字符串类型;会话 ID
chatType:0 //数字类型;会话类型
//取值范围:
//0:单聊
//1:群组
//2:聊天室
//3:云商服
//5:超大群
}
{
session: {}, //json对象类型;当前会话,详情参考附录:会话信息(仅iOS支持)
lastMessage: {}, //json对象类型;最后一条消息,详情参考附录:消息内容(仅iOS支持)
lastMessageId:'', //字符串类型;最后一条消息id(仅android支持)
unreadCount:0, //数字类型;未读消息数
updateTime:0, //数字类型;服务端会话的最新更新时间,本地会话无效
localExt:{}, //json对象类型;本地扩展
serverExt:'', //字符串类型;会话服务扩展字段(本地会话该字段无效)(仅iOS支持)
sessionId:'', //字符串类型;最近联系人id (仅android支持)
content:'', //字符串类型;最新一条消息缩写内容(仅android支持)
fromAccount:'', //字符串类型;最近一条消息发送方i账号(仅android支持)
fromNick:'', //字符串类型;最近一条消息发送方昵称(仅android支持)
msgStatus:, //数字类型;最近一条消息状态;-1:未发送,0:发送中,1:发送成功,2发送失败,3已读,4:未读(仅android支持)
msgType:, //数字类型;最近一条消息类型(仅android支持)
msgId:'', //字符串类型;最近一条消息id (仅android支持)
sessionType:, //数字类型;会话类型(仅android支持)
}
{
teamId:'', //字符串类型;群ID
teamName:'', //字符串类型;群名称
avatarUrl:'', //字符串类型;群头像
thumbAvatarUrl:'', //字符串类型;群缩略头像,仅适用于使用云信上传服务进行上传的资源,否则无效(仅iOS支持)
type:0, //数字类型;群类型
//取值范围:
//0:普通群
//1:高级群
//2:超大群(仅iOS支持)
owner:'', //字符串类型;群拥有者ID,普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
intro:'', //字符串类型;群介绍
announcement:'', //字符串类型;群公告
memberNumber:6, //数字类型;群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化
level:0, //数字类型;群等级,目前群人数主要是限制群人数上限(android端返回为群上限人数)
createTime:6, //数字类型;群创建时间
joinMode:0, //数字类型;群验证模式,只有高级群有效;默认:0:允许所有人加入
//取值范围:
//0:允许所有人加入
//1:需要验证
//2:不允许任何人加入
inviteMode:0, //数字类型;群邀请权限,只有高级群,超大群有效效 //取值范围:
//0:只有管理员/群主可以邀请他人入群
//1:所有人可以邀请其他人入群
beInviteMode:0, //数字类型;被邀请模式,只有高级群,超大群有效
//取值范围:
//0:需要被邀请方同意
//1:不需要被邀请方同意
updateInfoMode:0, //数字类型;修改群信息权限,只有高级群有效 //取值范围:
//0:只有管理员/群主可以修改
//1:所有人可以修改
updateClientCustomMode:0,//数字类型;修改群客户端自定义字段权限。只有高级群有效
//取值范围:
//0:只有管理员/群主可以修改
//1:所有人可以修改
serverCustomInfo:'', //字符串类型;群服务端自定义信息, 应用方可以自行拓展这个字段做个性化配置,客户端不可以修改这个字段
clientCustomInfo:'', //字符串类型;群客户端自定义信息,应用方可以自行拓展这个字段做个性化配置,客户端可以修改这个字段
inAllMuteMode:false, //布尔类型;群组是否正在全员禁言,只有高级群、超大群有效(仅iOS支持)
muteMode:, //数字类型;禁言模式:0:未开启禁言 ,1:非管理员 禁言,3:全员禁言(仅android支持)
}
{
teamId:'', //字符串类型;群ID
userId:'', //字符串类型;群成员ID
invitor:'', //字符串类型;邀请者ID,此字段仅当该成员为自己时有效。不允许查看其他群成员的邀请者(仅iOS支持)
inviterAccid:'', //字符串类型;邀请者Accid,该属性值为@""或者自身Accid时均表示无邀请人,当未返回时需要主动调用接口去获取
type:0, //数字类型;群成员类型
//取值范围:
//0:普通群员
//1:群拥有者
//2:群管理员
//3:申请加入用户
nickname:'', //字符串类型;群昵称
isMuted:true, //布尔类型;是否被禁言
createTime:6, //数字类型;进群时间
customInfo:'' //字符串类型;新成员群自定义信息
}
{
messageId: '', //字符串类型;消息ID,唯一标识
session:{}, //JSON 对象;消息所属会话;详情参考附录:会话信息(仅iOS支持)
sessionId:'', //字符串类型;sessionId(仅android支持)
from: '', //字符串类型;消息来源
serverID: '', //字符串类型;消息服务端ID
remoteExt: {}, //JSON 对象;服务器扩展
localExt: {}, //JSON 对象;客户端本地扩展
timestamp: 0, //数字类型;消息发送时间
deliveryState: 0, //数字类型;消息投递状态 仅针对发送的消息;0:消息发送失败,1:消息发送中,2:消息发送成功,-1:新消息(仅android支持),3:已读(仅 android支持),4:未读 (仅android支持)
attachmentDownloadState: 0,//数字类型;消息附件下载状态 仅针对收到的消息;0:附件需要进行下载 (有附件但并没有下载过),1:附件收取失败 (尝试下载过一次并失败),2:附件下载中,3:附件下载成功/无附件(仅iOS支持)
isReceivedMsg:true, //布尔类型;是否是收到的消息,由于有漫游消息的概念,所以自己发出的消息漫游下来后仍旧是"收到的消息",这个字段用于消息出错是时判断需要重发还是重收(仅 iOS支持)
isOutgoingMsg:true, //布尔类型;是否是往外发的消息,由于能对自己发消息,所以并不是所有来源是自己的消息都是往外发的消息,这个字段用于判断头像排版位置(是左还是右)(仅iOS支持)
isPlayed:true, //布尔类型;消息是否被播放,修改这个属性,后台会自动更新 db 中对应的数据。聊天室消息里,此字段无效(仅iOS支持)
isDeleted:true, //布尔类型;消息是否标记为已删除,已删除的消息在获取本地消息列表时会被过滤掉,只有根据 messageId 获取消息的接口可能会返回已删除消息。聊天室消息里,此字段无效
isRemoteRead:true, //布尔类型;对端是否已读,只有当当前消息为 P2P 消息且 isOutgoingMsg 为 true 时这个字段才有效,需要对端调用过发送已读回执的接口
isTeamReceiptSended:true, //布尔类型;是否已发送群回执;只针对群消息有效(仅iOS支持)
teamReceiptInfo:{ //json对象;群已读回执信息只有当当前消息为 Team 消息且 teamReceiptEnabled 为 true 时才有效,需要对端调用过发送已读回执的接口
readCount:0, //数字类型;已读人数
unreadCount:0, //数字类型;未读人数
},
senderName: '', //字符串类型;消息发送者名字,当发送者是自己时,这个值可能为空,这个值表示的是发送者当前的昵称,而不是发送消息时的昵称。聊天室消息里,此字段无效
senderClientType: 0, //数字类型;发送者客户端类型
//0:未知类型
//1:Android
//2:iOS
//4:PC
//8:WP
//16:WEB
//32:REST API
//64:macOS
isBlackListed:true, //布尔类型;是否在黑名单中,true 为被目标拉黑
body: {} //JSON 对象;消息体(消息包含的内容),详情参考附录:消息体内容
}
{
type:, //数字类型;消息体的类型,取值范围如下:
//0:文本类型
//1:图片类型
//2:声音类型
//3:视频类型
//4:位置类型
//5:通知类型
//6:文件类型
//10:提醒类型
//11:机器人类型
//100:自定义类型
...: ... //消息体除type外的其它内容,详情参考附录:消息体-文本、图片、声音、视频、位置、通知、文件、机器
}
{
type: 0,
text: '' //字符串类型;文本内容
}
{
type: 1,
path: '', //字符串类型;图片本地路径
displayName: '', //字符串类型;文件展示名
thumbPath: '', //字符串类型;缩略图本地路径
url: '', //字符串类型;图片远程路径
thumbUrl: '', //字符串类型;缩略图远程路径
size: { //json对象;图片尺寸
w:, //数字类型;图片宽
h: //数字类型;图片高
},
fileLength:0, //数字类型;文件大小
md5: '' //字符类型;图片MD5
}
{
type: 2,
path: '', //字符串类型;语音的本地路径
url: '', //字符串类型;语音的远程路径
duration:0, //数字类型;语音时长,毫秒为单位
md5: '' //字符类型;音频MD5
}
{
type: 3,
path: '', //字符串类型;视频的本地路径
url: '', //字符串类型;视频的远程路径
displayName: '', //字符串类型;视频展示名
coverUrl: '', //字符串类型;视频封面的远程路径
coverPath: '', //字符串类型;视频封面的本地路径
coverSize: { //json对象;封面尺寸
w:, //数字类型;封面宽
h: //数字类型;封面高
},
duration:0, //数字类型;视频时长,毫秒为单位
fileLength:0, //数字类型;文件大小
md5: '' //字符类型;图片MD5
}
{
type: 4,
latitude:0, //数字类型;维度
longitude:0, //数字类型;经度
title: '' //字符类型;标题
}
{
type: 5,
notificationType: 0, //数字类型;iOS通知类型
//取值范围:
//0:未被支持的通知类型,由于系统升级,旧版本的 SDK 可能无法解析新版本数据,所有无法解析的新通知显示为未被支持
//1:群通知
//2:网络电话通知
//3:聊天室通知
//4:超大群通知
androidType:, //数字类型;android通知类型
//0:邀请群成员,用于讨论组中,讨论组可直接拉人入群
//1:移除群成员
//2:有成员离开群
//3:群资料更新
//4:群被解散
//5:管理员通过用户入群申请
//6:群组拥有者权限转移通知
//7:新增管理员通知
//8:撤销管理员通知
//9:用户接受入群邀请
//10:群成员禁言/解禁
//101:未接电话
//102:话单
//103:拒绝电话
//201:结束的通话
//202:未接通的会话
//301:成员进入聊天室
//302:成员离开聊天室
//303:成员被加黑
//304:成员被取消黑名单
//305:成员被设置禁言
//306:成员被取消禁言
//307:设置为管理员
//308:取消管理员
//309:成员设定为固定成员
//310:成员取消固定成员
//311:聊天室被关闭了
//312:聊天室信息被更新了
//313:成员被踢了
//314:新增临时禁言
//315:主动解除临时禁言
//316:成员主动更新了聊天室内的角色信息
//317:队列中有变更
//318:聊天室被禁言了,只有管理员可以发言,其他人都处于禁言状态
//319:聊天室解除全体禁言状态
//320:队列批量变更
//401:超大群拉人
//402:超大群踢人
//403:超大群退群
//404:超大群修改群信息
//405:超大群解散
//406:超大群移交群主
//407:超大群添加管理员
//408:超大群删除管理员
//409:超大群禁言群成员
//410:超大群申请成功进群
//411:超大群接受邀请进群
}
{
type: 6,
path: '', //字符串类型;文件的本地路径
url: '', //字符串类型;文件的远程路径
displayName: '', //字符串类型;文件显示名
fileLength:0, //数字类型;文件大小
md5: '' //字符类型;文件MD5
}
{
type: 11,
isFromRobot: true, //布尔类型;判断此消息是否是属于机器人回复的消息
robotId: '', //字符串类型;当该消息为用户上行发送给机器人时,此字段为目标机器人 Id,当该消息为机器人回复的消息时, 此字段为本消息所属机器人 Id
response: '', //字符串类型;机器人回复的消息结果,只在机器人下行消息,此字段有效
responseForMessageId: '', //字符串类型;机器人回复的消息所属的提问消息 Id ,只在机器人下行消息,此字段有效
}