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
  • 配置示例:
  1. <meta-data name="com.vivo.push.api_key" value="18374205-eb53-428c-bad2-7a75712f6487" />
  2. <meta-data name="com.vivo.push.app_id" value="11425" />
  3. <meta-data name="com.huawei.hms.client.appid" value="100006871" />
  4. <feature name="nim">
  5. <param name="AppKey" value=""/>
  6. <param name="ApnsCername" value=""/>
  7. <param name="PkCername" value=""/>
  8. <param name="xmAppId" value=""/>
  9. <param name="xmAppKey" value=""/>
  10. <param name="xmCertificateName" value=""/>
  11. <param name="hwCertificateName" value=""/>
  12. <param name="mzAppId" value=""/>
  13. <param name="mzAppKey" value=""/>
  14. <param name="mzCertificateName" value=""/>
  15. <param name="vivoCertificateName" value=""/>
  16. <param name="oppoAppId" value=""/>
  17. <param name="oppoAppKey" value=""/>
  18. <param name="oppoAppSercet" value=""/>
  19. <param name="oppoCertificateName" value=""/>
  20. </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图片异常
4url异常
5读取/写入文件异常
6无效的token
7HTTP请求失败
16用户信息缺失 (未登录 或 未提供用户资料)
14SQL语句执行失败
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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. userId : '' //用户id
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.login({
  3. userId : '1001',
  4. password : '1qaz2wsx'
  5. },function(ret, err) {
  6. });

补充说明

账号创建请参考:网易云通信Server Http API接口文档

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

logout

退出

