- nim
- 论坛示例
- 概述
- 固件要求
- login
- logout
- onKick
- willSendIMMessage
- onSendMessageWithProgress
- onRecvIMMessages
- allRecentSession
- fetchMessageHistory
- sendText
- sendImage
- sendLocationMsg
- sendAudio
- sendVideo
- sendFile
- switchAudioOutputDevice
- isPlaying
- playAudio
- stopPlay
- isRecording
- recordAudioForDuration
- cancelRecord
- stopRecord
- onIMTeamRemoved
- onIMTeamUpdated
- onBlackListChanged
- allMyTeams
- teamById
- fetchTeamInfo
- createTeam
- addUsers
- acceptInviteWithTeam
- rejectInviteWithTeam
- applyToTeam
- passApplyToTeam
- rejectApplyToTeam
- updateTeamName
- updateTeamIntro
- updateTeamAnnouncement
- updateTeamJoinMode
- addManagersToTeam
- removeManagersFromTeam
- transferManagerWithTeam
- fetchTeamMembers
- quitTeam
- kickUsers
- dismissTeam
- updateNotifyStateForTeam
- onIMSystemMessageRecieved
- fetchSystemNotifications
- allNotificationsUnreadCount
- deleteAllNotifications
- markAllNotificationsAsRead
- onUserInfoUpdate
- userInfo
- fetchUserInfos
- updateMyUserInfo
- myFriends
- requestFriend
- deleteFriend
- myBlackList
- addToBlackList
- removeFromBlackBlackList
- isUserInBlackList
- myMuteUserList
- updateNotifyStateForUser
- notifyForNewMsgForUser
- onChatRoomStatusChanged
- onChatRoomKickOutEvent
- enterChatRoom
- exitChatRoom
- getChatRoomHistoryMsg
- getChatRoomInfo
- getChatRoomMembers
- getChatRoomMembersByIds
- addUserToBlackList
- muteUser
- setAdmin
- setNormal
- kickMemberFromChatRoom
- startCall
- onCallReceive
- responseCall
- onCallResponse
- onCallResponsedByOther
- onCallCallEstablished
- onCallCallDisconnected
- callControl
- onCallControl
- callHangup
- onCallHangup
- currentCallID
- onCallNetStatus
- initCallRemoteView
- removeCallRemoteView
- setCallMute
- setCallSpeaker
- switchCallCamera
- switchCallCameraFlash
- sendMessageReceipt
- onIMRecvMessageReceipt
- markAllMessagesReadInSession
- updateTeamAvatar
- updateUserNick
- updateMyTeamNick
- updateTeamCustomInfo
- updateMuteStateByUserId
- updateMuteStateByAll
- queryTeamMemberByUserId
- setSystemMessageStatus
- deleteSystemMessage
- setSystemMessageRead
- revokeMessage
- onIMRecvRevokeMessageNotification
- onIMLogin
- isLogined
- isMyFriend
- isMyTeam
- deleteRecentSession
- downloadAttachment
- abortDownloadAttachment
- enablePushService
- sendTips
- queryMessageHistory
- queryMessageHistoryByTyps
- clearChattingHistory
nim
来自于:开发者立即使用
login logout onKick willSendIMMessage onSendMessageWithProgress onRecvIMMessages allRecentSession fetchMessageHistory sendText sendImage sendLocationMsg sendAudio sendVideo sendFile switchAudioOutputDevice isPlaying playAudio stopPlay isRecording recordAudioForDuration cancelRecord stopRecord onIMTeamRemoved onIMTeamUpdated onBlackListChanged allMyTeams teamById fetchTeamInfo createTeam addUsers acceptInviteWithTeam rejectInviteWithTeam applyToTeam passApplyToTeam rejectApplyToTeam updateTeamName updateTeamIntro updateTeamAnnouncement updateTeamJoinMode addManagersToTeam removeManagersFromTeam transferManagerWithTeam fetchTeamMembers quitTeam kickUsers dismissTeam updateNotifyStateForTeam onIMSystemMessageRecieved fetchSystemNotifications allNotificationsUnreadCount deleteAllNotifications markAllNotificationsAsRead onUserInfoUpdate userInfo fetchUserInfos updateMyUserInfo myFriends requestFriend deleteFriend myBlackList addToBlackList removeFromBlackBlackList isUserInBlackList myMuteUserList updateNotifyStateForUser notifyForNewMsgForUser onChatRoomStatusChanged onChatRoomKickOutEvent enterChatRoom exitChatRoom getChatRoomHistoryMsg getChatRoomInfo getChatRoomMembers getChatRoomMembersByIds addUserToBlackList muteUser setAdmin setNormal kickMemberFromChatRoom startCall onCallReceive responseCall onCallResponse onCallResponsedByOther onCallCallEstablished onCallCallDisconnected callControl onCallControl callHangup onCallHangup currentCallID onCallNetStatus initCallRemoteView removeCallRemoteView setCallMute setCallSpeaker switchCallCamera switchCallCameraFlash sendMessageReceipt onIMRecvMessageReceipt markAllMessagesReadInSession updateTeamAvatar updateUserNick updateMyTeamNick updateTeamCustomInfo updateMuteStateByUserId updateMuteStateByAll queryTeamMemberByUserId setSystemMessageStatus deleteSystemMessage setSystemMessageRead revokeMessage onIMRecvRevokeMessageNotification onIMLogin isLogined isMyFriend isMyTeam deleteRecentSession downloadAttachment abortDownloadAttachment enablePushService sendTips
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
nim 模块概述
本模块是基于NIM(网易云信)原生SDK封装的模块插件,使用本模块可以实现基本的即时通讯功能,包括—— 单聊功能:支持发送语音,图片,表情,文字,位置,附件; 群聊功能:提供了普通群、以及高级群两种形式的群聊功能.高级群拥有更多的权限操作,两种群聊形式在共有操作上保持了接口一致.开发时推荐只选择一种群类型进行开发.普通群和高级群在原则上是不能互相转换的,他们的群类型在创建时就已经确定;
模块使用攻略
使用之前须从网易云平台地址申请开发者账号并创建应用,获取AppKey。
使用此模块之前必须先配置config.xml文件,配置完毕,需通过云端编译生效,配置方法如下:
- 名称:nim
- 参数:AppKey
- 配置示例:
<meta-data name="com.vivo.push.api_key" value="18374205-eb53-428c-bad2-7a75712f6487" />
<meta-data name="com.vivo.push.app_id" value="11425" />
<meta-data name="com.huawei.hms.client.appid" value="100006871" />
<feature name="nim">
<param name="AppKey" value=""/>
<param name="ApnsCername" value=""/>
<param name="PkCername" value=""/>
<param name="xmAppId" value=""/>
<param name="xmAppKey" value=""/>
<param name="xmCertificateName" value=""/>
<param name="hwCertificateName" value=""/>
<param name="mzAppId" value=""/>
<param name="mzAppKey" value=""/>
<param name="mzCertificateName" value=""/>
<param name="vivoCertificateName" value=""/>
<param name="oppoAppId" value=""/>
<param name="oppoAppKey" value=""/>
<param name="oppoAppSercet" value=""/>
<param name="oppoCertificateName" value=""/>
</feature>
字段描述:
AppKey:(必须配置)从网易云获取的 AppKey值。AppKey的申请方法参考新手指引。
ApnsCername:(可选配置)iOS推送证书名(仅iOS可用)。
PkCername:(可选配置)iOS推送PushKit配置(仅iOS可用) xmAppId:(可选配置)小米推送配置(仅Android可用) xmAppKey:(可选配置)小米推送配置(仅Android可用) xmCertificateName:(可选配置)小米推送配置(仅Android可用) hwCertificateName:(可选配置)华为推送配置(仅Android可用) mzAppId:(可选配置) 魅族推送配置(仅Android可用) mzAppKey:(可选配置)魅族推送配置(仅Android可用) mzCertificateName:(可选配置)魅族推送配置(仅Android可用) vivoCertificateName:(可选配置)VIVO推送配置(仅Android可用) oppoAppId:(可选配置) OPPO推送配置(仅Android可用) oppoAppKey:(可选配置)OPPO推送配置(仅Android可用) oppoAppSercet:(可选配置)OPPO推送配置(仅Android可用) oppoCertificateName:(可选配置)OPPO推送配置(仅Android可用)
模块错误代码含义参考表
code | 详细描述 |
---|---|
-1 | 参数错误 |
1 | 错误的参数 |
2 | 多媒体文件异常 |
3 | 图片异常 |
4 | url异常 |
5 | 读取/写入文件异常 |
6 | 无效的token |
7 | HTTP请求失败 |
16 | 用户信息缺失 (未登录 或 未提供用户资料) |
14 | SQL语句执行失败 |
8 | 无录音权限 |
9 | 录音初始化失败 |
10 | 录音失效 |
11 | 播放初始化失败 |
200 | 操作成功 |
201 | 客户端版本不对,需升级sdk |
302 | 用户名或密码错误 |
403 | 非法操作或没有权限 |
404 | 对象不存在 |
405 | 参数长度过长 |
406 | 对象只读 |
408 | 客户端请求超时 |
414 | 参数错误 |
415 | 客户端网络问题 |
416 | 频率控制 |
422 | 账号被禁用 |
500 | 服务器内部错误 |
503 | 服务器繁忙 |
509 | 无效协议 |
801 | 群人数达到上限 |
802 | 没有权限 |
803 | 群不存在 |
804 | 用户不在群 |
805 | 群类型不匹配 |
806 | 创建群数量达到限制 |
807 | 群成员状态错误 |
808 | 申请成功 |
809 | 已经在群内 |
810 | 邀请成功 |
998 | 解包错误 |
999 | 打包错误 |
1000 | 本地操作异常 |
固件要求
Android:4.1及以上 iOS:8.0及以上
模块接口
login
登录
login({params}, callback(ret, err))
params
userId:
- 类型:字符串
- 描述:(必填项)用户账号。
password:
- 类型:字符串
- 描述:(必填项)用户密码。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
userId : '' //用户id
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.login({
userId : '1001',
password : '1qaz2wsx'
},function(ret, err) {
});
补充说明
账号创建请参考:网易云通信Server Http API接口文档
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
logout
退出
logout(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.logout(function(ret, err){
});
补充说明
iOS登录为异步回调,退出失败会返回信息。安卓没有异步回调,操作接口就返回成功。
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onKick
被踢的监听
onKick(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
code : 1 //数字类型;
//1 被另外一个客户端踢下线 (互斥客户端一端登录挤掉上一个登录中的客户端)
//2 被服务器踢下线, 仅iOS支持
//3 被另外一个客户端手动选择踢下线
}
示例代码
var demo = api.require('nim');
demo.onKick(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
willSendIMMessage
即将发送消息监听
willSendIMMessage(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
messageId : ,// 消息ID,唯一标识
messageType : ,//消息类型:
//0 文本类型消息
//1 图片类型消息
//2 声音类型消息
//3 视频类型消息
//4 位置类型消息
//5 通知类型消息
//6 文件类型消息
//10 提醒类型消息
//100 自定义类型消息
sessionId : ,// 会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType :, //0-单聊,1-群聊, 2- 聊天室
content : //发送文本内容
}
示例代码
var demo = api.require('nim');
demo.willSendIMMessage(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onSendMessageWithProgress
消息发送进度监听
onSendMessageWithProgress(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
progress : 0.51222,
messageId : '123123123adsfad'
}
示例代码
var demo = api.require('nim');
demo.onSendMessageWithProgress(function(ret){
});
补充说明
文本消息,地理位置消息会没有这个监听
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onRecvIMMessages
收到新消息监听
onRecvIMMessages(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
messages: [{
messageId:, //消息ID,唯一标识
messageType:, //消息类型,
//0 文本类型消息
//1 图片类型消息
//2 声音类型消息
//3 视频类型消息
//4 位置类型消息
//5 通知类型消息
//6 文件类型消息
//10 提醒类型消息
//100 自定义类型消息
from:, //消息来源
text:, //消息文本
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小(音频文件没有这个参数)
thumbPath://缩略图本地路径(图片)
duration:,//时长,毫秒为单位(音频,视频)
coverUrl:,//视频封面的远程路径(视频)
latitude:,//纬度(位置消息)
longitude:,//经度(位置消息)
title:,//标题(位置消息)
displayName:,//显示名称(文件,图片,视频)
}]
}
示例代码
var demo = api.require('nim');
demo.onRecvIMMessages(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
allRecentSession
获取最近会话
allRecentSession(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
messages:[{
sessionType: 0, //0-单聊,1-群聊, 2- 聊天室
unreadCount : 11, //未读消息数
lastMessage : {
messageId:, //消息ID,唯一标识
messageType:, //消息类型,
//0 文本类型消息
//1 图片类型消息
//2 声音类型消息
//3 视频类型消息
//4 位置类型消息
//5 通知类型消息
//6 文件类型消息
//10 提醒类型消息
//100 自定义类型消息
from:, //消息来源
text:, //消息文本
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小(音频文件没有这个参数)
thumbPath://缩略图本地路径(图片)
duration:,//时长,毫秒为单位(音频,视频)
coverUrl:,//视频封面的远程路径(视频)
latitude:,//纬度(位置消息)
longitude:,//经度(位置消息)
title:,//标题(位置消息)
displayName:,//显示名称(文件,图片,视频)
}
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : '无最近会话消息'
}
示例代码
var demo = api.require('nim');
demo.allRecentSession(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
fetchMessageHistory
获取云端消息记录
fetchMessageHistory({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
limit
- 类型:字符串
- 描述:检索条数, 最大限制100条
- 默认值: 100
sync
- 类型:布尔型
- 描述:同步数据: 是否在远程获取消息成功之后同步到本地数据库,如果选择同步,则同步之后不会触发消息添加的回调。默认不同步(false),true为同步。
- 默认值: false
startTime
- 类型:Long型
- 描述:需要检索的起始时间,没有则传入0
- 默认值: 0
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
messages : [{
messageId:, //消息ID,唯一标识
messageType:, //消息类型,
//0 文本类型消息
//1 图片类型消息
//2 声音类型消息
//3 视频类型消息
//4 位置类型消息
//5 通知类型消息
//6 文件类型消息
//10 提醒类型消息
//100 自定义类型消息
from:, //消息来源
text:, //消息文本
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小(音频文件没有这个参数)
thumbPath://缩略图本地路径(图片)
duration:,//时长,毫秒为单位(音频,视频)
coverUrl:,//视频封面的远程路径(视频)
latitude:,//纬度(位置消息)
longitude:,//经度(位置消息)
title:,//标题(位置消息)
displayName:,//显示名称(文件,图片,视频)
ext : //扩展消息
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.fetchMessageHistory({
sessionId : '1002',
sessionType : 0,
limit : 100,
sync : false,
startTime : 0
},function(ret, err){
});
补充说明
安卓在未登录情况下无返回值。
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
sendText
发送文本消息及表情
sendText({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
content
- 类型:字符串
- 描述:(必填项)消息内容。
ext:
- 类型:JSON对象
- 描述:(可选项)自定义扩展字段
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
message : {
messageId:, //消息ID,唯一标识
messageType:, //消息类型, 0 文本类型消息
from:, //消息来源
text:, //消息文本
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
ext : //扩展消息
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.sendText({
sessionId : '1002',
sessionType : 0,
content : '我是文本测试',
ext : {
key : 'key1'
}
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
sendImage
发送图片
sendImage({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
filePath:
- 类型:字符串
- 描述:(必填项)图片路径(支持fs:// widget:// 路径)。
displayName:
- 类型:字符串
- 描述:(非必填)显示名称。
ext:
- 类型:JSON对象
- 描述:(可选项)自定义扩展字段
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
message : {
messageId:, //消息ID,唯一标识
messageType:, //消息类型, 1 图片类型消息
from:, //消息来源
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小(音频文件没有这个参数)
thumbPath://缩略图本地路径(图片)
ext : //扩展消息
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.sendImage({
sessionId : '1002',
sessionType : 0,
filePath : 'widget://image/refresh.png',
displayName : '我是图片',
ext : {
key : 'key1'
}
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
sendLocationMsg
发送地理位置信息
sendLocationMsg({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
title:
- 类型:字符串
- 描述:(可选项)位置的地址名。
latitude:
- 类型:double
- 描述:(可选项)经度。
- 默认值: 0.0
longitude:
- 类型:double
- 描述:(可选项)纬度。
- 默认值: 0.0
ext:
- 类型:JSON对象
- 描述:(可选项)自定义扩展字段
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
message : {
messageId:, //消息ID,唯一标识
messageType:, //消息类型, 4 位置类型消息
from:, //消息来源
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
latitude:,//纬度(位置消息)
longitude:,//经度(位置消息)
title:,//标题(位置消息)
ext : //扩展消息
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.sendLocationMsg({
sessionId : '1002',
sessionType : 0,
title : '我是地理位置',
latitude : 102,
longitude : 39,
ext : {
key : 'key1'
}
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
sendAudio
发送音频消息
sendAudio({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
filePath:
- 类型:字符串
- 描述:(必填项)语音文件路径(支持fs:// widget://)。
ext:
- 类型:JSON对象
- 描述:(可选项)自定义扩展字段
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
message : {
messageId:, //消息ID,唯一标识
messageType:, //消息类型, //2 声音类型消息
from:, //消息来源
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小
duration:,//时长,毫秒为单位(音频,视频)
ext : //扩展消息
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.sendAudio({
sessionId : '1002',
sessionType : 0,
filePath : 'widget://res/bandari.mp3',
ext : {
key : 'key1'
}
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
sendVideo
发送视频
sendVideo({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
filePath:
- 类型:字符串
- 描述:(必填项)视频文件路径(支持fs:// widget://)。
displayName:
- 类型:字符串
- 描述:(可选项)显示名称
ext:
- 类型:JSON对象
- 描述:(可选项)自定义扩展字段
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
message : {
messageId:, //消息ID,唯一标识
messageType:, //消息类型,3 视频类型消息
from:, //消息来源
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小(音频文件没有这个参数)
duration:,//时长,毫秒为单位(音频,视频)
coverUrl:,//视频封面的远程路径(视频)
displayName:,//显示名称(文件,图片,视频)
ext : //扩展消息
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.sendVideo({
sessionId : '1002',
sessionType : 0,
filePath : 'widget://res/demo.mp4',
displayName : '我是测试视频',
ext : {
key : 'key1'
}
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
sendFile
发送文件
sendFile({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
filePath:
- 类型:字符串
- 描述:(必填项)文件路径(支持fs:// widget://)。
displayName:
- 类型:字符串
- 描述:(可选项)显示名称
ext:
- 类型:JSON对象
- 描述:(可选项)自定义扩展字段
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
message : {
messageId:, //消息ID,唯一标识
messageType:, //消息类型, 6 文件类型消息
from:, //消息来源
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小(音频文件没有这个参数)
displayName:,//显示名称(文件,图片,视频)
ext : //扩展消息
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.sendFile({
sessionId : '1002',
sessionType : 0,
filePath : 'widget://res/demo.mp4',
displayName : '我是测试视频',
ext : {
key : 'key1'
}
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
switchAudioOutputDevice
切换音频的输出设备
switchAudioOutputDevice({params}, callback(ret))
params
outputDevice
- 类型:数字型
- 描述:(必填项)0:听筒,1:扬声器。
- 默认值: 0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true
}
示例代码
var demo = api.require('nim');
demo.switchAudioOutputDevice({
outputDevice : 1
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isPlaying
判断是否正在播放音频
isPlaying(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var demo = api.require('nim');
demo.isPlaying(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
playAudio
播放音频
playAudio({params}, callback(ret, err))
params
filePath:
- 类型:字符串
- 描述:(必填项)语音文件路径(支持fs:// widget://)。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
evenType : 'start' //start:开始播放|end:播放结束
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.playAudio({
filePath : 'widget://res/demo.mp3',
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopPlay
停止播放音频
stopPlay(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.stopPlay(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isRecording
判断是否正在录制音频
isRecording(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var demo = api.require('nim');
demo.isRecording(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
recordAudioForDuration
录音
recordAudioForDuration({params}, callback(ret,err))
params
duration:
- 类型:数字型
- 描述:(必填项)最长录音时长(秒)。
- 默认值: 30
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
evenType : 'start', //start:开始录音|success:录音完成|cancel:取消录音
filePath : ''
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.recordAudioForDuration({
duration : 30
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
cancelRecord
取消录音
cancelRecord(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true
}
示例代码
var demo = api.require('nim');
demo.cancelRecord(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopRecord
停止录制音频
stopRecord(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true
}
示例代码
var demo = api.require('nim');
demo.stopRecord(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onIMTeamRemoved
群组移除监听
onIMTeamRemoved(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
teamId:,//群ID
teamName:,//群名称
type:,//群类型
owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
avatarUrl:,//群头像
intro:,//群介绍
announcement:,//群公告
memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
level:,//群等级,目前群人数主要是限制群人数上限
createTime:,//群创建时间
joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
}
示例代码
var demo = api.require('nim');
demo.onIMTeamRemoved(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onIMTeamUpdated
群组更新监听
onIMTeamUpdated(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
teamId:,//群ID
teamName:,//群名称
type:,//群类型
owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
avatarUrl:,//群头像
intro:,//群介绍
announcement:,//群公告
memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
level:,//群等级,目前群人数主要是限制群人数上限
createTime:,//群创建时间
joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
}
示例代码
var demo = api.require('nim');
demo.onIMTeamUpdated(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onBlackListChanged
黑名单列表发生变化监听
onBlackListChanged(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true
}
示例代码
var demo = api.require('nim');
demo.onBlackListChanged(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
allMyTeams
获取我的所有群组
allMyTeams(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
teams:[{
teamId:,//群ID
teamName:,//群名称
type:,//群类型
owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
avatarUrl:,//群头像
intro:,//群介绍
announcement:,//群公告
memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
level:,//群等级,目前群人数主要是限制群人数上限
createTime:,//群创建时间
joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.allMyTeams(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
teamById
本地获取群组信息
teamById({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群组Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
message:[{
teamId:,//群ID
teamName:,//群名称
type:,//群类型
owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
avatarUrl:,//群头像
intro:,//群介绍
announcement:,//群公告
memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
level:,//群等级,目前群人数主要是限制群人数上限
createTime:,//群创建时间
joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.teamById({
teamId : '64430396'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
fetchTeamInfo
远程获取群组信息
fetchTeamInfo({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群组Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
message:[{
teamId:,//群ID
teamName:,//群名称
type:,//群类型
owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
avatarUrl:,//群头像
intro:,//群介绍
announcement:,//群公告
memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
level:,//群等级,目前群人数主要是限制群人数上限
createTime:,//群创建时间
joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.fetchTeamInfo({
teamId : '64430396'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
createTeam
创建群组
createTeam({params}, callback(ret,err))
params
name:
- 类型:字符串
- 描述:(必填项)群名称。
type:
- 类型:数字型
- 描述:(可选项)创建群类别,普通群:0,高级群:1,默认为普通群.
- 默认值:0
joinMode:
- 类型:数字型
- 描述:(可选项)群验证方式,只有高级群才有群验证模式,普通群一律不需要验证.默认为不需要,允许所有人加入:0,需要验证:1,不允许任何人加入:2;
- 默认值:0
postscript:
- 类型:字符串
- 描述:(可选项)邀请附言,当创建的群为高级群需要带上,普通群没有认证过程,所以不需要;
avatarUrl:
- 类型:字符串
- 描述:(可选项)群头像,可选参数
intro:
- 类型:字符串
- 描述:(可选项)群介绍,可选参数
announcement:
- 类型:字符串
- 描述:(可选项)群公告,可选参数
users:
- 类型:数组
- 描述:(必填项)邀请群成员.不能为空,不邀请人时传自己的userId; 当创建普通群时,必须要添加一个其它成员.
inviteMode:
- 类型:数字型
- 描述:(可选项)群邀请权限( 0 :只有管理员/群主可以邀请他人入群 1:所有人可以邀请其他人入群).
- 默认值:0
beInviteMode:
- 类型:数字型
- 描述:(可选项)被邀请模式(0 : 需要被邀请方同意 1:不需要被邀请方同意).
- 默认值:0
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
teamId://群ID
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.createTeam({
name : '2001',
type : 0,
joinMode : 0,
postscript : '',
intro : '',
announcement : '',
users : ['1002']
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addUsers
邀请用户入群
addUsers({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
users:
- 类型:数组
- 描述:(必填项)userId组成的数组.
postscript:
- 类型:字符串
- 描述:(可选项)邀请附言 (仅iOS有效)。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.addUsers({
teamId : '64430396',
users : ['1002']
},function(ret, err){
});
补充说明
1、请求完成后,如果是普通群,被邀请者将直接入群;如果是高级群,云信服务器会下发一条系统消息到目标用户,目标用户可以选择同意或者拒绝入群。 2、高级群不能直接拉人,发出邀请成功会返回810,此处应该认为邀请已发出
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
acceptInviteWithTeam
同意群邀请(仅限高级群)
acceptInviteWithTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
invitorId:
- 类型:字符串
- 描述:(必填项)邀请者Id(不是被邀请者)。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.acceptInviteWithTeam({
teamId : '64430396',
invitorId : '1001'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
rejectInviteWithTeam
拒绝群邀请(仅限高级群)
rejectInviteWithTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
invitorId:
- 类型:字符串
- 描述:(必填项)邀请者Id(不是被邀请者)。
rejectReason:
- 类型:字符串
- 描述:(可选项)拒绝原因。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.rejectInviteWithTeam({
teamId : '64430396',
invitorId : '1001',
rejectReason :''
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
applyToTeam
用户主动申请加群(仅限高级群)
applyToTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
message:
- 类型:字符串
- 描述:(可选项)加群信息.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.applyToTeam({
teamId : '64430396',
message : '我要加群'
},function(ret, err){
});
补充说明
errorCode: 808:已经在群里,809:申请等待通过.
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
passApplyToTeam
通过申请(仅限高级群)
passApplyToTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
userId:
- 类型:字符串
- 描述:(必填项)用户Id.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.passApplyToTeam({
teamId : '64430396',
userId : '1002'
},function(ret, err){
});
补充说明
errorCode: 809 : 已经在群里
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
rejectApplyToTeam
拒绝申请(仅限高级群)
rejectApplyToTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
userId:
- 类型:字符串
- 描述:(必填项)用户Id.
rejectReason:
- 类型:字符串
- 描述:(可选项)拒绝原因.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.rejectApplyToTeam({
teamId : '64430396',
userId : '1002',
rejectReason : '拒绝原因'
},function(ret, err){
});
补充说明
errorCode: 509 : 已拒绝
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
updateTeamName
修改群名称
updateTeamName({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
teamName:
- 类型:字符串
- 描述:(必填项)群组名称.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateTeamName({
teamId : '64430396',
teamName : '群组名称'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
updateTeamIntro
修改群介绍
updateTeamIntro({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
intro:
- 类型:字符串
- 描述:(必填项)群介绍.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateTeamIntro({
teamId : '64430396',
intro : '群介绍'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
updateTeamAnnouncement
修改群公告
updateTeamAnnouncement({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
announcement:
- 类型:字符串
- 描述:(必填项)群公告.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateTeamAnnouncement({
teamId : '64430396',
announcement : '群公告'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
updateTeamJoinMode
修改群验证方式
updateTeamJoinMode({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
joinMode:
- 类型:数字型
- 描述:(必填项)群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateTeamJoinMode({
teamId : '64430396',
joinMode : 2
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addManagersToTeam
提升管理员(仅限高级群)
addManagersToTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
users:
- 类型:数组
- 描述:(必填项)userId组成的数组
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.addManagersToTeam({
teamId : '64430396',
users : ['1002']
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeManagersFromTeam
移除管理员(仅限高级群)
removeManagersFromTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
users:
- 类型:数组
- 描述:(必填项)userId组成的数组
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.removeManagersFromTeam({
teamId : '64430396',
users : ['1002']
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
transferManagerWithTeam
转让群(仅限高级群)
transferManagerWithTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
newOwnerId:
- 类型:字符串
- 描述:(必填项)新群主ID
isLeave:
- 类型:布尔型
- 描述:(可选项)是否同时离开群组,true离开
- 默认值: false
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.transferManagerWithTeam({
teamId : '64430396',
newOwnerId : '1002',
isLeave : false
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
fetchTeamMembers
获取群成员
fetchTeamMembers({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
message : [{
teamId : ,//群ID
userId:,//群成员ID
invitor:,//邀请者,仅iOS支持, android不支持
type:,//群成员类型,0:普通群员,1:群拥有者,2:群管理员,3:申请加入用户
nickname:,//群昵称
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.fetchTeamMembers({
teamId : '64430396'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
quitTeam
用户退群
quitTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.quitTeam({
teamId : '64430396'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
kickUsers
踢出用户
kickUsers({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
users:
- 类型:数组
- 描述:(必填项)userId组成的数组
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.kickUsers({
teamId : '64430396',
users : ['1002']
},function(ret, err){
});
补充说明
被踢出的用户相关会话信息仍然会保留,但不再能接收关于此群的消息. 当前android只支持每次踢一个用户,故参数users对应的只能是一个用户id.
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
dismissTeam
解散群
dismissTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.dismissTeam({
teamId : '64430396'
},function(ret, err){
});
补充说明
群解散后,所有群用户关于此群会话会被保留,但是不能能够在此群会话里收发消息
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
updateNotifyStateForTeam
修改群消息通知状态 (关闭群消息提醒)
updateNotifyStateForTeam({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
teamMessageNotifyType:
- 类型:数字型
- 描述:(可选项)设置指定群消息通知类型(0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒)。
- 默认值: 0:全部消息提醒
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateNotifyStateForTeam({
teamId : '64430396',
teamMessageNotifyType : 0
},function(ret, err){
});
补充说明
群组通知是一种消息类型 ,用户在创建群或者进入群成功之后,任何关于群的变动,云信服务器都会下发一条群通知消息.群通知消息和其他消息一样,可从提供的消息查询接口中获取. DK 在收到群通知之后,会对本地缓存的群信息做出对应的修改,然后触发与修改相对应的委托事件回调. 群通知是接收型的消息,开发者不应该自己手动去创建和发送群通知消息. 群消息通知设置 SDK 提供了修改群消息通知的接口,上层可以通过设置这个选项以影响群消息的通知行为.当设置 teamMessageNotifyType 为 2 时,群内消息将不会有 APNS 通知.当然上层也可以使用这一属性来决定收到在线消息时的 APP 表现 (是否响铃等).
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onIMSystemMessageRecieved
内置系统通知监听
onIMSystemMessageRecieved(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
type:,//申请入群:0,拒绝入群:1,邀请入群:2,拒绝入群邀请:3,添加好友:5
timestamp:,//时间戳
sourceID:,//操作者
targetID:,//目标ID,群ID或者是用户ID
postscript:,//附言 , 仅iOS支持
read:,//是否已读
}
示例代码
var demo = api.require('nim');
demo.onIMSystemMessageRecieved(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
fetchSystemNotifications
获取本地存储的内置系统通知
fetchSystemNotifications({params}, callback(ret,err))
params
limit:
- 类型:数字型
- 描述:(可选项)最大获取数:默认10条。
- 默认值:10
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true,
notifications : [{
type:,//申请入群:0,拒绝入群:1,邀请入群:2,拒绝入群邀请:3,添加好友:5
timestamp:,//时间戳
sourceID:,//操作者
targetID:,//目标ID,群ID或者是用户ID
postscript:,//附言 , 仅iOS支持
read:,//是否已读
status://0:未处理状态
//1:已通过验证
//2:已拒绝
//3:已忽略
//4:已过期
//5:开发者可自定义的扩展类型1
//6:开发者可自定义的扩展类型2
//7:开发者可自定义的扩展类型3
//8:开发者可自定义的扩展类型4
//9:开发者可自定义的扩展类型5
}]
}
示例代码
var demo = api.require('nim');
demo.fetchSystemNotifications({
limit : 10
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
allNotificationsUnreadCount
获取本地存储的内置系统未读数
allNotificationsUnreadCount(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true,
count : 11
}
示例代码
var demo = api.require('nim');
demo.allNotificationsUnreadCount(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteAllNotifications
删除本地存储的全部内置系统通知
deleteAllNotifications(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true
}
示例代码
var demo = api.require('nim');
demo.deleteAllNotifications(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
markAllNotificationsAsRead
标记本地存储的全部内置系统通知为已读
markAllNotificationsAsRead(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.markAllNotificationsAsRead(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onUserInfoUpdate
用户个人信息发生变化监听
onUserInfoUpdate(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
nickName :,//用户昵称
avatarUrl :,//用户头像
sign:,//用户签名
gender:,//用户性别0:未知性别,1:男,2:女
email:,//邮箱
birth:,//生日
mobile:,//电话号码
ext:,//用户自定义扩展字段
account:,//用户账号
}
示例代码
var demo = api.require('nim');
demo.onUserInfoUpdate(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
userInfo
获取用户资料
userInfo({params}, callback(ret,err))
params
userId:
- 类型:字符串
- 描述:(必填项)//用户帐号。
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true,
userId :,//用户帐号
alias :,//备注名
notifyForNewMsg:,//是否需要消息提醒
isInMyBlackList:,//是否在黑名单中
userInfo : {
nickName :,//用户昵称
avatarUrl :,//用户头像
sign:,//用户签名
gender:,//用户性别0:未知性别,1:男,2:女
email:,//邮箱
birth:,//生日
ext : ,//扩展信息
mobile:,//电话号码
account :,//用户帐号
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.userInfo({
userId : '1001'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
fetchUserInfos
获取服务器用户资料
fetchUserInfos({params}, callback(ret,err))
params
userIds:
- 类型:数组
- 描述:(必填项)用户id列表。
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true,
message : [{
nickName :,//用户昵称
avatarUrl :,//用户头像
sign:,//用户签名
gender:,//用户性别0:未知性别,1:男,2:女
email:,//邮箱
birth:,//生日
ext : ,//扩展信息
mobile:,//电话号码
account :,//用户帐号
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.fetchUserInfos({
userId : '1001'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
updateMyUserInfo
更新当前用户信息
updateMyUserInfo({params}, callback(ret,err))
params
nickname:
- 类型:字符串
- 描述:(可选项)用户昵称。
avatar:
- 类型:字符串
- 描述:(可选项)用户头像 (仅支持http地址的头像地址,开发者自行验证控制)。
sign:
- 类型:字符串
- 描述:(可选项)用户签名。
gender:
- 类型:数字型
- 描述:(可选项)用户性别 0:未知 ,1:男 ,2:女。
- 默认值:1
email:
- 类型:字符串
- 描述:(可选项)只支持合法邮箱 (开发者自行验证控制)。
birth:
- 类型:字符串
- 描述:(可选项)用户生日yyyy-MM-dd (开发者自行验证控制)。
mobile:
- 类型:字符串
- 描述:(可选项)合法手机号 (开发者自行验证控制)。
ext:
- 类型:JSON对象
- 描述:(可选项)拓展字段。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateMyUserInfo({
nickname : '昵称',
avatar : '',
sign : '',
gender : 1,
email : '',
birth : '',
mobile : '',
ext : {
key : 'key1'
}
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
myFriends
获取好友列表
myFriends(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
users : [{
nickName :,//用户昵称
avatarUrl :,//用户头像
sign:,//用户签名
gender:,//用户性别0:未知性别,1:男,2:女
email:,//邮箱
birth:,//生日
ext : ,//扩展信息
mobile:,//电话号码
account :,//用户帐号
}]
}
示例代码
var demo = api.require('nim');
demo.myFriends(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
requestFriend
好友请求
requestFriend({params}, callback(ret,err))
params
userId:
- 类型:字符串
- 描述:(必填项)目标用户ID。
operation:
- 类型:数字型
- 描述:(可选项)1:添加好友(直接添加为好友,无需验证) 2:请求添加好友 3:通过添加好友请求 4:拒绝添加好友请求
- 默认值:1
message:
- 类型:字符串
- 描述:(可选项)自定义验证消息。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.requestFriend({
userId : '1002',
operation : 1,
message : ''
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteFriend
删除好友
deleteFriend({params}, callback(ret,err))
params
userId:
- 类型:字符串
- 描述:(必填项)目标用户ID。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.deleteFriend({
userId : '1002'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
myBlackList
获取黑名单成员列表
myBlackList(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true,
users : [{
nickName :,//用户昵称
avatarUrl :,//用户头像
sign:,//用户签名
gender:,//用户性别0:未知性别,1:男,2:女
email:,//邮箱
birth:,//生日
ext : ,//扩展信息
mobile:,//电话号码
account :,//用户帐号
}]
}
示例代码
var demo = api.require('nim');
demo.myBlackList(function(ret){
});
补充说明
云信中,黑名单和好友关系是互相独立的,即修改好友关系不会影响黑名单关系,同时,修改黑名单也不会对好友关系进行操作. 黑名单列表有本地缓存,缓存会在登录后与服务器自动进行同步更新.接口返回的是User列表
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addToBlackList
添加用户到黑名单
addToBlackList({params}, callback(ret,err))
params
userId:
- 类型:字符串
- 描述:(必填项)目标用户ID。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.addToBlackList({
userId : '1002'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeFromBlackBlackList
将用户移除黑名单
removeFromBlackBlackList({params}, callback(ret,err))
params
userId:
- 类型:字符串
- 描述:(必填项)目标用户ID。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.removeFromBlackBlackList({
userId : '1002'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isUserInBlackList
判断某用户是否在自己的黑名单中
isUserInBlackList({params}, callback(ret,err))
params
userId:
- 类型:字符串
- 描述:(必填项)目标用户ID。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.isUserInBlackList({
userId : '1002'
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
myMuteUserList
获取静音成员列表
myMuteUserList(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true,
users : [{
nickName :,//用户昵称
avatarUrl :,//用户头像
sign:,//用户签名
gender:,//用户性别0:未知性别,1:男,2:女
email:,//邮箱
birth:,//生日
ext : ,//扩展信息
mobile:,//电话号码
account :,//用户帐号
}]
}
示例代码
var demo = api.require('nim');
demo.myMuteUserList(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
updateNotifyStateForUser
设置消息提醒
updateNotifyStateForUser({params}, callback(ret,err))
params
userId:
- 类型:字符串
- 描述:(必填项)目标用户ID。
notify:
- 类型:布尔型
- 描述:(可选项)是否开启消息提醒。(提醒:true|不提醒:false)
- 默认值: true
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateNotifyStateForUser({
userId : '1002',
notify : true
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
notifyForNewMsgForUser
判断是否需要消息通知
notifyForNewMsgForUser({params}, callback(ret,err))
params
userId:
- 类型:字符串
- 描述:(可选项)目标用户ID。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.notifyForNewMsgForUser({
userId : '1002'
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onChatRoomStatusChanged
聊天室在线状态变化的监听
onChatRoomStatusChanged(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
roomId : '',//聊天室id
status : ,//聊天室在线状态:
//0 正在进入
//1 进入聊天室成功
//2 进入聊天室失败
//3 和聊天室失去链接
}
示例代码
var demo = api.require('nim');
demo.onChatRoomStatusChanged(function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onChatRoomKickOutEvent
被踢出聊天室的监听
onChatRoomKickOutEvent(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
roomId :,//聊天室id
code :,//被踢出事件代码:
//1 聊天室已经被解散
//2 被管理员踢出
//3 被其他端踢出
//4 当前连接状态异常
//5 被加黑了
}
示例代码
var demo = api.require('nim');
demo.onChatRoomKickOutEvent(function(ret,err){
});
补充说明
当用户被主播或者管理员踢出聊天室、聊天室被关闭(被解散),会收到通知. 注意:收到被踢出通知后,不需要再调用退出聊天室接口,SDK 会负责聊天室的退出工作.可以在踢出通知中做相关缓存的清理工作和界面操作.
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
enterChatRoom
用户加入聊天室
enterChatRoom({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
nickName:
- 类型:字符串
- 描述:(可选项)用户在聊天室中的呢称。
avatar:
- 类型:字符串
- 描述:(可选项)头像url。
extension:
- 类型:json对象
- 描述:(可选项)扩展字段,进入聊天室后展示用户信息的扩展字段,长度限制4K 。
notifyExtension:
- 类型:json对象
- 描述:(可选项)通知的扩展字段,进入聊天室通知消息扩展字段,长度限制1K(进入聊天室后,聊天室成员都会收到一条通知消息)。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.enterChatRoom({
roomId : '3002',
nickName : '小飞',
avatar : '',
extension : {key : 'key1'},
notifyExtension : {key : 'key2'},
},function(ret,err){
});
补充说明
创建聊天室必须服务端创建: 参考服务端API文档-聊天室
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
exitChatRoom
用户退出聊天室
exitChatRoom({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.exitChatRoom({
roomId : '3002'
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getChatRoomHistoryMsg
获取聊天室历史消息
getChatRoomHistoryMsg({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
startTime:
- 类型:Long型
- 描述:(可选项)起始时间(单位毫秒)。
- 默认值:0
startTime:
- 类型:数字型
- 描述:(可选项)消息条数。
- 默认值:10
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
message : [{
messageId:, //消息ID,唯一标识
messageType:, //消息类型,
//0 文本类型消息
//1 图片类型消息
//2 声音类型消息
//3 视频类型消息
//4 位置类型消息
//5 通知类型消息
//6 文件类型消息
//10 提醒类型消息
//100 自定义类型消息
from:, //消息来源
text:, //消息文本
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小(音频文件没有这个参数)
thumbPath://缩略图本地路径(图片)
duration:,//时长,毫秒为单位(音频,视频)
coverUrl:,//视频封面的远程路径(视频)
latitude:,//纬度(位置消息)
longitude:,//经度(位置消息)
title:,//标题(位置消息)
displayName:,//显示名称(文件,图片,视频)
ext : ,//扩展消息
eventType : ,//操作发起者ID
operator : ,//操作类型
targets : ,//被操作者ID列表
notificationType : ,//通知类型
attachment : ''//通知附加信息
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.getChatRoomHistoryMsg({
roomId : '3002',
startTime : 0,
limit : 10
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getChatRoomInfo
获取聊天室基本信息
getChatRoomInfo({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
message : {
roomId :, //聊天室id
name : , //聊天室名称
creator:,//创建者id
announcement:,//公告
onLineUserCount:,//当前在线人数
broadcastUrl:,//广播流url
extention:,//扩展属性
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.getChatRoomInfo({
roomId : '3002'
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getChatRoomMembers
获取聊天室成员
getChatRoomMembers({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
type:
- 类型:数字型
- 描述:(可选项)类别(0:聊天室在线的固定成员, 1: 聊天室临时成员, 2: 在线固定成员)。
- 默认值:0
time:
- 类型:Long型
- 描述:(可选项)起始时间(单位毫秒) iOS无效。
- 默认值:0
limit:
- 类型:数字型
- 描述:(可选项)条数, 最大100。
- 默认值:10
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
message : [{
userId: ,//用户id
avatar: ,//用户头像url
enterTime: ,//进入的时间
extention:,//进聊天室时提交的扩展字段
nick: ,//呢称
roomId: ,//聊天室id
updateTime: ,//更新时间
isInBlackList: ,//是否在黑名单中
isMuted: ,//是否被禁言
isOnline:,//是否在线
isValid:,//是否有效
memberType:,//成员类型, 游客: -2, 受限用户: -1, 普通用户:0, 创建者:1, 管理员: 2
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.getChatRoomMembers({
roomId : '3002',
type : 0,
time : 0,
limit : 10
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getChatRoomMembersByIds
批量获取指定成员在聊天室中的信息
getChatRoomMembersByIds({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
userIds:
- 类型:数组
- 描述:(必填项)用户id列表。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
message : [{
userId: ,//用户id
avatar: ,//用户头像url
enterTime: ,//进入的时间
extention:,//进聊天室时提交的扩展字段
nick: ,//呢称
roomId: ,//聊天室id
updateTime: ,//更新时间
isInBlackList: ,//是否在黑名单中
isMuted: ,//是否被禁言
isOnline:,//是否在线
isValid:,//是否有效
memberType:,//成员类型, 游客: -2, 受限用户: -1, 普通用户:0, 创建者:1, 管理员: 2
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.getChatRoomMembersByIds({
roomId : '3002',
userIds : ['1001','1002']
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addUserToBlackList
加入/移出黑名单
addUserToBlackList({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
userId:
- 类型:字符串
- 描述:(必填项)用户的帐号。
isAdd:
- 类型:布尔型
- 描述:(可选项) 将用户加入黑名单.
- 默认值:true
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.addUserToBlackList({
roomId : '3002',
userIds : '1001',
isAdd : true
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
muteUser
加入用户到禁言名单/取消某用户的禁言
muteUser({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
userId:
- 类型:字符串
- 描述:(必填项)用户的帐号。
isMute:
- 类型:布尔型
- 描述:(可选项)加入用户到禁言名单/取消某用户的禁言
- 默认值:true
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.muteUser({
roomId : '3002',
userIds : '1001',
isMute : true
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setAdmin
设置/取消管理员
setAdmin({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
userId:
- 类型:字符串
- 描述:(必填项)用户的帐号。
isAdmin:
- 类型:布尔型
- 描述:(可选项)将用户设置/取消管理员.
- 默认值:true
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.setAdmin({
roomId : '3002',
userIds : '1001',
isAdmin : true
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setNormal
设置/移除普通成员
setNormal({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
userId:
- 类型:字符串
- 描述:(必填项)用户的帐号。
isNormal:
- 类型:布尔型
- 描述:(可选项)将用户设置/移除普通成员.
- 默认值:true
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.setNormal({
roomId : '3002',
userIds : '1001',
isNormal : true
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
kickMemberFromChatRoom
从聊天室中移除某个用户
kickMemberFromChatRoom({params}, callback(ret,err))
params
roomId:
- 类型:字符串
- 描述:(必填项)聊天室Id。
userId:
- 类型:字符串
- 描述:(必填项)用户的帐号。
reason:
- 类型:字符串
- 描述:(可选项)原因。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.kickMemberFromChatRoom({
roomId : '3002',
userIds : '1001',
reason : '原因'
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startCall
主叫发起通话 (主叫方)
startCall({params}, callback(ret,err))
params
type:
- 类型:数字型
- 描述:(必填项)呼叫类型 1:音频 2:视频(如果是视频通话,请先执行initCallRemoteView接口,初始化视频界面)。
- 默认值:1:音频
callees:
- 类型:数组
- 描述:(必填项)用户的帐号(暂时仅支持传一个)。
serverRecord:
- 类型:布尔型
- 描述:(可选项)服务器录制音频/视频开关。
- 默认值:false
autoRotateRemoteVideo:
- 类型:布尔型
- 描述:(可选项)是否打开视频图像根据设备角度自动旋转。
- 默认值:true(开启)
ext:
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.startCall({
type : 1, // 呼叫类型 1:音频 2:视频
callees : ['10002'] //被叫帐号列表, 现在只支持传入一个被叫
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onCallReceive
被叫收到呼叫监听(被叫方)
onCallReceive(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
caller :'', //主叫帐号
callID : '', //call id
type : '', // 呼叫类型 1:音频 2:视频(如果是视频通话,请先执行initCallRemoteView接口,初始化视频界面)
extra : '' //扩展信息
}
示例代码
var demo = api.require('nim');
demo.onCallReceive( function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
responseCall
被叫响应呼叫(被叫方)
responseCall({params}, callback(ret,err))
params
callID:
- 类型:字符串
- 描述:(必填项)call id。
accept:
- 类型:布尔型
- 描述:(可选项)是否接听。
- 默认值:true
type:
- 类型:数字型
- 描述:(必填项)呼叫类型 1:音频 2:视频(如果是视频通话,请先执行initCallRemoteView接口,初始化视频界面)。
- 默认值:1:音频
serverRecord:
- 类型:布尔型
- 描述:(可选项)服务器录制音频/视频开关。
- 默认值:false
autoRotateRemoteVideo:
- 类型:布尔型
- 描述:(可选项)是否打开视频图像根据设备角度自动旋转。
- 默认值:true
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.responseCall({
callID : _callID, //call id
accept : true //是否接听
}, function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onCallResponse
主叫收到被叫响应监听(主叫方)
onCallResponse(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
callee :'', //被叫帐号
callID : '', //call id
accepted : '', // 是否接听
}
示例代码
var demo = api.require('nim');
demo.onCallResponse(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onCallResponsedByOther
这通呼入通话已经被该帐号其他端处理(在多端登录情况下)
onCallResponsedByOther(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
callID : '', //call id
accepted : '', // 是否接听
clientType : '' //被处理的客户端 仅Android有值
}
示例代码
var demo = api.require('nim');
demo.onCallResponsedByOther(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onCallCallEstablished
点对点通话建立成功监听
onCallCallEstablished(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true
}
示例代码
var demo = api.require('nim');
demo.onCallCallEstablished(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onCallCallDisconnected
通话异常断开监听
onCallCallDisconnected(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true
}
示例代码
var demo = api.require('nim');
demo.onCallCallDisconnected(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
callControl
被叫响应呼叫(被叫方)
callControl({params}, callback(ret,err))
params
callID:
- 类型:字符串
- 描述:(必填项)call id。
type:
- 类型:数字型
- 描述:(可选项)控制类型(1:开启了音频 2:关闭了音频 3:开启了视频 4:关闭了视频 5:切换到视频模式 6:同意切换到视频模式 7:拒绝切换到视频模式 8:切换到音频模式 9:占线 10:没有可用摄像头[仅ios有效] 11:应用切换到了后台[仅ios有效] 12:收到呼叫请求的反馈 13:开始录制 14:结束录制)。
- 默认值:1:开启了音频
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.callControl({
callID : _callID, //call id
type : 1
}, function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onCallControl
通话异常断开监听
onCallControl(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
callID : '', //call id
user : '', //对方帐号
control : '' //控制类型
}
示例代码
var demo = api.require('nim');
demo.onCallControl(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
callHangup
挂断通话
callHangup({params}, callback(ret,err))
params
callID:
- 类型:字符串
- 描述:(必填项)call id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.callHangup({
callID : _callID, //call id
}, function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onCallHangup
对方挂断电话监听
onCallHangup(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
callID : '', //call id
}
示例代码
var demo = api.require('nim');
demo.onCallHangup(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
currentCallID
获取正在进行中的网络通话call id
currentCallID(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
callID : '', //call id
}
示例代码
var demo = api.require('nim');
demo.currentCallID(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onCallNetStatus
当前通话网络状态监听
onCallNetStatus(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : '', //网络状态 0:网络非常好 1:网络好 2:网络弱 3:网络差 4:网络极差, 建议停止视频发送
user : '', //网络状态对应的用户;如果是自己,表示自己的发送网络状态
}
示例代码
var demo = api.require('nim');
demo.onCallNetStatus(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
initCallRemoteView
初始化视频通话界面(如果是视频通话,必须先执行该接口)
initCallRemoteView({params}, callback(ret))
params
remoteRect:
- 类型:JSON 对象
- 描述:(必填项)远程视频显示的位置及尺寸
- 内部字段:
{
x: 0, //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(必填项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 250 //(必填项)数字类型;模块的高度;默认值:所属的 Window 或 Frame 的高度
}
localRect:
- 类型:JSON 对象
- 描述:(必填项)本地视频显示的位置及尺寸
- 内部字段:
{
x: 0, //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 60, //(必填项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 100 //(必填项)数字类型;模块的高度;默认值:100
}
fixedOn:
- 类型:字符串
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed:
- 类型:布尔
- 描述:((可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true
}
示例代码
var demo = api.require('nim');
demo.initCallRemoteView({
remoteRect : {
x : 0,
y : 0,
w : api.frameWidth,
h : api.frameHeight/2
},
localRect : {
x : 0,
y : 0,
w : api.frameWidth/3,
h : api.frameHeight/3
},
fixedOn : api.frameName,
fixed : true
}, function(ret, err) {
alert("initCallRemoteView>>" + JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
removeCallRemoteView
移除视频通话界面
removeCallRemoteView(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true
}
示例代码
var demo = api.require('nim');
demo.removeCallRemoteView(function(ret, err) {
alert("initCallRemoteView>>" + JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setCallMute
设置网络通话静音模式
setCallMute({params}, callback(ret))
params
mute:
- 类型:字符串
- 描述:(可选项)是否开启静音。
- 默认值:false
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //开启静音是否成功 true:成功|false:失败
}
示例代码
var demo = api.require('nim');
demo.setCallMute({
mute : false
}, function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setCallSpeaker
设置网络通话扬声器模式
setCallSpeaker({params}, callback(ret))
params
useSpeaker:
- 类型:字符串
- 描述:(可选项)是否开启扬声器。
- 默认值:false
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //开启扬声器是否成功 true:成功|false:失败
}
示例代码
var demo = api.require('nim');
demo.setCallSpeaker({
useSpeaker : false
}, function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
switchCallCamera
切换网络通话摄像头
switchCallCamera(callback(ret))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //切换摄像头是否成功 true:成功|false:失败
}
示例代码
var demo = api.require('nim');
demo.switchCallCamera(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
switchCallCameraFlash
切换闪光灯开关
switchCallCameraFlash(callback(ret))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //是否开启闪光灯 true:成功|false:失败
}
示例代码
var demo = api.require('nim');
demo.switchCallCameraFlash(function(ret, err) {
alert(JSON.stringify(ret) + " " + JSON.stringify(err));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
sendMessageReceipt
发送已读回执
sendMessageReceipt({params}, callback(ret, err))
params
messageId:
- 类型:字符串
- 描述:(必填项)待撤回消息Id。
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。(仅iOS)
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。(仅iOS)
- 默认值: 0
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.sendMessageReceipt({
messageId : '12312312313',
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onIMRecvMessageReceipt
接受已读回执
onIMRecvMessageReceipt(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
timestamp: 0,
messageId : '',
sessionId : ''
}
示例代码
var demo = api.require('nim');
demo.onIMRecvMessageReceipt(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
markAllMessagesReadInSession
未读数清零
markAllMessagesReadInSession({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.markAllMessagesReadInSession({
sessionId : '1002',
sessionType : 0,
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
updateTeamAvatar
修改群头像
updateTeamAvatar({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
avatarUrl:
- 类型:字符串
- 描述:(必填项)群头像.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateTeamAvatar({
teamId : '64430396',
teamName : '群组头像'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
updateUserNick
更新成员群昵称
updateUserNick({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
userId:
- 类型:字符串
- 描述:(必填项)群成员ID.
newNick:
- 类型:字符串
- 描述:(必填项)新的群成员昵称.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateUserNick({
teamId : '64430396',
userId : '1231313',
newNick : '昵称'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
updateMyTeamNick
修改自己的群昵称
updateMyTeamNick({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
newNick:
- 类型:字符串
- 描述:(必填项)新的群成员昵称.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateMyTeamNick({
teamId : '64430396',
newNick : '昵称'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
updateTeamCustomInfo
更新群自定义信息
updateTeamCustomInfo({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
clientCustomInfo:
- 类型:字符串
- 描述:(可选项)自定义信息.
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateTeamCustomInfo({
teamId : '64430396',
clientCustomInfo : '我自定义内容'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
updateMuteStateByUserId
群成员禁言
updateMuteStateByUserId({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
userId:
- 类型:字符串
- 描述:(必填项)群成员Id.
mute:
- 类型:布尔型
- 描述:(可选项)是否禁言.
- 默认值:false
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateMuteStateByUserId({
teamId : '64430396',
userId : '123123',
mute : true
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
updateMuteStateByAll
禁言群全体成员
updateMuteStateByAll({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
mute:
- 类型:布尔型
- 描述:(可选项)是否禁言.
- 默认值:false
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateMuteStateByAll({
teamId : '64430396',
mute : true
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
queryTeamMemberByUserId
查询群成员资料
queryTeamMemberByUserId({params}, callback(ret,err))
params
teamId:
- 类型:字符串
- 描述:(必填项)群Id。
userId:
- 类型:字符串
- 描述:(必填项)群成员Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
message : {
teamId : ,//群ID
userId:,//群成员ID
invitor:,//邀请者,仅iOS支持, android不支持
type:,//群成员类型,0:普通群员,1:群拥有者,2:群管理员,3:申请加入用户
nickname:,//群昵称
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.queryTeamMemberByUserId({
teamId : '64430396',
userId : '123123'
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
setSystemMessageStatus
设置系统通知状态(iOS不一定生效,暂时不清楚iOS接口方法)
setSystemMessageStatus({params}, callback(ret,err))
params
messageId:
- 类型:字符串
- 描述:(必填项)系统消息Id。
messageStatus:
- 类型:字符串
- 描述:(必填项)消息状态(0:未处理状态 1:已通过验证 2:已拒绝 3:已忽略 4:已过期 5:开发者可自定义的扩展类型1 6:开发者可自定义的扩展类型2 7:开发者可自定义的扩展类型3 8:开发者可自定义的扩展类型4 9:开发者可自定义的扩展类型5)。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.setSystemMessageStatus({
messageId : '1231231231',
messageStatus : 1
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
deleteSystemMessage
删除一条系统通知
deleteSystemMessage({params}, callback(ret,err))
params
messageId:
- 类型:字符串
- 描述:(必填项)系统消息Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.deleteSystemMessage({
messageId : '1231231231',
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
setSystemMessageRead
设置单条系统通知为已读
setSystemMessageRead({params}, callback(ret,err))
params
messageId:
- 类型:字符串
- 描述:(必填项)系统消息Id。
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.setSystemMessageRead({
messageId : '1231231231',
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
revokeMessage
消息撤回
revokeMessage({params}, callback(ret,err))
params
messageId:
- 类型:字符串
- 描述:(必填项)待撤回消息Id。
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。(仅iOS)
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。(仅iOS)
- 默认值: 0
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.revokeMessage({
messageId : '1231231231',
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
onIMRecvRevokeMessageNotification
监听消息撤回
onIMRecvRevokeMessageNotification(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
message : {},//撤回消息内容
fromUserId : '',//撤回消息发起者
postscript : ''//撤回的附言
}
示例代码
var demo = api.require('nim');
demo.onIMRecvRevokeMessageNotification(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
onIMLogin
登录状态监听
onIMLogin(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
step : '',
//iOS:
//1:连接服务器
//2: 连接服务器成功
//3:连接服务器失败
//4:登录
//5:登录成功
//6:登录失败
//7:开始同步
//8:同步完成
//9:连接断开
//10:网络切换
//android:
//0:未定义
//1:未登录/登录失败
//2:网络连接已断开
//3:正在连接服务器
//4:正在登录中
//5:正在同步数据
//6:已成功登录
//7:被其他端的登录踢掉
//8:被同时在线的其他端主动踢掉
//9:被服务器禁止登录
//10:客户端版本错误
//11:用户名或密码错误
}
示例代码
var demo = api.require('nim');
demo.onIMLogin(function(ret){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
isLogined
是否登录状态(同步接口)
isLogined()
ret:
- 类型:布尔型 true | false
示例代码
var demo = api.require('nim');
var ret = demo.isLogined();
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
isMyFriend
是否登录状态(同步接口)
isMyFriend({params})
params
account:
- 类型:字符串
- 描述:(必填项)待判断用户账号。
ret:
- 类型:布尔型 true | false
示例代码
var demo = api.require('nim');
var ret = demo.isMyFriend({account:'123123'});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
isMyTeam
是否在此群组(同步接口)
isMyTeam({params})
params
teamId:
- 类型:字符串
- 描述:(必填项)待判断群号。
ret:
- 类型:布尔型 true | false
示例代码
var demo = api.require('nim');
var ret = demo.isMyTeam({teamId:'123123'});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
deleteRecentSession
最近会话的删除
deleteRecentSession({params}, callback(ret,err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.deleteRecentSession({
sessionId : '1231231231',
sessionType : 0
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
downloadAttachment
手动下载附件
downloadAttachment({params}, callback(ret,err))
params
messageId:
- 类型:字符串
- 描述:(必填项)待下载附件的消息Id。
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。(仅iOS)
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。(仅iOS)
- 默认值: 0
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
evenType : 'Start' // Start Progress Complete
message : {},
progress : 0.1,
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.downloadAttachment({
messageId : '1231231231',
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
abortDownloadAttachment
停止附件下载
abortDownloadAttachment(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
}
示例代码
var demo = api.require('nim');
demo.abortDownloadAttachment();
可用性
iOS系统,Android系统
可提供的1.1.5及更高版本
enablePushService
开启或者关闭推送
enablePushService({params}, callback(ret,err))
params
enable:
- 类型:布尔型
- 描述:(必填项)开启或者关闭。
- 默认值:true
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status : true, //布尔型 true|false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.enablePushService({
enable : true
},function(ret, err){
});
可用性
Android系统
可提供的1.1.5及更高版本
sendTips
发送提示消息
sendTips({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
content
- 类型:字符串
- 描述:(必填项)提示消息内容。
ext:
- 类型:JSON对象
- 描述:(可选项)自定义扩展字段
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
message : {
messageId:, //消息ID,唯一标识
messageType:, //消息类型, 0 文本类型消息
from:, //消息来源
text:, //消息文本
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
ext : //扩展消息
}
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.sendTips({
sessionId : '1002',
sessionType : 0,
content : '我是提示消息测试',
ext : {
key : 'key1'
}
}, function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
queryMessageHistory
查询本地消息历史
queryMessageHistory({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
limit
- 类型:字符串
- 描述:检索条数, 最大限制100条
- 默认值: 100
messageId
- 类型:字符串型
- 描述:(可选项)消息记录ID
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
messages : [{
messageId:, //消息ID,唯一标识
messageType:, //消息类型,
//0 文本类型消息
//1 图片类型消息
//2 声音类型消息
//3 视频类型消息
//4 位置类型消息
//5 通知类型消息
//6 文件类型消息
//10 提醒类型消息
//100 自定义类型消息
from:, //消息来源
text:, //消息文本
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小(音频文件没有这个参数)
thumbPath://缩略图本地路径(图片)
duration:,//时长,毫秒为单位(音频,视频)
coverUrl:,//视频封面的远程路径(视频)
latitude:,//纬度(位置消息)
longitude:,//经度(位置消息)
title:,//标题(位置消息)
displayName:,//显示名称(文件,图片,视频)
ext : //扩展消息
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.queryMessageHistory({
sessionId : '1002',
sessionType : 0,
limit : 100,
messageId : ''
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
queryMessageHistoryByTyps
查询本地消息历史
queryMessageHistoryByTyps({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
limit
- 类型:字符串
- 描述:检索条数, 最大限制100条
- 默认值: 100
messageId
- 类型:字符串型
- 描述:(可选项)消息记录ID
types
- 类型:数组型
- 描述:(可选项)消息类型数组(0:文本类型消息 1:图片类型消息 2:声音类型消息 3:视频类型消息 4:位置类型消息 5:通知类型消息 6:文件类型消息 10: 提醒类型消息)
- 默认值:全部
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
messages : [{
messageId:, //消息ID,唯一标识
messageType:, //消息类型,
//0 文本类型消息
//1 图片类型消息
//2 声音类型消息
//3 视频类型消息
//4 位置类型消息
//5 通知类型消息
//6 文件类型消息
//10 提醒类型消息
//100 自定义类型消息
from:, //消息来源
text:, //消息文本
timestamp:, //消息发送时间
sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
path:,//本地路径
url:,//远程路径
fileLength:,//文件大小(音频文件没有这个参数)
thumbPath://缩略图本地路径(图片)
duration:,//时长,毫秒为单位(音频,视频)
coverUrl:,//视频封面的远程路径(视频)
latitude:,//纬度(位置消息)
longitude:,//经度(位置消息)
title:,//标题(位置消息)
displayName:,//显示名称(文件,图片,视频)
ext : //扩展消息
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.queryMessageHistoryByTyps({
sessionId : '1002',
sessionType : 0,
limit : 100,
messageId : '',
types : [0,1,2,3]
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearChattingHistory
删除与某个对象的全部消息记录
clearChattingHistory({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.clearChattingHistory({
sessionId : '1002',
sessionType : 0,
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本