nim
来自于:开发者立即使用
即时通讯
音视频
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
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" />
<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="hwAppId" value="100006871"/>
<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可用)
华为推送集成配置 华为推送需要下载agconnect-services.json放到和config.xml同级目录下面
第三方厂商推送 各个第三方厂商配套插件自定义插件 第三方厂商配套插件下载 。
模块错误代码含义参考表
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 | 本地操作异常 |
模块接口
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及更高版本
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及更高版本
updateFriendFields
更新好友关系
updateFriendFields({params}, callback(ret, err))
params
userId:
- 类型:字符串
- 描述:(必填项)好友的userid。
alias
- 类型:字符串
- 描述:(可选项)备注内容
ext
- 类型:字符串
- 描述:(可选项)扩展
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.updateFriendFields({
......
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearServerHistory
清空点对点会话的服务端的消息。不会删除本地的消息记录(暂不支持群聊)
clearServerHistory({params}, callback(ret, err))
params
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。
- 默认值: 0
removeRoam
- 类型:布尔型
- 描述:(可选项)是否一起删除漫游。
- 默认值: true
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.clearServerHistory({
sessionId : '1002',
sessionType : 0,
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteMsgSelf
删除本地某条消息,并同时删除服务端历史、漫游
deleteMsgSelf({params}, callback(ret, err))
params
messageId:
- 类型:字符串
- 描述:(必填项)待删除消息Id。
sessionId:
- 类型:字符串
- 描述:(必填项)单聊时聊天人的userid, 群聊时groupid, 聊天室的id。(仅iOS)
sessionType
- 类型:数字型
- 描述:(必填项)0-单聊,1-群聊, 2- 聊天室。(仅iOS)
- 默认值: 0
ext
- 类型:字符串
- 描述:(可选项)扩展字段
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.deleteMsgSelf({
messageId : '12312312313',
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addRtcEventListener
音视频事件监听
addRtcEventListener(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
evenType : 'onJoinChannel',//音视频事件
//onJoinChannel
//onLeaveChannel
//onUserJoined
//onUserLeave
//onUserAudioStart
//onUserAudioStop
//onUserVideoStart
//onUserVideoStop
//onDisconnect
//onClientRoleChange
result : '',
channelId : '',
elapsed : '',
uid : '',
oldRole : '',
newRole : ''
}
示例代码
var demo = api.require('nim');
demo.addRtcEventListener(function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addLocalVideo
设置本地视频预览
addLocalVideo({params}, callback(ret, err))
params
rect:
- 类型:JSON 对象
- 默认值:见内部字段
- 描述:(可选项)浏览器窗口的位置和大小,设置margin后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。建议使用margin布局,可以完美适配带smartBar的手机。(注意:当fixed设置false时,margin界面布局会异常)
- 内部字段:
{
x:0, //左上角x坐标,默认0
y:0, //左上角y坐标,默认0
w:320, //宽度,默认'auto',页面从x位置开始自动充满父页面宽度
h:480 //高度,默认'auto',页面从y位置开始自动充满父页面高度
marginLeft:0, //相对父页面左外边距的距离,默认0
marginTop:0, //相对父页面上外边距的距离,默认0
marginBottom:0, //相对父页面下外边距的距离,默认0
marginRight:0 //相对父页面右外边距的距离,默认0
}
fixedOn:
- 类型:字符串型
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed:
- 类型:布尔型
- 描述:(可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
mirror:
- 类型:布尔型
- 描述:(必填项)是否镜像(仅安卓有效)。
- 默认值:false
scalingType:
- 类型:数字型
- 描述:(必填项)渲染模式:(0:SCALE_ASPECT_FIT 1:SCALE_ASPECT_FILL 2:SCALE_ASPECT_BALANCED)。
mirrorMode:
- 类型:数字型
- 描述:(必填项)镜像模式(仅iOS有效):(0:MirrorModeAuto 1:MirrorModeEnabled 2:MirrorModeDisabled)。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
demo.addLocalVideo({
.....
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
delLocalVideo
删除本地视频预览
delLocalVideo(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
demo.delLocalVideo({
.....
},function(ret, err){
});
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setLocalViewParam
设置本地视频预览参数
setLocalViewParam({params})
params
mirror:
- 类型:布尔型
- 描述:(必填项)是否镜像(仅安卓有效)。
- 默认值:false
scalingType:
- 类型:数字型
- 描述:(必填项)渲染模式:(0:SCALE_ASPECT_FIT 1:SCALE_ASPECT_FILL 2:SCALE_ASPECT_BALANCED)。
mirrorMode:
- 类型:数字型
- 描述:(必填项)镜像模式(仅iOS有效):(0:MirrorModeAuto 1:MirrorModeEnabled 2:MirrorModeDisabled)。
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.setLocalViewParam({
.....
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
joinChannel
加入音视频房间
joinChannel({params}, callback(ret, err))
params
token:
- 类型:字符串型
- 描述:(必填项)token
channelName:
- 类型:字符串型
- 描述:(必填项)channelName
uid:
- 类型:Long型
- 描述:(必填项)uid
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode: -1,
errorMessage : ''
}
示例代码
var demo = api.require('nim');
demo.joinChannel({
.....
},function(ret, err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addRemoteVideo
设置远程视频预览
addRemoteVideo({params}, callback(ret, err))
params
rect:
- 类型:JSON 对象
- 默认值:见内部字段
- 描述:(可选项)浏览器窗口的位置和大小,设置margin后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。建议使用margin布局,可以完美适配带smartBar的手机。(注意:当fixed设置false时,margin界面布局会异常)
- 内部字段:
{
x:0, //左上角x坐标,默认0
y:0, //左上角y坐标,默认0
w:320, //宽度,默认'auto',页面从x位置开始自动充满父页面宽度
h:480 //高度,默认'auto',页面从y位置开始自动充满父页面高度
marginLeft:0, //相对父页面左外边距的距离,默认0
marginTop:0, //相对父页面上外边距的距离,默认0
marginBottom:0, //相对父页面下外边距的距离,默认0
marginRight:0 //相对父页面右外边距的距离,默认0
}
fixedOn:
- 类型:字符串型
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed:
- 类型:布尔型
- 描述:(可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
uid:
- 类型:Long型
- 描述:(必填项)uid
mirror:
- 类型:布尔型
- 描述:(必填项)是否镜像(仅安卓有效)。
- 默认值:false
scalingType:
- 类型:数字型
- 描述:(必填项)渲染模式:(0:SCALE_ASPECT_FIT 1:SCALE_ASPECT_FILL 2:SCALE_ASPECT_BALANCED)。
mirrorMode:
- 类型:数字型
- 描述:(必填项)镜像模式(仅iOS有效):(0:MirrorModeAuto 1:MirrorModeEnabled 2:MirrorModeDisabled)。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
demo.addRemoteVideo({
.....
},function(ret, err){
});
可用性
iOS系统,Android系统
delRemoteVideo
移除远端视频预览
delRemoteVideo({params}, callback(ret, err))
params
uid:
- 类型:Long型
- 描述:(必填项)uid
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
demo.delRemoteVideo({
.....
},function(ret, err){
});
可用性
iOS系统,Android系统
setRemoteViewParam
设置远端视频预览参数
setRemoteViewParam({params})
params
uid:
- 类型:Long型
- 描述:(必填项)uid
mirror:
- 类型:布尔型
- 描述:(必填项)是否镜像(仅安卓有效)。
- 默认值:false
scalingType:
- 类型:数字型
- 描述:(必填项)渲染模式:(0:SCALE_ASPECT_FIT 1:SCALE_ASPECT_FILL 2:SCALE_ASPECT_BALANCED)。
mirrorMode:
- 类型:数字型
- 描述:(必填项)镜像模式(仅iOS有效):(0:MirrorModeAuto 1:MirrorModeEnabled 2:MirrorModeDisabled)。
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.setRemoteViewParam({
.....
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
subscribeRemoteVideoStream
订阅或取消订阅指定远端用户的视频流。
subscribeRemoteVideoStream({params})
params
uid:
- 类型:Long型
- 描述:(必填项)uid
subscribe:
- 类型:布尔型
- 描述:(必填项)是否订阅。
streamType:
- 类型:数字型
- 描述:(必填项)模式:(0:High 1:Low )。
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.subscribeRemoteVideoStream({
.....
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
leaveChannel
离开房间,即挂断或退出通话。
leaveChannel()
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.leaveChannel();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
switchCamera
切换前置/后置摄像头。
switchCamera()
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.switchCamera();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
muteLocalVideoStream
取消或恢复发布本地视频流。 成功调用该方法后,远端会触发 onUserVideoMute 回调。
muteLocalVideoStream({params})
params
muted:
- 类型:布尔型
- 描述:(必填项)muted
- 默认值:false
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.muteLocalVideoStream({...});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
muteLocalAudioStream
开关本地音频发送。该方法用于允许或禁止上行本地音频流。
muteLocalAudioStream({params})
params
muted:
- 类型:布尔型
- 描述:(必填项)muted
- 默认值:false
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.muteLocalAudioStream({...});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
subscribeRemoteAudioStream
取消或恢复订阅指定远端用户音频流。加入房间时,默认订阅所有远端用户的音频流,您可以通过此方法取消或恢复订阅指定远端用户的音频流。
subscribeRemoteAudioStream({params})
params
uid:
- 类型:Long型
- 描述:(必填项)uid
subscribe:
- 类型:布尔型
- 描述:(必填项)是否订阅。
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.subscribeRemoteAudioStream({...});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
subscribeAllRemoteAudioStreams
取消或恢复订阅所有远端用户音频流。
subscribeAllRemoteAudioStreams({params})
params
subscribe:
- 类型:布尔型
- 描述:(必填项)是否订阅。
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.subscribeAllRemoteAudioStreams({...});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
enableLocalAudio
开启/关闭本地音频采集。
enableLocalAudio({params})
params
enabled:
- 类型:布尔型
- 描述:(必填项)是否开起本地音频采集。
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.enableLocalAudio({...});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
enableLocalVideo
是否开启本地视频采集。
enableLocalVideo({params})
params
enabled:
- 类型:布尔型
- 描述:(必填项)是否开起本地视频采集。
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
var demo = api.require('nim');
var ret = demo.enableLocalVideo({...});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本