logout(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.logout(function(ret, err){
  3. });

补充说明

iOS登录为异步回调,退出失败会返回信息。安卓没有异步回调,操作接口就返回成功。

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onKick

被踢的监听

onKick(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code : 1 //数字类型;
  3. //1 被另外一个客户端踢下线 (互斥客户端一端登录挤掉上一个登录中的客户端)
  4. //2 被服务器踢下线, 仅iOS支持
  5. //3 被另外一个客户端手动选择踢下线
  6. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onKick(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

willSendIMMessage

即将发送消息监听

willSendIMMessage(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. messageId : ,// 消息ID,唯一标识
  3. messageType : ,//消息类型:
  4. //0 文本类型消息
  5. //1 图片类型消息
  6. //2 声音类型消息
  7. //3 视频类型消息
  8. //4 位置类型消息
  9. //5 通知类型消息
  10. //6 文件类型消息
  11. //10 提醒类型消息
  12. //100 自定义类型消息
  13. sessionId : ,// 会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  14. sessionType :, //0-单聊,1-群聊, 2- 聊天室
  15. content : //发送文本内容
  16. }

示例代码

  1. var demo = api.require('nim');
  2. demo.willSendIMMessage(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onSendMessageWithProgress

消息发送进度监听

onSendMessageWithProgress(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. progress : 0.51222,
  3. messageId : '123123123adsfad'
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onSendMessageWithProgress(function(ret){
  3. });

补充说明

文本消息,地理位置消息会没有这个监听

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onRecvIMMessages

收到新消息监听

onRecvIMMessages(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. messages: [{
  3. messageId:, //消息ID,唯一标识
  4. messageType:, //消息类型,
  5. //0 文本类型消息
  6. //1 图片类型消息
  7. //2 声音类型消息
  8. //3 视频类型消息
  9. //4 位置类型消息
  10. //5 通知类型消息
  11. //6 文件类型消息
  12. //10 提醒类型消息
  13. //100 自定义类型消息
  14. from:, //消息来源
  15. text:, //消息文本
  16. timestamp:, //消息发送时间
  17. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  18. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  19. path:,//本地路径
  20. url:,//远程路径
  21. fileLength:,//文件大小(音频文件没有这个参数)
  22. thumbPath://缩略图本地路径(图片)
  23. duration:,//时长,毫秒为单位(音频,视频)
  24. coverUrl:,//视频封面的远程路径(视频)
  25. latitude:,//纬度(位置消息)
  26. longitude:,//经度(位置消息)
  27. title:,//标题(位置消息)
  28. displayName:,//显示名称(文件,图片,视频)
  29. }]
  30. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onRecvIMMessages(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

allRecentSession

获取最近会话

allRecentSession(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. messages:[{
  4. sessionType: 0, //0-单聊,1-群聊, 2- 聊天室
  5. unreadCount : 11, //未读消息数
  6. lastMessage : {
  7. messageId:, //消息ID,唯一标识
  8. messageType:, //消息类型,
  9. //0 文本类型消息
  10. //1 图片类型消息
  11. //2 声音类型消息
  12. //3 视频类型消息
  13. //4 位置类型消息
  14. //5 通知类型消息
  15. //6 文件类型消息
  16. //10 提醒类型消息
  17. //100 自定义类型消息
  18. from:, //消息来源
  19. text:, //消息文本
  20. timestamp:, //消息发送时间
  21. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  22. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  23. path:,//本地路径
  24. url:,//远程路径
  25. fileLength:,//文件大小(音频文件没有这个参数)
  26. thumbPath://缩略图本地路径(图片)
  27. duration:,//时长,毫秒为单位(音频,视频)
  28. coverUrl:,//视频封面的远程路径(视频)
  29. latitude:,//纬度(位置消息)
  30. longitude:,//经度(位置消息)
  31. title:,//标题(位置消息)
  32. displayName:,//显示名称(文件,图片,视频)
  33. }
  34. }]
  35. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : '无最近会话消息'
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.allRecentSession(function(ret, err){
  3. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. messages : [{
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型,
  6. //0 文本类型消息
  7. //1 图片类型消息
  8. //2 声音类型消息
  9. //3 视频类型消息
  10. //4 位置类型消息
  11. //5 通知类型消息
  12. //6 文件类型消息
  13. //10 提醒类型消息
  14. //100 自定义类型消息
  15. from:, //消息来源
  16. text:, //消息文本
  17. timestamp:, //消息发送时间
  18. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  19. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  20. path:,//本地路径
  21. url:,//远程路径
  22. fileLength:,//文件大小(音频文件没有这个参数)
  23. thumbPath://缩略图本地路径(图片)
  24. duration:,//时长,毫秒为单位(音频,视频)
  25. coverUrl:,//视频封面的远程路径(视频)
  26. latitude:,//纬度(位置消息)
  27. longitude:,//经度(位置消息)
  28. title:,//标题(位置消息)
  29. displayName:,//显示名称(文件,图片,视频)
  30. ext : //扩展消息
  31. }]
  32. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.fetchMessageHistory({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. limit : 100,
  6. sync : false,
  7. startTime : 0
  8. },function(ret, err){
  9. });

补充说明

安卓在未登录情况下无返回值。

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. message : {
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型, 0 文本类型消息
  6. from:, //消息来源
  7. text:, //消息文本
  8. timestamp:, //消息发送时间
  9. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  10. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  11. ext : //扩展消息
  12. }
  13. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.sendText({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. content : '我是文本测试',
  6. ext : {
  7. key : 'key1'
  8. }
  9. }, function(ret, err){
  10. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. message : {
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型, 1 图片类型消息
  6. from:, //消息来源
  7. timestamp:, //消息发送时间
  8. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  9. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  10. path:,//本地路径
  11. url:,//远程路径
  12. fileLength:,//文件大小(音频文件没有这个参数)
  13. thumbPath://缩略图本地路径(图片)
  14. ext : //扩展消息
  15. }
  16. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.sendImage({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. filePath : 'widget://image/refresh.png',
  6. displayName : '我是图片',
  7. ext : {
  8. key : 'key1'
  9. }
  10. }, function(ret, err){
  11. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. message : {
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型, 4 位置类型消息
  6. from:, //消息来源
  7. timestamp:, //消息发送时间
  8. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  9. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  10. latitude:,//纬度(位置消息)
  11. longitude:,//经度(位置消息)
  12. title:,//标题(位置消息)
  13. ext : //扩展消息
  14. }
  15. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.sendLocationMsg({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. title : '我是地理位置',
  6. latitude : 102,
  7. longitude : 39,
  8. ext : {
  9. key : 'key1'
  10. }
  11. }, function(ret, err){
  12. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. message : {
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型, //2 声音类型消息
  6. from:, //消息来源
  7. timestamp:, //消息发送时间
  8. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  9. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  10. path:,//本地路径
  11. url:,//远程路径
  12. fileLength:,//文件大小
  13. duration:,//时长,毫秒为单位(音频,视频)
  14. ext : //扩展消息
  15. }
  16. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.sendAudio({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. filePath : 'widget://res/bandari.mp3',
  6. ext : {
  7. key : 'key1'
  8. }
  9. }, function(ret, err){
  10. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. message : {
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型,3 视频类型消息
  6. from:, //消息来源
  7. timestamp:, //消息发送时间
  8. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  9. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  10. path:,//本地路径
  11. url:,//远程路径
  12. fileLength:,//文件大小(音频文件没有这个参数)
  13. duration:,//时长,毫秒为单位(音频,视频)
  14. coverUrl:,//视频封面的远程路径(视频)
  15. displayName:,//显示名称(文件,图片,视频)
  16. ext : //扩展消息
  17. }
  18. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.sendVideo({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. filePath : 'widget://res/demo.mp4',
  6. displayName : '我是测试视频',
  7. ext : {
  8. key : 'key1'
  9. }
  10. }, function(ret, err){
  11. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. message : {
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型, 6 文件类型消息
  6. from:, //消息来源
  7. timestamp:, //消息发送时间
  8. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  9. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  10. path:,//本地路径
  11. url:,//远程路径
  12. fileLength:,//文件大小(音频文件没有这个参数)
  13. displayName:,//显示名称(文件,图片,视频)
  14. ext : //扩展消息
  15. }
  16. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.sendFile({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. filePath : 'widget://res/demo.mp4',
  6. displayName : '我是测试视频',
  7. ext : {
  8. key : 'key1'
  9. }
  10. }, function(ret, err){
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchAudioOutputDevice

切换音频的输出设备

switchAudioOutputDevice({params}, callback(ret))

params

outputDevice

  • 类型:数字型
  • 描述:(必填项)0:听筒,1:扬声器。
  • 默认值: 0

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.switchAudioOutputDevice({
  3. outputDevice : 1
  4. }, function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isPlaying

判断是否正在播放音频

isPlaying(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.isPlaying(function(ret, err){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

playAudio

播放音频

playAudio({params}, callback(ret, err))

params

filePath:

  • 类型:字符串
  • 描述:(必填项)语音文件路径(支持fs:// widget://)。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. evenType : 'start' //start:开始播放|end:播放结束
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.playAudio({
  3. filePath : 'widget://res/demo.mp3',
  4. }, function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopPlay

停止播放音频

stopPlay(callback(ret,err))

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.stopPlay(function(ret, err){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isRecording

判断是否正在录制音频

isRecording(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.isRecording(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

recordAudioForDuration

录音

recordAudioForDuration({params}, callback(ret,err))

params

duration:

  • 类型:数字型
  • 描述:(必填项)最长录音时长(秒)。
  • 默认值: 30

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. evenType : 'start', //start:开始录音|success:录音完成|cancel:取消录音
  4. filePath : ''
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.recordAudioForDuration({
  3. duration : 30
  4. }, function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelRecord

取消录音

cancelRecord(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.cancelRecord(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopRecord

停止录制音频

stopRecord(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.stopRecord(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onIMTeamRemoved

群组移除监听

onIMTeamRemoved(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. teamId:,//群ID
  3. teamName:,//群名称
  4. type:,//群类型
  5. owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
  6. avatarUrl:,//群头像
  7. intro:,//群介绍
  8. announcement:,//群公告
  9. memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
  10. level:,//群等级,目前群人数主要是限制群人数上限
  11. createTime:,//群创建时间
  12. joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
  13. notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
  14. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onIMTeamRemoved(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onIMTeamUpdated

群组更新监听

onIMTeamUpdated(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. teamId:,//群ID
  3. teamName:,//群名称
  4. type:,//群类型
  5. owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
  6. avatarUrl:,//群头像
  7. intro:,//群介绍
  8. announcement:,//群公告
  9. memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
  10. level:,//群等级,目前群人数主要是限制群人数上限
  11. createTime:,//群创建时间
  12. joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
  13. notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
  14. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onIMTeamUpdated(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onBlackListChanged

黑名单列表发生变化监听

onBlackListChanged(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onBlackListChanged(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

allMyTeams

获取我的所有群组

allMyTeams(callback(ret,err))

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. teams:[{
  4. teamId:,//群ID
  5. teamName:,//群名称
  6. type:,//群类型
  7. owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
  8. avatarUrl:,//群头像
  9. intro:,//群介绍
  10. announcement:,//群公告
  11. memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
  12. level:,//群等级,目前群人数主要是限制群人数上限
  13. createTime:,//群创建时间
  14. joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
  15. notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
  16. }]
  17. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.allMyTeams(function(ret, err){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

teamById

本地获取群组信息

teamById({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群组Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. message:[{
  4. teamId:,//群ID
  5. teamName:,//群名称
  6. type:,//群类型
  7. owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
  8. avatarUrl:,//群头像
  9. intro:,//群介绍
  10. announcement:,//群公告
  11. memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
  12. level:,//群等级,目前群人数主要是限制群人数上限
  13. createTime:,//群创建时间
  14. joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
  15. notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
  16. }]
  17. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.teamById({
  3. teamId : '64430396'
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

fetchTeamInfo

远程获取群组信息

fetchTeamInfo({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群组Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. message:[{
  4. teamId:,//群ID
  5. teamName:,//群名称
  6. type:,//群类型
  7. owner:,//群拥有者ID, 普通群拥有者就是群创建者,但是高级群可以进行拥有信息的转让
  8. avatarUrl:,//群头像
  9. intro:,//群介绍
  10. announcement:,//群公告
  11. memberNumber:,//群成员人数,这个值表示是上次登录后同步下来群成员数据,并不实时变化,必要时需要调用fetchTeamInfo进行刷新
  12. level:,//群等级,目前群人数主要是限制群人数上限
  13. createTime:,//群创建时间
  14. joinMode:,//群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2
  15. notifyForNewMsg://群消息提醒的类型 0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒
  16. }]
  17. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.fetchTeamInfo({
  3. teamId : '64430396'
  4. },function(ret, err){
  5. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. teamId://群ID
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.createTeam({
  3. name : '2001',
  4. type : 0,
  5. joinMode : 0,
  6. postscript : '',
  7. intro : '',
  8. announcement : '',
  9. users : ['1002']
  10. },function(ret, err){
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addUsers

邀请用户入群

addUsers({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

users:

  • 类型:数组
  • 描述:(必填项)userId组成的数组.

postscript:

  • 类型:字符串
  • 描述:(可选项)邀请附言 (仅iOS有效)。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.addUsers({
  3. teamId : '64430396',
  4. users : ['1002']
  5. },function(ret, err){
  6. });

补充说明

1、请求完成后,如果是普通群,被邀请者将直接入群;如果是高级群,云信服务器会下发一条系统消息到目标用户,目标用户可以选择同意或者拒绝入群。 2、高级群不能直接拉人,发出邀请成功会返回810,此处应该认为邀请已发出

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

acceptInviteWithTeam

同意群邀请(仅限高级群)

acceptInviteWithTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

invitorId:

  • 类型:字符串
  • 描述:(必填项)邀请者Id(不是被邀请者)。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.acceptInviteWithTeam({
  3. teamId : '64430396',
  4. invitorId : '1001'
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

rejectInviteWithTeam

拒绝群邀请(仅限高级群)

rejectInviteWithTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

invitorId:

  • 类型:字符串
  • 描述:(必填项)邀请者Id(不是被邀请者)。

rejectReason:

  • 类型:字符串
  • 描述:(可选项)拒绝原因。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.rejectInviteWithTeam({
  3. teamId : '64430396',
  4. invitorId : '1001',
  5. rejectReason :''
  6. },function(ret, err){
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

applyToTeam

用户主动申请加群(仅限高级群)

applyToTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

message:

  • 类型:字符串
  • 描述:(可选项)加群信息.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.applyToTeam({
  3. teamId : '64430396',
  4. message : '我要加群'
  5. },function(ret, err){
  6. });

补充说明

errorCode: 808:已经在群里,809:申请等待通过.

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

passApplyToTeam

通过申请(仅限高级群)

passApplyToTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

userId:

  • 类型:字符串
  • 描述:(必填项)用户Id.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.passApplyToTeam({
  3. teamId : '64430396',
  4. userId : '1002'
  5. },function(ret, err){
  6. });

补充说明

errorCode: 809 : 已经在群里

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

rejectApplyToTeam

拒绝申请(仅限高级群)

rejectApplyToTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

userId:

  • 类型:字符串
  • 描述:(必填项)用户Id.

rejectReason:

  • 类型:字符串
  • 描述:(可选项)拒绝原因.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.rejectApplyToTeam({
  3. teamId : '64430396',
  4. userId : '1002',
  5. rejectReason : '拒绝原因'
  6. },function(ret, err){
  7. });

补充说明

errorCode: 509 : 已拒绝

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

updateTeamName

修改群名称

updateTeamName({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

teamName:

  • 类型:字符串
  • 描述:(必填项)群组名称.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateTeamName({
  3. teamId : '64430396',
  4. teamName : '群组名称'
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

updateTeamIntro

修改群介绍

updateTeamIntro({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

intro:

  • 类型:字符串
  • 描述:(必填项)群介绍.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateTeamIntro({
  3. teamId : '64430396',
  4. intro : '群介绍'
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

updateTeamAnnouncement

修改群公告

updateTeamAnnouncement({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

announcement:

  • 类型:字符串
  • 描述:(必填项)群公告.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateTeamAnnouncement({
  3. teamId : '64430396',
  4. announcement : '群公告'
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

updateTeamJoinMode

修改群验证方式

updateTeamJoinMode({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

joinMode:

  • 类型:数字型
  • 描述:(必填项)群验证方式,允许所有人加入:0,需要验证:1,不允许任何人加入:2

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateTeamJoinMode({
  3. teamId : '64430396',
  4. joinMode : 2
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addManagersToTeam

提升管理员(仅限高级群)

addManagersToTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

users:

  • 类型:数组
  • 描述:(必填项)userId组成的数组

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.addManagersToTeam({
  3. teamId : '64430396',
  4. users : ['1002']
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeManagersFromTeam

移除管理员(仅限高级群)

removeManagersFromTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

users:

  • 类型:数组
  • 描述:(必填项)userId组成的数组

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.removeManagersFromTeam({
  3. teamId : '64430396',
  4. users : ['1002']
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

transferManagerWithTeam

转让群(仅限高级群)

transferManagerWithTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

newOwnerId:

  • 类型:字符串
  • 描述:(必填项)新群主ID

isLeave:

  • 类型:布尔型
  • 描述:(可选项)是否同时离开群组,true离开
  • 默认值: false

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.transferManagerWithTeam({
  3. teamId : '64430396',
  4. newOwnerId : '1002',
  5. isLeave : false
  6. },function(ret, err){
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

fetchTeamMembers

获取群成员

fetchTeamMembers({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. message : [{
  4. teamId : ,//群ID
  5. userId:,//群成员ID
  6. invitor:,//邀请者,仅iOS支持, android不支持
  7. type:,//群成员类型,0:普通群员,1:群拥有者,2:群管理员,3:申请加入用户
  8. nickname:,//群昵称
  9. }]
  10. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.fetchTeamMembers({
  3. teamId : '64430396'
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

quitTeam

用户退群

quitTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.quitTeam({
  3. teamId : '64430396'
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

kickUsers

踢出用户

kickUsers({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

users:

  • 类型:数组
  • 描述:(必填项)userId组成的数组

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.kickUsers({
  3. teamId : '64430396',
  4. users : ['1002']
  5. },function(ret, err){
  6. });

补充说明

被踢出的用户相关会话信息仍然会保留,但不再能接收关于此群的消息. 当前android只支持每次踢一个用户,故参数users对应的只能是一个用户id.

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

dismissTeam

解散群

dismissTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.dismissTeam({
  3. teamId : '64430396'
  4. },function(ret, err){
  5. });

补充说明

群解散后,所有群用户关于此群会话会被保留,但是不能能够在此群会话里收发消息

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

updateNotifyStateForTeam

修改群消息通知状态 (关闭群消息提醒)

updateNotifyStateForTeam({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

teamMessageNotifyType:

  • 类型:数字型
  • 描述:(可选项)设置指定群消息通知类型(0:全部消息提醒,1:群所有消息不提醒,2:仅管理员消息提醒)。
  • 默认值: 0:全部消息提醒

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateNotifyStateForTeam({
  3. teamId : '64430396',
  4. teamMessageNotifyType : 0
  5. },function(ret, err){
  6. });

补充说明

群组通知是一种消息类型 ,用户在创建群或者进入群成功之后,任何关于群的变动,云信服务器都会下发一条群通知消息.群通知消息和其他消息一样,可从提供的消息查询接口中获取. DK 在收到群通知之后,会对本地缓存的群信息做出对应的修改,然后触发与修改相对应的委托事件回调. 群通知是接收型的消息,开发者不应该自己手动去创建和发送群通知消息. 群消息通知设置 SDK 提供了修改群消息通知的接口,上层可以通过设置这个选项以影响群消息的通知行为.当设置 teamMessageNotifyType 为 2 时,群内消息将不会有 APNS 通知.当然上层也可以使用这一属性来决定收到在线消息时的 APP 表现 (是否响铃等).

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onIMSystemMessageRecieved

内置系统通知监听

onIMSystemMessageRecieved(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. type:,//申请入群:0,拒绝入群:1,邀请入群:2,拒绝入群邀请:3,添加好友:5
  3. timestamp:,//时间戳
  4. sourceID:,//操作者
  5. targetID:,//目标ID,群ID或者是用户ID
  6. postscript:,//附言 , 仅iOS支持
  7. read:,//是否已读
  8. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onIMSystemMessageRecieved(function(ret, err){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

fetchSystemNotifications

获取本地存储的内置系统通知

fetchSystemNotifications({params}, callback(ret,err))

params

limit:

  • 类型:数字型
  • 描述:(可选项)最大获取数:默认10条。
  • 默认值:10

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true,
  3. notifications : [{
  4. type:,//申请入群:0,拒绝入群:1,邀请入群:2,拒绝入群邀请:3,添加好友:5
  5. timestamp:,//时间戳
  6. sourceID:,//操作者
  7. targetID:,//目标ID,群ID或者是用户ID
  8. postscript:,//附言 , 仅iOS支持
  9. read:,//是否已读
  10. status://0:未处理状态
  11. //1:已通过验证
  12. //2:已拒绝
  13. //3:已忽略
  14. //4:已过期
  15. //5:开发者可自定义的扩展类型1
  16. //6:开发者可自定义的扩展类型2
  17. //7:开发者可自定义的扩展类型3
  18. //8:开发者可自定义的扩展类型4
  19. //9:开发者可自定义的扩展类型5
  20. }]
  21. }

示例代码

  1. var demo = api.require('nim');
  2. demo.fetchSystemNotifications({
  3. limit : 10
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

allNotificationsUnreadCount

获取本地存储的内置系统未读数

allNotificationsUnreadCount(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true,
  3. count : 11
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.allNotificationsUnreadCount(function(ret, err){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteAllNotifications

删除本地存储的全部内置系统通知

deleteAllNotifications(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.deleteAllNotifications(function(ret, err){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

markAllNotificationsAsRead

标记本地存储的全部内置系统通知为已读

markAllNotificationsAsRead(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.markAllNotificationsAsRead(function(ret, err){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onUserInfoUpdate

用户个人信息发生变化监听

onUserInfoUpdate(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. nickName :,//用户昵称
  3. avatarUrl :,//用户头像
  4. sign:,//用户签名
  5. gender:,//用户性别0:未知性别,1:男,2:女
  6. email:,//邮箱
  7. birth:,//生日
  8. mobile:,//电话号码
  9. ext:,//用户自定义扩展字段
  10. account:,//用户账号
  11. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onUserInfoUpdate(function(ret, err){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

userInfo

获取用户资料

userInfo({params}, callback(ret,err))

params

userId:

  • 类型:字符串
  • 描述:(必填项)//用户帐号。

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true,
  3. userId :,//用户帐号
  4. alias :,//备注名
  5. notifyForNewMsg:,//是否需要消息提醒
  6. isInMyBlackList:,//是否在黑名单中
  7. userInfo : {
  8. nickName :,//用户昵称
  9. avatarUrl :,//用户头像
  10. sign:,//用户签名
  11. gender:,//用户性别0:未知性别,1:男,2:女
  12. email:,//邮箱
  13. birth:,//生日
  14. ext : ,//扩展信息
  15. mobile:,//电话号码
  16. account :,//用户帐号
  17. }
  18. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.userInfo({
  3. userId : '1001'
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

fetchUserInfos

获取服务器用户资料

fetchUserInfos({params}, callback(ret,err))

params

userIds:

  • 类型:数组
  • 描述:(必填项)用户id列表。

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true,
  3. message : [{
  4. nickName :,//用户昵称
  5. avatarUrl :,//用户头像
  6. sign:,//用户签名
  7. gender:,//用户性别0:未知性别,1:男,2:女
  8. email:,//邮箱
  9. birth:,//生日
  10. ext : ,//扩展信息
  11. mobile:,//电话号码
  12. account :,//用户帐号
  13. }]
  14. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.fetchUserInfos({
  3. userId : '1001'
  4. },function(ret, err){
  5. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateMyUserInfo({
  3. nickname : '昵称',
  4. avatar : '',
  5. sign : '',
  6. gender : 1,
  7. email : '',
  8. birth : '',
  9. mobile : '',
  10. ext : {
  11. key : 'key1'
  12. }
  13. },function(ret, err){
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

myFriends

获取好友列表

myFriends(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. users : [{
  4. nickName :,//用户昵称
  5. avatarUrl :,//用户头像
  6. sign:,//用户签名
  7. gender:,//用户性别0:未知性别,1:男,2:女
  8. email:,//邮箱
  9. birth:,//生日
  10. ext : ,//扩展信息
  11. mobile:,//电话号码
  12. account :,//用户帐号
  13. }]
  14. }

示例代码

  1. var demo = api.require('nim');
  2. demo.myFriends(function(ret){
  3. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.requestFriend({
  3. userId : '1002',
  4. operation : 1,
  5. message : ''
  6. },function(ret, err){
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteFriend

删除好友

deleteFriend({params}, callback(ret,err))

params

userId:

  • 类型:字符串
  • 描述:(必填项)目标用户ID。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.deleteFriend({
  3. userId : '1002'
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

myBlackList

获取黑名单成员列表

myBlackList(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true,
  3. users : [{
  4. nickName :,//用户昵称
  5. avatarUrl :,//用户头像
  6. sign:,//用户签名
  7. gender:,//用户性别0:未知性别,1:男,2:女
  8. email:,//邮箱
  9. birth:,//生日
  10. ext : ,//扩展信息
  11. mobile:,//电话号码
  12. account :,//用户帐号
  13. }]
  14. }

示例代码

  1. var demo = api.require('nim');
  2. demo.myBlackList(function(ret){
  3. });

补充说明

云信中,黑名单和好友关系是互相独立的,即修改好友关系不会影响黑名单关系,同时,修改黑名单也不会对好友关系进行操作. 黑名单列表有本地缓存,缓存会在登录后与服务器自动进行同步更新.接口返回的是User列表

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addToBlackList

添加用户到黑名单

addToBlackList({params}, callback(ret,err))

params

userId:

  • 类型:字符串
  • 描述:(必填项)目标用户ID。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.addToBlackList({
  3. userId : '1002'
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeFromBlackBlackList

将用户移除黑名单

removeFromBlackBlackList({params}, callback(ret,err))

params

userId:

  • 类型:字符串
  • 描述:(必填项)目标用户ID。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.removeFromBlackBlackList({
  3. userId : '1002'
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isUserInBlackList

判断某用户是否在自己的黑名单中

isUserInBlackList({params}, callback(ret,err))

params

userId:

  • 类型:字符串
  • 描述:(必填项)目标用户ID。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.isUserInBlackList({
  3. userId : '1002'
  4. },function(ret,err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

myMuteUserList

获取静音成员列表

myMuteUserList(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true,
  3. users : [{
  4. nickName :,//用户昵称
  5. avatarUrl :,//用户头像
  6. sign:,//用户签名
  7. gender:,//用户性别0:未知性别,1:男,2:女
  8. email:,//邮箱
  9. birth:,//生日
  10. ext : ,//扩展信息
  11. mobile:,//电话号码
  12. account :,//用户帐号
  13. }]
  14. }

示例代码

  1. var demo = api.require('nim');
  2. demo.myMuteUserList(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

updateNotifyStateForUser

设置消息提醒

updateNotifyStateForUser({params}, callback(ret,err))

params

userId:

  • 类型:字符串
  • 描述:(必填项)目标用户ID。

notify:

  • 类型:布尔型
  • 描述:(可选项)是否开启消息提醒。(提醒:true|不提醒:false)
  • 默认值: true

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateNotifyStateForUser({
  3. userId : '1002',
  4. notify : true
  5. },function(ret,err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

notifyForNewMsgForUser

判断是否需要消息通知

notifyForNewMsgForUser({params}, callback(ret,err))

params

userId:

  • 类型:字符串
  • 描述:(可选项)目标用户ID。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.notifyForNewMsgForUser({
  3. userId : '1002'
  4. },function(ret,err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onChatRoomStatusChanged

聊天室在线状态变化的监听

onChatRoomStatusChanged(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. roomId : '',//聊天室id
  3. status : ,//聊天室在线状态:
  4. //0 正在进入
  5. //1 进入聊天室成功
  6. //2 进入聊天室失败
  7. //3 和聊天室失去链接
  8. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onChatRoomStatusChanged(function(ret,err){
  3. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onChatRoomKickOutEvent

被踢出聊天室的监听

onChatRoomKickOutEvent(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. roomId :,//聊天室id
  3. code :,//被踢出事件代码:
  4. //1 聊天室已经被解散
  5. //2 被管理员踢出
  6. //3 被其他端踢出
  7. //4 当前连接状态异常
  8. //5 被加黑了
  9. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onChatRoomKickOutEvent(function(ret,err){
  3. });

补充说明

当用户被主播或者管理员踢出聊天室、聊天室被关闭(被解散),会收到通知. 注意:收到被踢出通知后,不需要再调用退出聊天室接口,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 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.enterChatRoom({
  3. roomId : '3002',
  4. nickName : '小飞',
  5. avatar : '',
  6. extension : {key : 'key1'},
  7. notifyExtension : {key : 'key2'},
  8. },function(ret,err){
  9. });

补充说明

创建聊天室必须服务端创建: 参考服务端API文档-聊天室

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

exitChatRoom

用户退出聊天室

exitChatRoom({params}, callback(ret,err))

params

roomId:

  • 类型:字符串
  • 描述:(必填项)聊天室Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.exitChatRoom({
  3. roomId : '3002'
  4. },function(ret,err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getChatRoomHistoryMsg

获取聊天室历史消息

getChatRoomHistoryMsg({params}, callback(ret,err))

params

roomId:

  • 类型:字符串
  • 描述:(必填项)聊天室Id。

startTime:

  • 类型:Long型
  • 描述:(可选项)起始时间(单位毫秒)。
  • 默认值:0

startTime:

  • 类型:数字型
  • 描述:(可选项)消息条数。
  • 默认值:10

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. message : [{
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型,
  6. //0 文本类型消息
  7. //1 图片类型消息
  8. //2 声音类型消息
  9. //3 视频类型消息
  10. //4 位置类型消息
  11. //5 通知类型消息
  12. //6 文件类型消息
  13. //10 提醒类型消息
  14. //100 自定义类型消息
  15. from:, //消息来源
  16. text:, //消息文本
  17. timestamp:, //消息发送时间
  18. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  19. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  20. path:,//本地路径
  21. url:,//远程路径
  22. fileLength:,//文件大小(音频文件没有这个参数)
  23. thumbPath://缩略图本地路径(图片)
  24. duration:,//时长,毫秒为单位(音频,视频)
  25. coverUrl:,//视频封面的远程路径(视频)
  26. latitude:,//纬度(位置消息)
  27. longitude:,//经度(位置消息)
  28. title:,//标题(位置消息)
  29. displayName:,//显示名称(文件,图片,视频)
  30. ext : ,//扩展消息
  31. eventType : ,//操作发起者ID
  32. operator : ,//操作类型
  33. targets : ,//被操作者ID列表
  34. notificationType : ,//通知类型
  35. attachment : ''//通知附加信息
  36. }]
  37. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.getChatRoomHistoryMsg({
  3. roomId : '3002',
  4. startTime : 0,
  5. limit : 10
  6. },function(ret,err){
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getChatRoomInfo

获取聊天室基本信息

getChatRoomInfo({params}, callback(ret,err))

params

roomId:

  • 类型:字符串
  • 描述:(必填项)聊天室Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. message : {
  4. roomId :, //聊天室id
  5. name : , //聊天室名称
  6. creator:,//创建者id
  7. announcement:,//公告
  8. onLineUserCount:,//当前在线人数
  9. broadcastUrl:,//广播流url
  10. extention:,//扩展属性
  11. }
  12. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.getChatRoomInfo({
  3. roomId : '3002'
  4. },function(ret,err){
  5. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. message : [{
  4. userId: ,//用户id
  5. avatar: ,//用户头像url
  6. enterTime: ,//进入的时间
  7. extention:,//进聊天室时提交的扩展字段
  8. nick: ,//呢称
  9. roomId: ,//聊天室id
  10. updateTime: ,//更新时间
  11. isInBlackList: ,//是否在黑名单中
  12. isMuted: ,//是否被禁言
  13. isOnline:,//是否在线
  14. isValid:,//是否有效
  15. memberType:,//成员类型, 游客: -2, 受限用户: -1, 普通用户:0, 创建者:1, 管理员: 2
  16. }]
  17. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.getChatRoomMembers({
  3. roomId : '3002',
  4. type : 0,
  5. time : 0,
  6. limit : 10
  7. },function(ret,err){
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getChatRoomMembersByIds

批量获取指定成员在聊天室中的信息

getChatRoomMembersByIds({params}, callback(ret,err))

params

roomId:

  • 类型:字符串
  • 描述:(必填项)聊天室Id。

userIds:

  • 类型:数组
  • 描述:(必填项)用户id列表。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. message : [{
  4. userId: ,//用户id
  5. avatar: ,//用户头像url
  6. enterTime: ,//进入的时间
  7. extention:,//进聊天室时提交的扩展字段
  8. nick: ,//呢称
  9. roomId: ,//聊天室id
  10. updateTime: ,//更新时间
  11. isInBlackList: ,//是否在黑名单中
  12. isMuted: ,//是否被禁言
  13. isOnline:,//是否在线
  14. isValid:,//是否有效
  15. memberType:,//成员类型, 游客: -2, 受限用户: -1, 普通用户:0, 创建者:1, 管理员: 2
  16. }]
  17. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.getChatRoomMembersByIds({
  3. roomId : '3002',
  4. userIds : ['1001','1002']
  5. },function(ret,err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addUserToBlackList

加入/移出黑名单

addUserToBlackList({params}, callback(ret,err))

params

roomId:

  • 类型:字符串
  • 描述:(必填项)聊天室Id。

userId:

  • 类型:字符串
  • 描述:(必填项)用户的帐号。

isAdd:

  • 类型:布尔型
  • 描述:(可选项) 将用户加入黑名单.
  • 默认值:true

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.addUserToBlackList({
  3. roomId : '3002',
  4. userIds : '1001',
  5. isAdd : true
  6. },function(ret,err){
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

muteUser

加入用户到禁言名单/取消某用户的禁言

muteUser({params}, callback(ret,err))

params

roomId:

  • 类型:字符串
  • 描述:(必填项)聊天室Id。

userId:

  • 类型:字符串
  • 描述:(必填项)用户的帐号。

isMute:

  • 类型:布尔型
  • 描述:(可选项)加入用户到禁言名单/取消某用户的禁言
  • 默认值:true

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.muteUser({
  3. roomId : '3002',
  4. userIds : '1001',
  5. isMute : true
  6. },function(ret,err){
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAdmin

设置/取消管理员

setAdmin({params}, callback(ret,err))

params

roomId:

  • 类型:字符串
  • 描述:(必填项)聊天室Id。

userId:

  • 类型:字符串
  • 描述:(必填项)用户的帐号。

isAdmin:

  • 类型:布尔型
  • 描述:(可选项)将用户设置/取消管理员.
  • 默认值:true

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.setAdmin({
  3. roomId : '3002',
  4. userIds : '1001',
  5. isAdmin : true
  6. },function(ret,err){
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setNormal

设置/移除普通成员

setNormal({params}, callback(ret,err))

params

roomId:

  • 类型:字符串
  • 描述:(必填项)聊天室Id。

userId:

  • 类型:字符串
  • 描述:(必填项)用户的帐号。

isNormal:

  • 类型:布尔型
  • 描述:(可选项)将用户设置/移除普通成员.
  • 默认值:true

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.setNormal({
  3. roomId : '3002',
  4. userIds : '1001',
  5. isNormal : true
  6. },function(ret,err){
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

kickMemberFromChatRoom

从聊天室中移除某个用户

kickMemberFromChatRoom({params}, callback(ret,err))

params

roomId:

  • 类型:字符串
  • 描述:(必填项)聊天室Id。

userId:

  • 类型:字符串
  • 描述:(必填项)用户的帐号。

reason:

  • 类型:字符串
  • 描述:(可选项)原因。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.kickMemberFromChatRoom({
  3. roomId : '3002',
  4. userIds : '1001',
  5. reason : '原因'
  6. },function(ret,err){
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startCall

主叫发起通话 (主叫方)

startCall({params}, callback(ret,err))

params

type:

  • 类型:数字型
  • 描述:(必填项)呼叫类型 1:音频 2:视频(如果是视频通话,请先执行initCallRemoteView接口,初始化视频界面)。
  • 默认值:1:音频

callees:

  • 类型:数组
  • 描述:(必填项)用户的帐号(暂时仅支持传一个)。

serverRecord:

  • 类型:布尔型
  • 描述:(可选项)服务器录制音频/视频开关。
  • 默认值:false

autoRotateRemoteVideo:

  • 类型:布尔型
  • 描述:(可选项)是否打开视频图像根据设备角度自动旋转。
  • 默认值:true(开启)

ext:

  • 类型:JSON串
  • 描述:(必填项)仅在主叫发起点对点通话时设置有效,用于在主被叫之间传递额外信息,被叫收到呼叫时会携带该信息。

    callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.startCall({
  3. type : 1, // 呼叫类型 1:音频 2:视频
  4. callees : ['10002'] //被叫帐号列表, 现在只支持传入一个被叫
  5. },function(ret,err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onCallReceive

被叫收到呼叫监听(被叫方)

onCallReceive(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. caller :'', //主叫帐号
  3. callID : '', //call id
  4. type : '', // 呼叫类型 1:音频 2:视频(如果是视频通话,请先执行initCallRemoteView接口,初始化视频界面)
  5. extra : '' //扩展信息
  6. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onCallReceive( function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.responseCall({
  3. callID : _callID, //call id
  4. accept : true //是否接听
  5. }, function(ret, err) {
  6. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onCallResponse

主叫收到被叫响应监听(主叫方)

onCallResponse(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. callee :'', //被叫帐号
  3. callID : '', //call id
  4. accepted : '', // 是否接听
  5. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onCallResponse(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onCallResponsedByOther

这通呼入通话已经被该帐号其他端处理(在多端登录情况下)

onCallResponsedByOther(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. callID : '', //call id
  3. accepted : '', // 是否接听
  4. clientType : '' //被处理的客户端 仅Android有值
  5. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onCallResponsedByOther(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onCallCallEstablished

点对点通话建立成功监听

onCallCallEstablished(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onCallCallEstablished(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onCallCallDisconnected

通话异常断开监听

onCallCallDisconnected(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onCallCallDisconnected(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.callControl({
  3. callID : _callID, //call id
  4. type : 1
  5. }, function(ret, err) {
  6. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onCallControl

通话异常断开监听

onCallControl(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. callID : '', //call id
  3. user : '', //对方帐号
  4. control : '' //控制类型
  5. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onCallControl(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

callHangup

挂断通话

callHangup({params}, callback(ret,err))

params

callID:

  • 类型:字符串
  • 描述:(必填项)call id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.callHangup({
  3. callID : _callID, //call id
  4. }, function(ret, err) {
  5. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onCallHangup

对方挂断电话监听

onCallHangup(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. callID : '', //call id
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onCallHangup(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

currentCallID

获取正在进行中的网络通话call id

currentCallID(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. callID : '', //call id
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.currentCallID(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onCallNetStatus

当前通话网络状态监听

onCallNetStatus(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : '', //网络状态 0:网络非常好 1:网络好 2:网络弱 3:网络差 4:网络极差, 建议停止视频发送
  3. user : '', //网络状态对应的用户;如果是自己,表示自己的发送网络状态
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onCallNetStatus(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

initCallRemoteView

初始化视频通话界面(如果是视频通话,必须先执行该接口)

initCallRemoteView({params}, callback(ret))

params

remoteRect:

  • 类型:JSON 对象
  • 描述:(必填项)远程视频显示的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
  3. y: 0, //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
  4. w: 320, //(必填项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
  5. h: 250 //(必填项)数字类型;模块的高度;默认值:所属的 Window 或 Frame 的高度
  6. }

localRect:

  • 类型:JSON 对象
  • 描述:(必填项)本地视频显示的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(必填项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
  3. y: 0, //(必填项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
  4. w: 60, //(必填项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
  5. h: 100 //(必填项)数字类型;模块的高度;默认值:100
  6. }

fixedOn:

  • 类型:字符串
  • 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window

fixed:

  • 类型:布尔
  • 描述:((可选项)模块是否随所属 Window 或 Frame 滚动
  • 默认值:true(不随之滚动)

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.initCallRemoteView({
  3. remoteRect : {
  4. x : 0,
  5. y : 0,
  6. w : api.frameWidth,
  7. h : api.frameHeight/2
  8. },
  9. localRect : {
  10. x : 0,
  11. y : 0,
  12. w : api.frameWidth/3,
  13. h : api.frameHeight/3
  14. },
  15. fixedOn : api.frameName,
  16. fixed : true
  17. }, function(ret, err) {
  18. alert("initCallRemoteView>>" + JSON.stringify(ret) + " " + JSON.stringify(err));
  19. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeCallRemoteView

移除视频通话界面

removeCallRemoteView(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.removeCallRemoteView(function(ret, err) {
  3. alert("initCallRemoteView>>" + JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setCallMute

设置网络通话静音模式

setCallMute({params}, callback(ret))

params

mute:

  • 类型:字符串
  • 描述:(可选项)是否开启静音。
  • 默认值:false

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //开启静音是否成功 true:成功|false:失败
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.setCallMute({
  3. mute : false
  4. }, function(ret, err) {
  5. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setCallSpeaker

设置网络通话扬声器模式

setCallSpeaker({params}, callback(ret))

params

useSpeaker:

  • 类型:字符串
  • 描述:(可选项)是否开启扬声器。
  • 默认值:false

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //开启扬声器是否成功 true:成功|false:失败
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.setCallSpeaker({
  3. useSpeaker : false
  4. }, function(ret, err) {
  5. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchCallCamera

切换网络通话摄像头

switchCallCamera(callback(ret))

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //切换摄像头是否成功 true:成功|false:失败
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.switchCallCamera(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchCallCameraFlash

切换闪光灯开关

switchCallCameraFlash(callback(ret))

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //是否开启闪光灯 true:成功|false:失败
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.switchCallCameraFlash(function(ret, err) {
  3. alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  4. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.sendMessageReceipt({
  3. messageId : '12312312313',
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onIMRecvMessageReceipt

接受已读回执

onIMRecvMessageReceipt(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. timestamp: 0,
  3. messageId : '',
  4. sessionId : ''
  5. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onIMRecvMessageReceipt(function(ret){
  3. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.markAllMessagesReadInSession({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

updateTeamAvatar

修改群头像

updateTeamAvatar({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

avatarUrl:

  • 类型:字符串
  • 描述:(必填项)群头像.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateTeamAvatar({
  3. teamId : '64430396',
  4. teamName : '群组头像'
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

updateUserNick

更新成员群昵称

updateUserNick({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

userId:

  • 类型:字符串
  • 描述:(必填项)群成员ID.

newNick:

  • 类型:字符串
  • 描述:(必填项)新的群成员昵称.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateUserNick({
  3. teamId : '64430396',
  4. userId : '1231313',
  5. newNick : '昵称'
  6. },function(ret, err){
  7. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

updateMyTeamNick

修改自己的群昵称

updateMyTeamNick({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

newNick:

  • 类型:字符串
  • 描述:(必填项)新的群成员昵称.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateMyTeamNick({
  3. teamId : '64430396',
  4. newNick : '昵称'
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

updateTeamCustomInfo

更新群自定义信息

updateTeamCustomInfo({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

clientCustomInfo:

  • 类型:字符串
  • 描述:(可选项)自定义信息.

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateTeamCustomInfo({
  3. teamId : '64430396',
  4. clientCustomInfo : '我自定义内容'
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

updateMuteStateByUserId

群成员禁言

updateMuteStateByUserId({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

userId:

  • 类型:字符串
  • 描述:(必填项)群成员Id.

mute:

  • 类型:布尔型
  • 描述:(可选项)是否禁言.
  • 默认值:false

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateMuteStateByUserId({
  3. teamId : '64430396',
  4. userId : '123123',
  5. mute : true
  6. },function(ret, err){
  7. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

updateMuteStateByAll

禁言群全体成员

updateMuteStateByAll({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

mute:

  • 类型:布尔型
  • 描述:(可选项)是否禁言.
  • 默认值:false

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.updateMuteStateByAll({
  3. teamId : '64430396',
  4. mute : true
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

queryTeamMemberByUserId

查询群成员资料

queryTeamMemberByUserId({params}, callback(ret,err))

params

teamId:

  • 类型:字符串
  • 描述:(必填项)群Id。

userId:

  • 类型:字符串
  • 描述:(必填项)群成员Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. message : {
  4. teamId : ,//群ID
  5. userId:,//群成员ID
  6. invitor:,//邀请者,仅iOS支持, android不支持
  7. type:,//群成员类型,0:普通群员,1:群拥有者,2:群管理员,3:申请加入用户
  8. nickname:,//群昵称
  9. }
  10. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.queryTeamMemberByUserId({
  3. teamId : '64430396',
  4. userId : '123123'
  5. },function(ret, err){
  6. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.setSystemMessageStatus({
  3. messageId : '1231231231',
  4. messageStatus : 1
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

deleteSystemMessage

删除一条系统通知

deleteSystemMessage({params}, callback(ret,err))

params

messageId:

  • 类型:字符串
  • 描述:(必填项)系统消息Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.deleteSystemMessage({
  3. messageId : '1231231231',
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

setSystemMessageRead

设置单条系统通知为已读

setSystemMessageRead({params}, callback(ret,err))

params

messageId:

  • 类型:字符串
  • 描述:(必填项)系统消息Id。

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.setSystemMessageRead({
  3. messageId : '1231231231',
  4. },function(ret, err){
  5. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.revokeMessage({
  3. messageId : '1231231231',
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

onIMRecvRevokeMessageNotification

监听消息撤回

onIMRecvRevokeMessageNotification(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. message : {},//撤回消息内容
  4. fromUserId : '',//撤回消息发起者
  5. postscript : ''//撤回的附言
  6. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onIMRecvRevokeMessageNotification(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

onIMLogin

登录状态监听

onIMLogin(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. step : '',
  3. //iOS:
  4. //1:连接服务器
  5. //2: 连接服务器成功
  6. //3:连接服务器失败
  7. //4:登录
  8. //5:登录成功
  9. //6:登录失败
  10. //7:开始同步
  11. //8:同步完成
  12. //9:连接断开
  13. //10:网络切换
  14. //android:
  15. //0:未定义
  16. //1:未登录/登录失败
  17. //2:网络连接已断开
  18. //3:正在连接服务器
  19. //4:正在登录中
  20. //5:正在同步数据
  21. //6:已成功登录
  22. //7:被其他端的登录踢掉
  23. //8:被同时在线的其他端主动踢掉
  24. //9:被服务器禁止登录
  25. //10:客户端版本错误
  26. //11:用户名或密码错误
  27. }

示例代码

  1. var demo = api.require('nim');
  2. demo.onIMLogin(function(ret){
  3. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

isLogined

是否登录状态(同步接口)

isLogined()

ret:

  • 类型:布尔型 true | false

示例代码

  1. var demo = api.require('nim');
  2. var ret = demo.isLogined();

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

isMyFriend

是否登录状态(同步接口)

isMyFriend({params})

params

account:

  • 类型:字符串
  • 描述:(必填项)待判断用户账号。

ret:

  • 类型:布尔型 true | false

示例代码

  1. var demo = api.require('nim');
  2. var ret = demo.isMyFriend({account:'123123'});

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

isMyTeam

是否在此群组(同步接口)

isMyTeam({params})

params

teamId:

  • 类型:字符串
  • 描述:(必填项)待判断群号。

ret:

  • 类型:布尔型 true | false

示例代码

  1. var demo = api.require('nim');
  2. 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 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.deleteRecentSession({
  3. sessionId : '1231231231',
  4. sessionType : 0
  5. },function(ret, err){
  6. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. evenType : 'Start' // Start Progress Complete
  4. message : {},
  5. progress : 0.1,
  6. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.downloadAttachment({
  3. messageId : '1231231231',
  4. },function(ret, err){
  5. });

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

abortDownloadAttachment

停止附件下载

abortDownloadAttachment(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. }

示例代码

  1. var demo = api.require('nim');
  2. demo.abortDownloadAttachment();

可用性

iOS系统,Android系统

可提供的1.1.5及更高版本

enablePushService

开启或者关闭推送

enablePushService({params}, callback(ret,err))

params

enable:

  • 类型:布尔型
  • 描述:(必填项)开启或者关闭。
  • 默认值:true

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status : true, //布尔型 true|false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.enablePushService({
  3. enable : true
  4. },function(ret, err){
  5. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. message : {
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型, 0 文本类型消息
  6. from:, //消息来源
  7. text:, //消息文本
  8. timestamp:, //消息发送时间
  9. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  10. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  11. ext : //扩展消息
  12. }
  13. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.sendTips({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. content : '我是提示消息测试',
  6. ext : {
  7. key : 'key1'
  8. }
  9. }, function(ret, err){
  10. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. messages : [{
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型,
  6. //0 文本类型消息
  7. //1 图片类型消息
  8. //2 声音类型消息
  9. //3 视频类型消息
  10. //4 位置类型消息
  11. //5 通知类型消息
  12. //6 文件类型消息
  13. //10 提醒类型消息
  14. //100 自定义类型消息
  15. from:, //消息来源
  16. text:, //消息文本
  17. timestamp:, //消息发送时间
  18. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  19. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  20. path:,//本地路径
  21. url:,//远程路径
  22. fileLength:,//文件大小(音频文件没有这个参数)
  23. thumbPath://缩略图本地路径(图片)
  24. duration:,//时长,毫秒为单位(音频,视频)
  25. coverUrl:,//视频封面的远程路径(视频)
  26. latitude:,//纬度(位置消息)
  27. longitude:,//经度(位置消息)
  28. title:,//标题(位置消息)
  29. displayName:,//显示名称(文件,图片,视频)
  30. ext : //扩展消息
  31. }]
  32. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.queryMessageHistory({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. limit : 100,
  6. messageId : ''
  7. },function(ret, err){
  8. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. messages : [{
  4. messageId:, //消息ID,唯一标识
  5. messageType:, //消息类型,
  6. //0 文本类型消息
  7. //1 图片类型消息
  8. //2 声音类型消息
  9. //3 视频类型消息
  10. //4 位置类型消息
  11. //5 通知类型消息
  12. //6 文件类型消息
  13. //10 提醒类型消息
  14. //100 自定义类型消息
  15. from:, //消息来源
  16. text:, //消息文本
  17. timestamp:, //消息发送时间
  18. sessionId:, //会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
  19. sessionType:, //会话类型,0:单聊 1:群聊 2:聊天室
  20. path:,//本地路径
  21. url:,//远程路径
  22. fileLength:,//文件大小(音频文件没有这个参数)
  23. thumbPath://缩略图本地路径(图片)
  24. duration:,//时长,毫秒为单位(音频,视频)
  25. coverUrl:,//视频封面的远程路径(视频)
  26. latitude:,//纬度(位置消息)
  27. longitude:,//经度(位置消息)
  28. title:,//标题(位置消息)
  29. displayName:,//显示名称(文件,图片,视频)
  30. ext : //扩展消息
  31. }]
  32. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.queryMessageHistoryByTyps({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. limit : 100,
  6. messageId : '',
  7. types : [0,1,2,3]
  8. },function(ret, err){
  9. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errorCode: -1,
  3. errorMessage : ''
  4. }

示例代码

  1. var demo = api.require('nim');
  2. demo.clearChattingHistory({
  3. sessionId : '1002',
  4. sessionType : 0,
  5. },function(ret, err){
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本