tencentIMPro

##即时通信IM Pro

###即时通信IM

即时通信 IM 提供全球接入、单聊、群聊、好友管理、群组管理、资料关系链托管、帐号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口,可以应用于社交沟通、互动直播、智能客服、物联网通信、企业通信、系统消息通知、游戏交流等场景。

###视频语音通话

该插件实现腾讯云视频语音通话, 支持视频通话和语音通话, 提供类似微信的视频通话和语音通话功能,适用多人、双人视频语音模式、网络会议、在线医疗、视频客服、金融双录等场景。

##技术支持

扫码获取技术支持,引导您跑通Demo和插件接入:

技术支持

技术支持微信号: ruanyunkeji006

使用教程 接口文档

##论坛示例

论坛中有我们的使用教程以及示例代码,您可以Demo进入查看详情,联系上方我们技术支持协助接入。

##tencentIMPro接口列表

###初始化与监听

初始化并成功登录,是正常使用腾讯云 IM 服务的前提。

接口列表 功能
init 初始化
setSDKListener 设置SDK监听
removeSDKListener 移除SDK监听
destroy 销毁
getVersion 获取SDK版本
getServerTime 获取服务器当前时间

###登录与登出

接口列表 功能
login 登录
logout 登出
getLoginUser 获取登录用户
getLoginStatus 获取登录状态

###简单消息收发

如果您只需要使用文本和信令(即一段自定义buffer)消息,只需要使用这套简单消息收发接口即可。

接口列表 功能
setSimpleMsgListener 设置基本消息(文本消息和自定义消息)的事件监听器
removeSimpleMsgListener 移除简单消息监听器
sendC2CTextMessage 发送单聊普通文本消息
sendC2CCustomMessage 发送单聊自定义(信令)消息
sendGroupTextMessage 发送群聊普通文本消息
sendGroupCustomMessage 发送群聊自定义(信令)消息

###信令接口

接口列表 功能
setSignalingListener 添加信令监听
removeSignalingListener 移除信令监听
invite 邀请某个人
inviteInGroup 邀请群内的某些人
cancel 邀请方取消邀请
accept 接收方接受邀请
reject 接收方拒绝邀请
getSignalingInfo 获取信令消息
addInvitedSignaling 添加邀请信令

###高级消息收发

如果您需要收发图片、视频、文件等富媒体消息,并需要撤回消息、标记已读、查询历史消息等高级功能,推荐使用下面这套高级消息接口(简单消息接口和高级消息接口请不要混用)。

接口列表 功能
setAdvancedMsgListener 设置高级消息监听器
removeAdvancedMsgListener 移除高级消息的事件监听器
createTextMessage 创建文本消息
createCustomMessage 创建自定义消息
createImageMessage 创建图片消息
createSoundMessage 创建语音消息
createVideoMessage 创建视频消息
createFileMessage 创建文件消息
createLocationMessage 创建地理位置消息
createFaceMessage 创建表情消息
sendMessage 发送消息,消息对象可以由 createXXXMessage 接口创建得来
revokeMessage 撤回消息,消息对象可以由 createXXXMessage 接口创建得来
getC2CHistoryMessageList 获取单聊(C2C)历史消息
getGroupHistoryMessageList 获取群组历史消息
markC2CMessageAsRead 设置单聊(C2C)消息已读
markGroupMessageAsRead 设置群组消息已读
deleteMessageFromLocalStorage 删除本地消息
insertGroupMessageToLocalStorage 向群组消息列表中添加一条消息

###群组相关接口

腾讯云 IM SDK 支持四种预设的群组类型,每种类型都有其适用场景:

工作群(Work) :类似普通微信群,创建后不能自由加入,必须由已经在群的用户邀请入群。 公开群(Public) :类似 QQ 群,用户申请加入,但需要群主或管理员审批。 会议群(Meeting):适合跟 TRTC 结合实现视频会议和在线教育等场景,支持随意进出,支持查看进群前的历史消息。 直播群(AVChatRoom):适合直播弹幕聊天室等场景,支持随意进出,人数无上限。

接口列表 功能
setGroupListener 设置群组相关的事件监听器
removeGroupListener 移除群组监听器
createGroup 创建群组(简单版本)
createGroupWithMemberList 创建群组(高级版本),可在建群同时设置群信息和初始的群成员
joinGroup 加入群组
quitGroup 退出群组
dismissGroup 解散群组(仅群主和管理员可以解散)
getJoinedGroupList 获取已经加入的群列表(不包括已加入的直播群)
getGroupsInfo 拉取群资料
setGroupInfo 修改群资料
setReceiveMessageOpt 设置群消息的接收选项
getGroupMemberList 获取群成员列表
getGroupMembersInfo 获取指定的群成员资料
setGroupMemberInfo 修改指定的群成员资料
muteGroupMember 禁言
inviteUserToGroup 踢人
kickGroupMember 切换群成员的角色
setGroupMemberRole 转让群主
transferGroupOwner 邀请他人入群
getGroupApplicationList 获取加群的申请列表
acceptGroupApplication 同意某一条加群申请
refuseGroupApplication 拒绝某一条加群申请
setGroupApplicationRead 标记申请列表为已读

###会话管理

会话列表,即登录微信或 QQ 后首屏看到的列表,包含会话节点、会话名称、群名称、最后一条消息以及未读消息数等元素。

接口列表 功能
setConversationListener 设置会话监听器
removeConversationListener 移除会话监听器
getConversationList 获取会话列表
deleteConversation 删除会话
setConversationDraft 设置会话草稿

###用户资料管理

包含查询用户资料、修改个人资料以及屏蔽某人消息(即把某用户加入黑名单中)的相关接口。

接口列表 功能
getUsersInfo 获取用户资料
setSelfInfo 修改个人资料
addToBlackList 屏蔽某人的消息(添加该用户到黑名单中)
deleteFromBlackList 取消某人的消息屏蔽(把该用户从黑名单中移除)
getBlackList 获取黑名单列表

###好友管理

腾讯云 IM 在收发消息时默认不检查是不是好友关系,您可以在 【控制台】 >【功能配置】>【登录与消息】>【好友关系检查】中开启"发送单聊消息检查关系链"开关,并使用如下接口增删好友和管理好友列表。

接口列表 功能
setFriendListener 设置关系链的监听器
removeFriendListener 移除关系链监听器
getFriendList 获取好友列表
getFriendsInfo 获取指定好友资料
setFriendInfo 设置指定好友资料
addFriend 添加好友
deleteFromFriendList 删除好友
checkFriend 检查指定用户的好友关系
getFriendApplicationList 获取好友申请列表
acceptFriendApplication 同意好友申请
refuseFriendApplication 拒绝好友申请
deleteFriendApplication 删除好友申请
setFriendApplicationRead 设置好友申请已读
createFriendGroup 新建好友分组
getFriendGroupList 获取分组信息
deleteFriendGroup 删除好友分组
renameFriendGroup 修改好友分组的名称
addFriendsToFriendGroup 添加好友到一个好友分组
deleteFriendsFromFriendGroup 从好友分组中删除好友

##tencentIMProCalling接口列表

###初始化与监听

接口列表 功能
init 初始化
setCallingListener 设置监听器
removeCallingListener 移除监听器
destroy 销毁

###登录与登出

接口列表 功能
login 登录
logout 登出

###通话操作

接口列表 功能
call 单人通话邀请
groupCall 群组邀请通话
accept 接受当前通话
reject 拒绝当前通话
hangup 挂断当前通话

###推拉流相关

接口列表 功能
startRemoteView 显示远端画面
stopRemoteView 停止显示远端画面

###音视频控制

接口列表 功能
openCamera 开启摄像头
switchCamera 切换前后摄像头
closeCamera 关闭摄像头
setMicMute 静音本地音频采集
setHandsFree 开启免提

##插件接口

#init

初始化IM

init({params}, function(ret, err))

params

sdkAppId:

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

logLevel:

  • 类型: 整数类型
  • 描述: (可选项) 日志级别
  • 取值范围:
    • 0: NONE, 不输出任何 log
    • 1: DEBUG, 输出 DEBUG,INFO,WARNING,ERROR 级别的 log
    • 2: INFO, 输出 INFO,WARNING,ERROR 级别的 log
    • 3: WARN, 输出 WARNING,ERROR 级别的 log
    • 4: ERROR, 输出输出 ERROR 级别的 log

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

##代码示例

Im.init({
    sdkAppId: 14xxxxx26
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#setSDKListener

设置SDK监听

setSDKListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}
{
    eventType: 'onSigExpired'
}
  • 字段详情:

eventType:

  • 类型: 字符串类型
  • 描述: 事件名称
  • 取值范围:
    • onConnecting: 正在连接
    • onConnectSuccess: SDK 已经成功连接到腾讯云服务器
    • onConnectFailed: 连接腾讯云服务器失败
    • onKickedOffline: 当前用户被踢下线,此时可以 UI 提示用户,并再次调用 login() 函数重新登录
    • onUserSigExpired: 在线时票据过期:此时您需要生成新的 userSig 并再次调用login() 函数重新登录
    • onSelfInfoUpdated: 当前用户的资料发生了更新

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

##代码示例

Im.setSDKListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#removeSDKListener

移除SDK监听

removeSDKListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

##代码示例

Im.removeSDKListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#destroy

销毁插件

destroy({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.destroy({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#getVersion

获取 SDK 版本

getVersion({}, ret)

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    version: '5.3.435'
}
  • 字段详情:

version:

  • 类型: 字符串类型
  • 描述: SDK 版本

or

{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getVersion({}, ret => {
    console.log(ret);
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#getServerTime

获取服务器当前时间

getServerTime({}, ret)

可用于信令离线推送场景下超时判断。

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    serverTime: 13562xx123
}
  • 字段详情:

serverTime:

  • 类型: 整数类型
  • 描述: 服务器时间,单位 s

or

{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getServerTime({}, ret => {
    console.log(ret);
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#login

登录

login({params}, function(ret, err))

params

userId:

  • 类型: 字符串类型
  • 描述: (必填项) 用户Id, 建议只包含大小写英文字母、数字、下划线和连词符集中类型的字符,长度最大不超过32字节

userSig:

  • 类型: 字符串类型
  • 描述: (必填项) 用户签名, 登录票据,由您的业务服务器进行计算以保证安全生成UserSig

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: 6206     // 整数类型, 错误码
    msg: '签名过期' // 字符串类型, 错误信息
}

注意:

  • 登陆时票据过期:login 函数的返回ERR_USER_SIG_EXPIRED:6206 错误码,此时生成新的 userSig 重新登录
  • 在线时票据过期:用户在线期间也可能收到onUserSigExpired 回调,此时也是需要您生成新的 userSig 并重新登录
  • 在线时被踢下线:用户在线情况下被踢,会通过 onKickedOffline 回调通知给您,此时可以 UI 提示用户,并再次调用 login() 重新登录

示例代码

Im.login({
    userId: 'test001',
    userSig: 'adfs123xxxxxkjfkdsaf'
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#logout

登出

logout({}, function(ret, err))

如果切换账号,需要 logout 回调成功或者失败后才能再次 login,否则 login 可能会失败

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.logout({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#getLoginUser

获取登录用户

getLoginUser({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    userId: 'test001'
}
  • 字段详情:

userId:

  • 类型: 字符串类型
  • 描述: 用户Id

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getLoginUser({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#getLoginStatus

获取登录状态

getLoginStatus({}, function(ret, err))

如果用户已经处于已登录和登录中状态,请勿再频繁调用登录接口登录

callback(ret, err)

ret:

  • 类型: JSON对象
  • 内部字段
{
    status: true // 布尔型, true表示操作成功
    loginStatus: 0
}
  • 字段详情:

loginStatus:

  • 类型: 整数类型
  • 描述: 当前的登录状态
  • 取值范围:
    • 0: LOGINED 已登录
    • 1: LOGINING 登录中
    • 2: LOGOUT 无登录

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getLoginStatus({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setSimpleMsgListener

设置基本消息(文本消息和自定义消息)的事件监听器

setSimpleMsgListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 描述: 消息事件回调
{
    eventType: 'onRecvC2CTextMessage'
    msgId: '234dxerewe',
    text: '这是一段文本',
    sender: userInfo
}
  • 字段详情:

eventType:

  • 类型: 字符串类型
  • 描述: 事件名称
  • 取值范围:
    • onRecvC2CTextMessage: 收到 C2C 文本消息
    • onRecvC2CCustomMessage: 收到 C2C 自定义(信令)消息
    • onRecvGroupTextMessage: 收到群文本消息
    • onRecvGroupCustomMessage: 收到群自定义(信令)消息

msgId:

  • 类型: 字符串类型
  • 描述: 消息唯一标识

text:

  • 类型: 字符串类型
  • 描述: 接收到的文本内容

customData:

  • 类型: 字符串类型
  • 描述: 自定义的内容

groupId:

  • 类型: 字符串类型
  • 描述: 群Id

sender:

  • 类型: JSON对象
  • 描述: 发送方信息或者发送方群成员信息
  • 内部字段: userInfo

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setSimpleMsgListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#removeSimpleMsgListener

除基本消息(文本消息和自定义消息)的事件监听器

removeSimpleMsgListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.removeSimpleMsgListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#sendC2CTextMessage

发送单聊普通文本消息(最大支持 8KB)

sendC2CTextMessage({params}, function(ret, err))

该接口发送的消息默认会推送(前提是在OfflinePushManager 开启了推送), 如果需要自定义推送(标题和内容), 请调用sendMessage 接口

params

text:

  • 类型: 字符串类型
  • 描述: (必填项)要发送的文本

userId:

  • 类型: 字符串类型
  • 描述: (必填项)消息接收者的userId

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.sendC2CTextMessage({
    text: 'this is a text msg',
    userId: 'test002'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#sendC2CCustomMessage

发送单聊自定义(信令)消息(最大支持 8KB)

sendC2CCustomMessage({params}, function(ret, err))

params

customData:

  • 类型: 字符串类型
  • 描述: (必填项) 要发送的自定义消息

userId:

  • 类型: 字符串类型
  • 描述: (必填项) 消息接收者的userId

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.sendC2CCustomMessage({
    customMsg: '{name: "command01", channel: 1}',
    userId: 'test002'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#sendGroupTextMessage

发送群聊普通文本消息(最大支持 8KB)

sendGroupTextMessage({params}, function(ret, err))

该接口发送的消息默认会推送(前提是在 V2TIMOfflinePushManager 开启了推送),如果需要自定义推送(标题和内容),请调用 V2TIMMessageManager.sendMessage 接口

params

text:

  • 类型: 字符串类型
  • 描述: (必填项) 要发送的文本

groupId:

  • 类型: 字符串类型
  • 描述: (必填项) 指定目标群组的 groupId,该群中的所有用户均能收到消息

priority:

  • 类型: 整数类型
  • 描述: (必填项) 设置消息的优先级,我们没有办法所有消息都能 100% 送达每一个用户,但高优先级的消息会有更高的送达成功率
  • 取值范围:
    • 0: DEFAULT, 默认等级
    • 1: HIGH, 云端会优先传输,适用于在群里发送重要消息,比如主播发送的文本消息等
    • 2: NORMAL, 云端按默认优先级传输,适用于在群里发送非重要消息,比如观众发送的弹幕消息等

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.sendGroupTextMessage({
    text: 'this is a text msg',
    groupId: 'group001'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#sendGroupCustomMessage

发送群聊自定义(信令)消息(最大支持 8KB)

sendGroupCustomMessage({params}, function(ret, err))

该接口发送的消息默认不会推送,如果需要推送,请调用 sendMessage 接口

params

customData:

  • 类型: 字符串类型
  • 描述: (必填项) 要发送的自定义消息

groupId:

  • 类型: 字符串类型
  • 描述: (必填项) 指定目标群组的 groupId,该群中的所有用户均能收到消息

priority:

  • 类型: 整数类型
  • 描述: (必填项) 设置消息的优先级,我们没有办法所有消息都能 100% 送达每一个用户,但高优先级的消息会有更高的送达成功率
  • 取值范围:
    • 0: V2TIMMessage.V2TIM_PRIORITY_DEFAULT, 默认等级
    • 1: V2TIMMessage.V2TIM_PRIORITY_HIGH, 云端会优先传输,适用于在群里发送重要消息,比如主播发送的文本消息等
    • 2: V2TIMMessage.V2TIM_PRIORITY_NORMAL, 云端按默认优先级传输,适用于在群里发送非重要消息,比如观众发送的弹幕消息等

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.sendGroupCustomMessage({
    customMsg: '{name: "command01", channel: 1}',
    groupId: 'group001'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setSignalingListener

设置信令监听

setSignalingListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}
{
    eventType: 'onReceiveNewInvitation',
    inviteId: 'xxxx',
    inviter: 'xxxx',
    groupId: 'xxxx',
    inviteeList: [
        ...
    ],
    data: 'xxxx'
}
  • 字段详情:

eventType:

  • 类型: 字符串类型
  • 描述: 时间名称
  • 取值范围:
    • onReceiveNewInvitation: 收到邀请的回调
    • onInviteeAccepted: 被邀请者接受邀请
    • onInviteeRejected: 被邀请者拒绝邀请
    • onInvitationCancelled: 邀请被取消
    • onInvitationTimeout: 邀请超时

inviteId:

  • 类型: 字符串类型
  • 描述: 邀请Id

inviter:

  • 类型: 字符串类型
  • 描述: 邀请者

invitee:

  • 类型: 字符串类型
  • 描述: 被邀请者

groupId:

  • 类型: 字符串类型
  • 描述: 群组Id

inviteeList:

  • 类型: JSON数组
  • 描述: 被邀请者列表

data:

  • 类型: 字符串类型
  • 描述: 邀请附带信息

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setSignalingListener({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#removeSignalingListener

移除信令监听

removeSignalingListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.removeSignalingListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#invite

邀请某个人

invite({params}, function(ret, err))

params

invitee:

  • 类型: 字符串类型
  • 描述: (必填项) 被邀请人用户Id

data:

  • 类型: 字符串类型
  • 描述: (必填项) 自定义数据

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    inviteId: 'xxxxx'
}
  • 字段详情:

inviteId:

  • 类型: 字符串类型
  • 描述: 邀请Id

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.invite({
    invitee: 'test002',
    data: 'this is a invite'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#inviteInGroup

邀请群内的某些人

inviteInGroup({params}, function(ret, err))

params

groupId:

  • 类型: 字符串类型
  • 描述: (必填项) 发起邀请所在群组

inviteeList:

  • 类型: JSON数组
  • 描述: (必填项) 被邀请人列表,inviteeList 必须已经在 groupId 群里,否则邀请无效

data:

  • 类型: 字符串类型
  • 描述: (必填项) 自定义数据

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.inviteInGroup({
    groupId: 'group001',
    inviteeList: ['test002'],
    data: 'this is a invite'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#cancel

邀请方取消邀请

cancel({params}, function(ret, err))

params

inviteId:

  • 类型: 字符串类型
  • 描述: (必填项) 邀请Id

data:

  • 类型: 字符串类型
  • 描述: (必填项) 自定义数据

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.cancel({
    inviteId: 'xxxx',
    data: 'this is a invite'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#accept

接收方接收邀请

accept({params}, function(ret, err))

params

inviteId:

  • 类型: 字符串类型
  • 描述: (必填项) 邀请Id

data:

  • 类型: 字符串类型
  • 描述: (必填项) 自定义数据

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.accept({
    inviteId: 'xxxx',
    data: 'this is a invite'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#reject

接收方拒绝邀请

reject({params}, function(ret, err))

params

inviteId:

  • 类型: 字符串类型
  • 描述: (必填项) 邀请Id

data:

  • 类型: 字符串类型
  • 描述: (必填项) 自定义数据

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.reject({
    inviteId: 'xxxx',
    data: 'this is a invite'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getSignalingInfo

获取信令信息

getSignalingInfo({params}, function(ret, err))

params

inviteId:

  • 类型: 字符串类型
  • 描述: (必填项) 邀请Id

data:

  • 类型: 字符串类型
  • 描述: (必填项) 自定义数据

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    signalingInfo: {
        ...
    }
}
  • 字段详情:

signalingInfo:

  • 类型: JSON对象
  • 描述: 信令消息
  • 字段详情: signalingInfo

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getSignalingInfo({
    msgId: 'xxxx',
    userId: 'test002'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#addInvitedSignaling

添加邀请信令(可以用于群离线推送消息触发的邀请信令)

addInvitedSignaling({params}, function(ret, err))

params

inviteId:

  • 类型: 字符串类型
  • 描述: (必填项) 邀请Id

data:

  • 类型: 字符串类型
  • 描述: (必填项) 自定义数据

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.addInvitedSignaling({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setAdvancedMsgListener

设置高级消息的事件监听器

setAdvancedMsgListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}
{
    eventType: "onRecvNewMessage",
    elemType: 1,
    message: {
        ...
    }
    download: {
        ...
    }
    msgID: "xxxx",
    receiptList: [
        ...
    ]
}
  • 字段详情:

eventType:

  • 类型: 字符串类型
  • 描述: 事件名称
  • 取值范围:
    • onRecvNewMessage: 收到新消息
    • onRecvC2CReadReceipt: 收到 C2C 消息已读回执
    • onRecvMessageRevoked: 收到消息撤回的通知

elemType:

  • 类型: 整数类型
  • 描述: 消息类型
  • 取值范围:
    • 1: 文本消息
    • 2: 自定义消息
    • 3: 图片消息
    • 4: 语音消息
    • 5: 视频消息
    • 6: 文件消息
    • 7: 位置消息
    • 8: 表情消息
    • 9: 群组提示消息
    • 0: 未定义

message:

  • 类型: JSON对象
  • 描述: 消息体
  • 内部字段: message

download:

  • 类型: JSON对象
  • 描述: 下载信息

receiptList:

  • 类型: 数组类型
  • 描述: C2C 已读回执列表

userId:

  • 类型: 字符串类型
  • 描述: 获取会话信息

timestamp:

  • 类型: 整数类型
  • 描述: 获取已读时间戳

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setAdvancedMsgListener({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#removeAdvancedMsgListener

移除高级消息的事件监听器

removeAdvancedMsgListener({params}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.removeAdvancedMsgListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createTextMessage

创建文本消息

createTextMessage({params}, function(ret, err))

params

text:

  • 类型:字符串类型
  • 描述: (必填项) 文本消息

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    messageKey: 'xxxx'
}
  • 字段详情:

messageKey:

  • 类型: 字符串类型
  • 描述: 消息键

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createTextMessage({
    text: 'this is a text msg'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createTextAtMessage

创建自定义消息

createTextMessage({params}, function(ret, err))

params

text:

  • 类型:字符串类型
  • 描述: (必填项) 文本消息

userIdList:

  • 类型: 数组类型
  • 描述: (必填项) 需要 @ 的用户列表

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    messageKey: 'xxxxx'
}
  • 字段详情:

messageKey:

  • 类型: 字符串类型
  • 描述: 消息键

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createTextAtMessage({
    text: 'this is a text msg',
    userIdList: ['test002']
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createCustomMessage

创建自定义消息

createCustomMessage({params}, function(ret, err))

params

customMsg:

  • 类型:字符串类型
  • 描述: (必填项) 自定义消息内容

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    messageKey: 'xxxxx'
}
  • 字段详情:

messageKey:

  • 类型: 字符串类型
  • 描述: 消息键

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createCustomMessage({
    customMsg: '{name: "command01", channel: 1}'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createImageMessage

创建图片消息

createImageMessage({params}, function(ret, err))

params

img:

  • 类型:字符串类型
  • 描述: (必填项) 图片路径

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    messageKey: 'xxxxx'
}
  • 字段详情:

messageKey:

  • 类型: 字符串类型
  • 描述: 消息键

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createImageMessage({
    img: 'xxxxxx'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createSoundMessage

创建语音消息

createSoundMessage({params}, function(ret, err))

params

soundPath:

  • 类型:字符串类型
  • 描述: (必填项) 音频路径

soundDuration:

  • 类型: 整数类型
  • 描述: (必填项) 语音时长,单位 s

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,  	// 布尔类型, true表示操作成功
    messageKey: 'xxxx'
}
  • 字段详情:

messageKey:

  • 类型: 字符串类型
  • 描述: 消息键

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createSoundMessage({
    path: 'xxxx',
    duration: 50
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createVideoMessage

创建视频消息

createVideoMessage({params}, function(ret, err))

params

videoFilePath:

  • 类型:字符串类型
  • 描述: (必填项) 视频文件路径

type:

  • 类型: 字符串类型
  • 描述: (必填项) 视频类型,如 mp4 mov 等

duration:

  • 类型: 整数类型
  • 描述: (必填项) 视频时长,单位 s

snapshotPath:

  • 类型: 字符串类型
  • 描述: (必填项) 视频封面文件路径

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    messageKey: 'xxxx'
}
  • 字段详情:

messageKey:

  • 类型: 字符串类型
  • 描述: 消息键

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createVideoMessage({
    videoFilePath: 'xxxx',
    type: "mp4",
    duration: 10,
    snapshotPath: 'xxxxx'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createFileMessage

创建文件消息

createFileMessage({params}, function(ret, err))

params

filePath:

  • 类型:字符串类型
  • 描述: (必填项) 文件路径

fileName:

  • 类型: 字符串类型
  • 描述: (必填项) 文件名

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    messageKey: 'xxxx'
}
  • 字段详情:

messageKey:

  • 类型: 字符串类型
  • 描述: 消息键

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createFileMessage({
    filePath: 'xxxx',
    fileName: "file.mp4"
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createLocationMessage

创建地理位置消息

createLocationMessage({params}, function(ret, err))

params

desc:

  • 类型:字符串类型
  • 描述: (必填项) 位置描述

latitude:

  • 类型: 浮点类型
  • 描述: (必填项) 经度

longitude:

  • 类型: 浮点类型
  • 描述: (必填项) 维度

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    messageKey: 'xxxx'
}
  • 字段详情:

messageKey:

  • 类型: 字符串类型
  • 描述: 消息键

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createLocationMessage({
    desc: "this is a location",
    latitude: 33,
    longitude: 69
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createFaceMessage

创建表情消息

createFaceMessage({params}, function(ret, err))

SDK 并不提供表情包,如果开发者有表情包,可使用 index 存储表情在表情包中的索引,或者使用 data 存储表情映射的字符串 key,这些都由用户自定义,SDK 内部只做透传

params

index:

  • 类型: 整数类型
  • 描述: (必填项) 表情索引

dataMsg:

  • 类型: 字符串类型
  • 描述: (必填项) 表情数据

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,  	// 布尔类型, true表示操作成功
    messageKey: 'xxxxx'
}
  • 字段详情:

messageKey:

  • 类型: 字符串类型
  • 描述: 消息键

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createFaceMessage({
    index: 0,
    dataMsg: "this is a face data msg"
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#sendMessage

发送高级消息(高级版本:可以指定优先级,推送信息等特性)

sendMessage({params}, function(ret, err))

params

receiver:

  • 类型: 字符串类型
  • 描述: (可选项) 消息接收者的 userID, 如果是发送 C2C 单聊消息,只需要指定 receiver 即可
  • 注意: receiver或groupID必须有一个必填

groupId:

  • 类型: 字符串类型
  • 描述: (可选项) 目标群组 ID,如果是发送群聊消息,只需要指定 groupID 即可
  • 注意: receiver或groupID必须有一个必填

priority:

  • 类型: 整数类型
  • 描述: 消息优先级,仅针对群聊消息有效; 请把重要消息设置为高优先级(比如红包、礼物消息),高频且不重要的消息设置为低优先级(比如点赞消息)
  • 取值范围:
    • 0: 默认优先级
    • 1: 高优先级
    • 2: 正常优先级
    • 3: 低优先级

messageKey:

  • 类型: 字符串类型
  • 描述: (必填项) 消息键,由createXXXMessage生成

onlineUserOnly:

  • 类型: 布尔类型
  • 描述: 是否只有在线用户才能收到,如果设置为 YES ,接收方离线收不到,历史消息也拉取不到,常被用于实现”对方正在输入”或群组里的非重要提示等弱提示功能

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.sendMessage({
    receiver: 'test002',
    priority: 0,
    messageKey: 'xxxx'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#revokeMessage

撤回消息

revokeMessage({params}, function(ret, err))

params

msgId:

  • 类型: 字符串类型
  • 描述: (必填项) 需要撤回的消息Id

userId:

  • 类型: 字符串类型
  • 描述: (必填项) 需要撤回消息的接收方的用户Id

groupId:

  • 类型: 字符串类型
  • 描述: (必填项) 需要撤回的消息的群组的Id

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.revokeMessage({
    msgId: 'xxxxx',
    userId: 'test002'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getC2CHistoryMessageList

获取单聊历史消息

getC2CHistoryMessageList({params}, function(ret, err))

params

userId:

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

count:

  • 类型: 整数类型
  • 描述: (必填项) 拉取消息的个数,不宜太多,会影响消息拉取的速度,这里建议一次拉取 20 个

msgId:

  • 类型: 字符串类型
  • 描述: (必填项) 消息的起始消息Id,如果传 nil,起始消息为会话的最新消息

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,
    messageList: [
        message
        ...
    ]
}
  • 字段详情:

status:

  • 类型: 字符串类型
  • 描述: true表示获取消息成功

messageList:

  • 类型: 数组类型
  • 描述: 消息列表
  • 内部字段: message

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getC2CHistoryMessageList({
    userId: 'test002',
    count: 5,
    msgId: 'xxxx'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getGroupHistoryMessageList

获取群组历史消息

getGroupHistoryMessageList({params}, function(ret))

params

groupId:

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

count:

  • 类型: 整数类型
  • 描述: (必填项) 拉取消息的个数,不宜太多,会影响消息拉取的速度,这里建议一次拉取 20 个

msgId:

  • 类型: 字符串类型
  • 描述: (必填项) 消息的起始消息Id,如果传 nil,起始消息为会话的最新消息

callback

ret:

  • 类型: JSON对象
  • 内部字段
{
    status: true,
    messageList: [
        message
        ...
    ]
}
  • 字段详情:

status:

  • 类型: 字符串类型
  • 描述: true表示获取消息成功

messageList:

  • 类型: 数组类型
  • 描述: 消息列表
  • 内部字段: message

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getGroupHistoryMessageList({
    groupId: 'group001',
    count: 5,
    msgId: 'xxxxx'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#markC2CMessageAsRead

设置单聊消息已读

markC2CMessageAsRead({params}, function(ret, err))

params

userId:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.markC2CMessageAsRead({
    userId: 'test002'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#markGroupMessageAsRead

设置群组消息已读

markGroupMessageAsRead({params}, function(ret, err))

params

groupId:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.markGroupMessageAsRead({
    groupId: 'group001'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#deleteMessageFromLocalStorage

删除本地消息

deleteMessageFromLocalStorage({params}, function(ret, err))

params

msgId:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.deleteMessages({
    msgIdList: [
        'xxxx'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#insertGroupMessageToLocalStorage

向群组消息列表中添加一条消息

insertGroupMessageToLocalStorage({params}, function(ret, err))

params

groupId:

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

sender:

  • 类型: 字符串类型
  • 描述: (必填项) 消息发送者Id

messageKey:

  • 类型: 字符串类型
  • 描述: (必填项) 消息键

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.insertGroupMessageToLocalStorage({
    groupId: 'group001',
    sender: 'test002',
    messageKey: 'xxxxx'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setGroupListener

设置群组相关的事件监听器

setGroupListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}
{
    eventType: 'onMemberEnter',
    groupId: 'xdfasdf3233',
    member: memberInfo
    memberList: [
        memberInfo,
        ...
    ],
    infoList: [
        groupMemberChangeInfo,
        ...
    ]
    opUser: memberInfo,
    customData: 'jfkdafsdd2d3d'
}
  • 字段详情:

eventType:

  • 类型: 字符串类型
  • 描述: 事件名称
  • 取值范围:
    • onMemberEnter: 有用户加入群(全员能够收到)
    • onMemberLeave: 有用户离开群(全员能够收到)
    • onMemberInvited: 某些人被拉入某群(全员能够收到)
    • onMemberKicked: 某些人被踢出某群(全员能够收到)
    • onMemberInfoChanged: 群成员信息被修改(全员能收到)
    • onGroupCreated: 创建群(主要用于多端同步)
    • onGroupDismissed: 群被解散了(全员能收到)
    • onGroupRecycled: 群被回收(全员能收到)
    • onGroupInfoChanged: 群信息被修改(全员能收到)
    • onReceiveJoinApplication: 有新的加群请求(只有群主或管理员会收到)
    • onApplicationProcessed: 加群请求已经被群主或管理员处理了(只有申请人能够收到)
    • onGrantAdministrator: 指定管理员身份
    • onRevokeAdministrator: 取消管理员身份
    • onQuitFromGroup: 主动退出群组(主要用于多端同步, 直播群(AVChatRoom)不支持)
    • onReceiveRESTCustomData: 收到 RESTAPI 下发的自定义系统消息
    • onGroupAttributeChanged: 收到群属性更新的回调

groupId:

  • 类型: 字符串类型
  • 描述: 群 Id

opUser:

memberList:

  • 类型: JSON数组
  • 描述: 被处理的群成员
  • 内部成员: groupMemberInfo

infoList:

customData:

  • 类型: 字符串类型
  • 描述: 自定义数据

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setGroupListener({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#removeGroupListener

移除群组相关的事件监听器

removeGroupListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.removeGroupListener({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createGroup

创建群组

createGroup({params}, function(ret, err))

不支持在同一个 sdkAppId 下创建两个相同 groupId 的群

params

groupType:

  • 类型: 字符串类型
  • 描述: (必填项) 群类型, 我们为您预定义好了四种常用的群类型, 您也可以在控制台定义自己需要的群类型
  • 取值范围:
    • Work: 工作群,成员上限 200 人, 不支持由用户主动加入, 需要他人邀请入群, 适合用于类似微信中随意组建的工作群(对应老版本的 Private 群)
    • Public: 公开群,成员上限 2000 人, 任何人都可以申请加群, 但加群需群主或管理员审批, 适合用于类似 QQ 中由群主管理的兴趣群
    • Meeting: 会议群,成员上限 6000 人, 任何人都可以自由进出, 且加群无需被审批, 适合用于视频会议和在线培训等场景(对应老版本的 ChatRoom 群)
    • AVChatRoom: 直播群, 人数无上限, 任何人都可以自由进出, 消息吞吐量大, 适合用作直播场景中的高并发弹幕聊天室

groupId:

  • 类型: 字符串类型
  • 描述: (可选项) 自定义群组Id

groupName:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createGroup({
    groupType: "Meeting",
    groupId: 'group001',
    groupName: 'groupName001'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createGroupWithMemberList

创建自定义群组(高级版本:可以指定初始的群成员)

createGroupWithMemberList({params}, function(ret, err))

params

groupInfo:

  • 类型: JSON类型
  • 描述: (必填项) 群组信息
  • 内部字段
{
    groupId: "group001"
    groupType: "Work"
    groupName: "工作群",
    notification: "",
    introduction: "",
    faceURL: ""
}
  • 字段详情:

groupId:

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

groupType:

  • 类型: 字符串类型
  • 描述: (必填项) 群类型, 我们为您预定义好了四种常用的群类型, 您也可以在控制台定义自己需要 的群类型
  • 取值范围:
    • Work: 工作群,成员上限 200 人, 不支持由用户主动加入, 需要他人邀请入群, 适合用于类似微信中随意组建的工作群(对应老版本的 Private 群)
    • Public: 公开群,成员上限 2000 人, 任何人都可以申请加群, 但加群需群主或管理员审批, 适合用于类似 QQ 中由群主管理的兴趣群
    • Meeting: 会议群,成员上限 6000 人, 任何人都可以自由进出, 且加群无需被审批, 适合用于视频会议和在线培训等场景(对应老版本的 ChatRoom 群)
    • AVChatRoom: 直播群, 人数无上限, 任何人都可以自由进出, 消息吞吐量大, 适合用作直播场景中的高并发弹幕聊天室

groupName:

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

notification:

  • 类型: 字符串类型
  • 描述: (可选项) 群公告

introduction:

  • 类型: 字符串类型
  • 描述: (可选项) 群简介

faceUrl:

  • 类型: 字符串类型
  • 描述: (可选项) 群头像

allMuted:

  • 类型: 布尔类型
  • 描述: (可选项) 是否全员禁言

groupAddOpt:

  • 类型: 整数类型
  • 描述: (可选项) 加群是否需要管理员审批,工作群(Work)不能主动加入,不支持此设置项
  • 取值范围:
    • 0: 任何人可以加入
    • 1: 需要管理员审批
    • 2: 禁止加群

memberList:

  • 类型: JSON数组
  • 内部字段:
[
    {
        userId: 'test1',
        role: 0
    }
]
  • 字段详情:

userId:

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

role:

  • 类型: 整数类型
  • 描述: (必填项) 群成员类型
  • 注意: role 不设置或则设置为3,进群后默认为群成员
  • 取值范围:
    • 0: 普通成员
    • 1: 群管理员
    • 2: 群拥有者
    • 3: 未定义者

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createGroupWithMemberList({
    groupInfo: {
        groupId: 'group001',
        groupType: "Meeting",
        groupName: 'groupName001',
        notification: 'this is a introduction',
        introduction: "this is a notification",
        faceUrl: 'http://xxxx.myqcloud.com/xxx.png'
    },
    memberList:[
        {
            userId: 'test002',
            role: 0
        }
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#joinGroup

加入群组

joinGroup({params}, function(ret, err))

工作群(Work): 不能主动入群,只能通过群成员调用 inviteUserToGroup() 接口邀请入群 公开群(Public): 申请入群后,需要管理员审批,管理员在收到onReceiveJoinApplication 回调后调用 getGroupApplicationList() 接口处理加群请求 其他群: 可以直接入群

params

groupId:

  • 类型: 字符串类型
  • 描述: (必填项) 要加入的群组Id

msg:

  • 类型: 字符串类型
  • 描述: (必填项) 加入群的信息

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.joinGroup({
    groupId: 'group001',
    msg: 'this is a join group msg'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#quitGroup

退出群组

quitGroup({params}, function(ret, err))

在公开群(Public)、会议(Meeting)和直播群(AVChatRoom)中,群主是不可以退群的,群主只能调用 dismissGroup 解散群组

params

groupId:

  • 类型: 字符串类型
  • 描述: (必填项) 要退出的群组Id

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.quitGroup({
    groupId: 'group001'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#dismissGroup

解散群组

dismissGroup({params}, function(ret,err))

Work: 任何人都无法解散群组 其他群: 群主可以解散群组

params

groupId:

  • 类型: 字符串类型
  • 描述: (必填项) 要解散的群组Id

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.dismissGroup({
    groupId: 'group001'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getJoinedGroupList

获取当前用户已经加入的群列表

getJoinedGroupList({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,  // 布尔类型, true表示操作成功
    groupList: [
        groupInfo,
        ...
    ]
}
  • 字段详情:

groupList:

  • 类型: JSON数组
  • 描述: 群组信息列表

groupInfo:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getJoinedGroupList({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getGroupsInfo

拉取群资料

getGroupsInfo({params}, function(ret, err))

params

groupIdList:

  • 类型: JSON数组
  • 描述: (必填项)群 Id 列表

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,    // 布尔类型, true表示操作成功
    groupResultList: [
        ...
    ]
}
  • 字段详情:

groupResultList:

  • 类型: JSON数组
  • 描述: 群组列表结果
  • 内部字段:

resultCode:

  • 类型: 整数类型
  • 描述: 结果码

resultMessage:

  • 类型: 字符串类型
  • 描述: 结果信息

groupInfo:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getGroupsInfo({
    groupIdList: [
        'group001'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setGroupInfo

修改群资料

setGroupInfo({params}, function(ret, err))

params

groupId:

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

groupName:

  • 类型: 字符串类型
  • 描述: (可选项) 设置群名称

faceUrl:

  • 类型: 字符串类型
  • 描述: (可选项) 设置群头像Url

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setGroupInfo({
    groupId: 'group001',
    groupName: 'groupName001',
    faceUrl: 'http://xxxx.myqcloud.com/xxx.png',
    groupAddOpt: 0
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setReceiveMessageOpt

设置群消息接收选项

setReceiveMessageOpt({params}, function(ret, err))

params

groupId:

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

opt:

  • 类型: 整数类型
  • 描述: (必填项) 消息接收选项
  • 取值范围:
    • 0: 在线正常接收消息,离线时会有厂商的离线推送通知
    • 1: 在线正常接收消息,离线不会有推送通知
    • 2: 不会接收到群消息

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setReceiveMessageOpt({
    groupId: 'group001',
    opt: 0
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getGroupMemberList

获取群成员列表

getGroupMemberList({params}, function(ret, err))

params

groupId:

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

filter:

  • 类型: 整数类型
  • 描述: (必填项) 指定群成员类型
  • 取值范围: 0: 所有类型 1: 群主 2: 群管理员 3: 普通群成员

nextSeq:

  • 类型: 整数类型
  • 描述: (必填项) 分页拉取标志;第一次拉取填0,回调成功如果 nextSeq 不为零,需要分页,传入再次拉取,直至为0

callback

ret:

  • 类型: JSON对象
  • 内部字段
{
    status: true,   // 布尔类型, true表示操作成功
    memberList: [
        groupMemberInfo, 
        ...
    ]
}
  • 字段详情:

memberList:

  • 类型: JSON数组
  • 描述: 群成员信息列表
  • 字段详情: groupMemberInfo

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

callback

Im.getGroupMemberList({
    groupId: 'group001',
    filter: 0,
    nextSeq: 0
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setGroupMemberInfo

修改指定的群成员资料

setGroupMemberInfo({params}, function(ret, err))

params

groupId:

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

info:

  • 类型: JSON对象
  • 描述: (必填项) 用户信息
  • 内部字段:
{
    userId: "test2",
    nameCard: "this is name card"
}
  • 字段详情:

userId:

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

nameCard:

  • 类型: 字符串类型
  • 描述: 个性签名

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setGroupMemberInfo({
    groupId: 'group001',
    info: {
        userId: 'test001',
        nameCard: 'this is a namecard'
    }
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#muteGroupMember

禁言(只有管理员或群主能够调用)

muteGroupMember({params}, function(ret, err))

params

groupId:

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

userId:

  • 类型: 字符串类型
  • 描述: (必填项) 被禁言的用户 Id

seconds:

  • 类型: 整数类型
  • 描述: (必填项) 禁言时间, 单位秒

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.muteGroupMember({
    groupId: 'group001',
    userId: 'test002',
    seconds: 50
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#kickGroupMember

踢人

kickGroupMember({params}, function(ret, err))

不同类型的群有如下限制: 工作群(Work):只有群主或 APP 管理员可以踢人。 公开群(Public)、会议群(Meeting):群主、管理员和 APP 管理员可以踢人 直播群(AVChatRoom):只支持禁言(muteGroupMember),不支持踢人

params

groupId:

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

userId:

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

reason:

  • 类型: 字符串类型
  • 描述: (必填项) 踢人原因

callback

ret:

  • 类型: JSON对象
  • 内部字段
{
    status: true,   // 布尔类型, true表示操作成功
    resultList: [
        groupMemberOperationResult,
        ...
    ]
}
  • 字段详情:

resultList:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.kickGroupMember({
    groupId: 'group001',
    memberList: [
        'test002',
    ],
    reason: 'this is a reason'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setGroupMemberRole

切换群成员的角色

setGroupMemberRole({params}, function(ret, err))

params

groupId:

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

userId:

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

role:

  • 类型: 整数类型
  • 描述: (必填项) 切换的角色
  • 取值范围:
    • 0: 普通群成员
    • 1: 管理员

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setGroupMemberRole({
    groupId: 'group001',
    userId: 'test002',
    role: 0
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#transferGroupOwner

转让群主

transferGroupOwner({params}, function(ret, err))

params

groupId:

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

userId:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.transferGroupOwner({
    groupId: 'group001',
    userId: 'test002'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#inviteUserToGroup

邀请他人入群

inviteUserToGroup({params}, function(ret, err))

params

groupId:

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

userIdList:

  • 类型: JSON数组
  • 描述: (必填项) 用户Id列表
  • 内部字段:

userId:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.inviteUserToGroup({
    groupId: 'group001',
    userIdList: [
        'test002',
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getGroupApplicationList

获取加群的申请列表

getGroupApplicationList({params}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    unreadCount: 3,
    groupApplicationList: [
        groupApplication,
        ...
    ]
}
  • 字段详情:

unreadCount:

  • 类型: 整数类型
  • 描述: 未被读取数量

groupApplicationList:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getGroupApplicationList({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#acceptGroupApplication

同意某一条加群申请

acceptGroupApplication({params}, function(ret, err))

params

index:

  • 类型: 整数类型
  • 描述: (必填项) 获取群申请列表里的索引值

reason:

  • 类型: 字符串类型
  • 描述: (必填项) 同意原因

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.acceptGroupApplication({
    index: 0,
    reason: 'this is a reason'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#refuseGroupApplication

拒绝某一条加群申请

refuseGroupApplication({params}, function(ret, err))

params

index:

  • 类型: 整数类型
  • 描述: (必填项) 获取群申请列表里的索引值

reason:

  • 类型: 字符串类型
  • 描述: (必填项) 拒绝原因

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.refuseGroupApplication({
    index: 0,
    reason: 'this is a reason'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setGroupApplicationRead

标记申请列表为已读

setGroupApplicationRead({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setGroupApplicationRead({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setConversationListener

设置会话监听器

setConversationListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}
{
    eventType: "onSyncServerStart"
    conversationList: [
        ...
    ]
}
  • 字段详情:

eventType:

  • 类型: 字符串类型
  • 描述: 事件名称
  • 取值范围:
    • onSyncServerStart: 同步服务器会话开始
    • onSyncServerFinish: 同步服务器会话完成
    • onSyncServerFailed: 同步服务器会话失败
    • onNewConversation: 有新的会话
    • onConversationChanged: 某个会话的关键信息发生变化
    • onConversationDeleted: 某些会话被删除了

conversationList:

  • 类型: JSON数组
  • 描述: 会话列表
  • 字段详情: conversation

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setConversationListener({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#removeConversationListener

移除会话监听器

removeConversationListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.removeConversationListener({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getConversationList

获取会话列表

getConversationList({params}, function(ret, err))

params

nextSeq:

  • 类型: 整数类型
  • 描述: (必填项) 分页拉取游标,第一次默认取传 0,后续分页拉传上一次分页拉取回调里的

count:

  • 类型: 整数类型
  • 描述: (必填项) 分页拉取的个数,一次分页拉取不宜太多,会影响拉取的速度,建议每次拉取 100 个会话

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true, 	// 布尔类型, true表示操作成功
    nextSeq: 110,
    isFinished: false,
    conversationList: [
        conversation,
        ...
    ]
}

nextSeq:

  • 类型: 整数类型
  • 描述: 分页拉取游标

isFinished:

  • 类型: 布尔类型
  • 描述: 是否结束

conversationList:

  • 类型: JSON数组
  • 描述: 会话列表
  • 字段详情: conversation

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getConversationList({
    nextSeq: 0,
    count: 10
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#deleteConversation

删除会话

deleteConversation({params}, function(ret, err))

params

conversationId:

  • 类型: 字符串类型
  • 描述: (必填项) 会话Id

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.deleteConversation({
    conversationId: 'xxxxx'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setConversationDraft

设置会话草稿

setConversationDraft({params}, function(ret, err))

params

conversationID:

  • 类型: 字符串类型
  • 描述: (必填项) 会话ID

draftText:

  • 类型: 字符串类型
  • 描述: (必填项) 会话草稿

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setConversationDraft({
    conversationId: 'xxxx',
    draftText: 'This is a draftText'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getUsersInfo

获取用户资料

getUsersInfo({param}, function(ret, err))

获取自己的资料,传入自己的 Id 即可

params

userIdList

  • 类型: JSON数组
  • 描述: (必填项) 需要获取资料的用户ID列表, userIdList 建议一次最大 100 个,因为数量过多可能会导致数据包太大被后台拒绝,后台限制数据包最大为 1M

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    infoList: [ 	
        userInfo,
        ...
    ]
}
  • 字段详情:

infoList:

  • 类型: 数组类型
    
    • 描述: 用户信息列表,
      
      • 字段详情: [userInfo](#userInfo)
        

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getUsersInfo({
    userIdList: ['test001']
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setSelfInfo

修改个人资料

setSelfInfo({params}, function(ret, err))

params

selfSignature:

  • 类型: 字符串类型
  • 描述: (可选项) 个性签名

gender:

  • 类型: 整数类型
  • 描述: (可选项) 性别
  • 取值范围:
    • 0: 未知, 代表V2TIM_GENDER_UNKNOWN
    • 1: 男性, 代表V2TIM_GENDER_MALE
    • 2: 女性, 代表V2TIM_GENDER_FEMALE

allowType:

  • 类型: 整数类型
  • 描述: (可选项) 设置好友验证方式,只能针对本人设置
  • 取值范围:
    • 0: 允许所有人, V2TIM_FRIEND_ALLOW_ANY
    • 1: 拒绝所有人, V2TIM_FRIEND_DENY_ANY
    • 2: 需要确认, V2TIM_FRIEND_NEED_CONFIRM

nickName:

  • 类型: 字符串类型
  • 描述: (可选项) 用户昵称

faceUrl:

  • 类型: 字符串
  • 描述: (可选项) 用户头像

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setSelfInfo({
    selfSignature: 'this is self signature001',
    nickName: 'nickName001',
    allowType: 0
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#addToBlackList

添加用户到黑名单

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

params

userIdList:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.addToBlackList({
    userIdList: [
        'test002'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#deleteFromBlackList

把用户从黑名单中删除

deleteFromBlackList({params}, function(ret, err))

params

userIdList:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.deleteFromBlackList({
    userIdList: [
        'test002'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getBlackList

获取黑名单列表

getBlackList({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    infoList: [
        ...
    ]
}
  • 字段详情:

infoList:

  • 类型: JSON数组
  • 描述: 黑名单好友列表
  • 字段详情: friendInfo

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getBlackList({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setFriendListener

设置关系链监听器

setFriendListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}
{
    eventType: "onFriendApplicationListAdded",
    applicationList: [
        ...
    ],
    userIDList: [
        ...
    ],
    infoList: [
        ...
    ]
}
  • 字段详情:

eventType:

  • 类型: 字符串类型
  • 描述: 事件名称
  • 取值范围:
    • onFriendApplicationListAdded: 好友申请新增通知,两种情况会收到这个回调
    • onFriendApplicationListDeleted: 好友申请删除通知
    • onFriendApplicationListRead: 好友申请已读通知,如果调用 setFriendApplicationRead 设置好友申请列表已读,会收到这个回调
    • onFriendListAdded: 好友新增通知
    • onFriendListDeleted: 好友删除通知,两种情况会收到这个回调:
      1. 自己删除好友(单向和双向删除都会收到回调)
      2. 好友把自己删除(双向删除会收到)
    • onBlackListAdded: 黑名单新增通知
    • onBlackListDeleted: 黑名单删除通知
    • onFriendProfileChanged: 好友资料变更通知

applicationList:

userIdList:

  • 类型: JSON数组
  • 描述: 用户Id列表

infoList:

  • 类型: JSON数组
  • 描述: 好友信息
  • 字段详情: friendInfo

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setFriendListener({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#removeFriendListener

移除好友关系监听

removeFriendListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.removeFriendListener({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getFriendList

获取好友列表

getFriendList({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段
{
    status: true,   // 布尔类型, true表示操作成功
    infoList: [
        friendInfo,
        ...
    ]
}
  • 字段详情:

infoList:

  • 类型: JSON数组
  • 描述: 好友列表
  • 内部字段: friendInfo

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getFriendList({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getFriendsInfo

获取指定好友资料

getFriendsInfo({params}, function(ret, err))

params

userIdList:

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

callback

status:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    resultList: [
        friendInfoResult,
        ...
    ]
}
  • 字段详情:

resultList:

  • 类型: JSON数组
  • 描述: 好友资料结果列表
  • 内部字段: friendInfoResult

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getFriendsInfo({
    userIdList: [
        'test002'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setFriendInfo

设置指定好友资料

setFriendInfo({params}, function(ret, err))

params

userId:

  • 类型: 字符串类型
  • 描述: (可选项) 用户Id

friendRemark:

  • 类型: 字符串类型
  • 描述: (可选项) 好友备注

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setFriendInfo({
    userId: 'test002',
    friendRemark: 'this is a friend remark'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#addFriend

添加好友

addFriend({params}, function(ret, err))

params

userId:

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

friendRemark:

  • 类型: 字符串类型
  • 描述: (可选项) 备注, 最大96字节

addWording:

  • 类型: 字符串类型
  • 描述: (可选项) 请求说明(最大120字节)

addSource:

  • 类型: 字符串类型
  • 描述: (可选项) 添加来源

addType:

  • 类型: 整数类型
  • 描述: (可选项) 添加好友方式
  • 取值范围:
    • 0: 双向好友
    • 1: 单向好友

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    result: {
        ...
    }
}
  • 字段详情:

result:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.addFriend({
    userId: 'test002',
    friendRemark: 'this is a friendRemark'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#deleteFromFriendList

删除好友

deleteFromFriendList({params}, function(ret, err))

params

userIdList:

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

deleteType:

  • 类型: 整数类型
  • 描述: (必填项) 删除类型
  • 取值范围:
    • 0: 双向好友
    • 1: 单向好友

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    resultList: {
        friendOperationResult,
        ...
    }
}
  • 字段详情:

resultList:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.deleteFromFriendList({
    userIdList: [
        'test002'
    ],
    deleteType: 1
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#checkFriend

检查指定用户的好友关系

checkFriend({params}, function(ret, err))

params

userId:

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

type:

  • 类型: 整数类型
  • 描述: (必填项) 好友关系类型
  • 取值范围:
    • 0: 双向好友
    • 1: 单向好友

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    result: {
        friendCheckResult,
        ...
    }
}
  • 字段详情:

result:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.checkFriend({
    userId: 'test002',
    checkType: 0
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getFriendApplicationList

获取好友申请列表

getFriendApplicationList({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,  // 布尔类型, true表示操作成功
    unreadCount: 3,
    applicationList: [
        friendApplication, 
        ...
    ]
}
  • 字段详情:

unreadCount:

  • 类型: 整数类型
  • 描述: 未读数量

applicationList:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getFriendApplicationList({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#acceptFriendApplication

同意好友申请

acceptFriendApplication({params}, function(ret, err))

params

index:

  • 类型: 整数类型
  • 描述: (必填项) 好友申请列表索引

type:

  • 类型: 整数类型
  • 描述: (必填项) 建立单向/双向好友关系

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    result: {
        ...
    }
}
  • 字段详情:

result:

  • 类型: JSON对象
    • 描述: 好友申请操作结果
      
      • 内部字段: [friendOperationResult](#friendOperationResult)
        

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.acceptFriendApplication({
    index: 0,
    type: 0
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#refuseFriendApplication

拒绝好友申请

refuseFriendApplication({params}, function(ret, err))

params

index:

  • 类型: 整数类型
  • 描述: (必填项) 好友申请列表索引

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    result: {
        ...
    }
}
  • 字段详情:

result:

  • 类型: JSON对象
    • 描述: 好友申请操作结果
      
      • 内部字段: [friendOperationResult](#friendOperationResult)
        

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.refuseFriendApplication({
    index: 0,
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#deleteFriendApplication

删除好友申请

deleteFriendApplication({params}, function(ret, err))

params

index:

  • 类型: 整数类型
  • 描述: (必填项) 好友申请列表索引

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.deleteFriendApplication({
    index: 0,
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#setFriendApplicationRead

设置好友申请已读

setFriendApplicationRead({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.setFriendApplicationRead({}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#createFriendGroup

新建好友分组

createFriendGroup({params}, function(ret, err))

params

groupName:

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

userIdList:

  • 类型: JSON数组
  • 描述: (必填项) 要添加到分组中的好友

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,
    resultList: [
        ...
    ]
}
  • 字段详情:

resultList:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.createFriendGroup({
    groupName: 'friendGroupName001',
    userIdList: [
        'test001'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#getFriendGroupList

获取分组信息

getFriendGroupList({params}, function(ret, err))

params

groupNameList:

  • 类型: JSON数组
  • 描述: (必填项) 分组名称列表

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,
    groupList: [
        friendGroup,
        ...
    ]
}
  • 字段详情:

groupList:

  • 类型: JSON数组
  • 描述: 好友操作结果列表
  • 字段详情: friendGroup

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.getFriendGroupList({
    groupNameList: [
        'friendGroupName001'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#deleteFriendGroup

删除好友分组

deleteFriendGroup({params}, function(ret, err))

params

groupNameList:

  • 类型: JSON数组
  • 描述: (必填项) 分组名称列表

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.deleteFriendGroup({
    groupNameList: [
        'friendGroupName001'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#renameFriendGroup

修改好友分组的名称

renameFriendGroup({params}, function(ret, err))

params

oldName:

  • 类型: 字符串类型
  • 描述: (必填项) 旧的分组名称

newName:

  • 类型: 字符串类型
  • 描述: (必填项) 新的分组名称

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.renameFriendGroup({
    oldName: 'xxxx',
    newName: 'xxxx'
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#addFriendsToFriendGroup

添加好友到一个好友分组

addFriendsToFriendGroup({params}, function(ret, err))

params

groupName:

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

userIdList:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,   // 布尔类型, true表示操作成功
    resultList: [
        ...
    ]
}
  • 字段详情:

resultList:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.addFriendsToFriendGroup({
    groupName: 'friendGroupName001',
    userIdList: [
        'test002'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

#deleteFriendsFromFriendGroup

从好友分组中删除好友

deleteFriendsFromFriendGroup({params}, function(ret, err))

params

groupName:

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

userIdList:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true,    // 布尔类型, true表示操作成功
    resultList: [
        friendOperationResult,
        ...
    ]
}
  • 字段详情:

resultList:

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

Im.deleteFriendsFromFriendGroup({
    groupName: 'friendGroupName001',
    userIdList: [
        'test002'
    ]
}, function(ret, err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

##数据结构

###userInfo

用户信息

  • 类型: JSON对象
{
    userId: 'test001', 
    nickName: 'nickName001',
    faceUrl: 'http://xxxx.myqcloud.com/xxx.png'
}

userId:

  • 类型: 字符串
  • 描述: 用户Id

nickName:

  • 类型: 字符串类型
  • 描述: 用户昵称

faceUrl:

  • 类型: 字符串类型
  • 描述: 用户头像

###userFullInfo

用户详细信息

  • 类型: JSON对象
{
    userId: 
    nickName:
    faceUrl:
    selfSignature:
    gender:
    allowType:
}

userId:

  • 类型: 字符串
  • 描述: 用户Id

nickName:

  • 类型: 字符串类型
  • 描述: 用户昵称

faceUrl:

  • 类型: 字符串类型
  • 描述: 用户头像

selfSignature:

  • 类型: 字符串
  • 描述: 签名

gender:

  • 类型: 整数类型
  • 描述: 性别
  • 取值范围:
    • 0: UNKNOWN:未知
    • 1: MALE: 男
    • 2: FEMALE: 女

allowType:

  • 类型: 整数类型
  • 描述: 好友验证方式
  • 取值范围:
    • 0: ALLOW_ANY 允许所有
    • 1: DENY_ANY 拒绝所有
    • 2: FRIEND_NEED_CONFIRM 需要确认

###groupMemberInfo

群成员信息

  • 类型: JSON对象
{
    userId: 'test001',
    nickName: 'nickName001',
    friendRemark: 'this is a friendRemark',
    nameCard: 'this is a nameCard',
    faceUrl: 'http://xxx.myqcloud.com/xxx.png'
}

userId:

  • 类型: 字符串
  • 描述: 用户Id

nickName:

  • 类型: 字符串类型
  • 描述: 用户昵称

friendRemark:

  • 类型: 字符串类型
  • 描述: 获取好友备注

nameCard:

  • 类型: 字符串类型
  • 描述: 群成员名片

faceUrl:

  • 类型: 字符串类型
  • 描述: 用户头像

###groupMemberInfo

获取群成员基本资料

{
    userId: 'test001',
    nickName: 'nickName001',
    friendRemark: 'this is friendRemark'
    nameCard: 'This is nameCard',
    faceUrl: 'http://xxxx.myqcloud.com/xxx.png'
}

userId:

  • 类型: 字符串
  • 描述: 用户Id

nickName:

  • 类型: 字符串类型
  • 描述: 用户昵称

faceUrl:

  • 类型: 字符串类型
  • 描述: 用户头像

###groupMemberChangeInfo

群成员修改信息

{
    userId: 'test001',
    muteTime: 60
}

userId:

  • 类型: 字符串
  • 描述: 用户Id

muteTime:

  • 类型: 整数类型
  • 描述: 获取被禁言时间

###message

类型: JSON对象 描述: 消息对象

{
    msgId: 'xxxxxx',
    timestamp: 
    sender: 'test002',
    nickName: 'nickName001', 
    friendRemark: 'This is friendRemark',
    nameCard: 'This is nameCard',
    faceUrl: 'http://xxxx.myqcloud.com/xxx.png', 
    groupId: 'group001',
    userId: 'test001',
    status: 1,
    isSelf: false, 
    isRead: true, 
    isPeerRead: true
    elemType: 1
    msg: { ... }
    localCustomData: ''
    localCustomInt: 0
}

msgId:

  • 类型: 字符串类型
  • 描述: 消息 Id(消息创建的时候为 nil,消息发送的时候会生成)

timestamp:

  • 类型: 整数类型
  • 描述: 消息时间

sender:

  • 类型: 字符串类型
  • 描述: 消息发送者

nickName:

  • 类型: 字符串类型
  • 描述: 消息发送者昵称

friendRemark:

  • 类型: 字符串类型
  • 描述: 消息发送者好友备注

nameCard:

  • 类型: 字符串类型
  • 描述: 如果是群组消息,nameCard 为发送者的群名片

faceUrl:

  • 类型: 字符串类型
  • 描述: 消息发送者头像

groupId:

  • 类型: 字符串类型
  • 描述: 如果是群组消息,groupID 为会话群组 ID,否则为 nil

userId:

  • 类型: 字符串类型
  • 描述: 如果是单聊消息,userId 为会话用户 Id,否则为 nil

status:

  • 类型: 整数类型
  • 描述: 消息的状态
  • 取值范围:
    • 0: 消息发送中
    • 1: 消息发送成功
    • 2: 消息发送失败
    • 3: 消息被删除
    • 4: 被撤销的消

isSelf:

  • 类型: 布尔类型
  • 描述: 消息发送者是否是自己

isRead:

  • 类型: 布尔类型
  • 描述: 消息自己是否已读

isPeerRead:

  • 类型: 布尔类型
  • 描述: 消息对方是否已读(只有 C2C 消息有效)

elemType:

  • 类型: 整数类型
  • 描述: 消息类型
  • 取值范围:
    • 0: 未知消息
    • 1: 文本消息
    • 2: 自定义消息
    • 3: 图片消息
    • 4: 语音消息
    • 5: 视频消息
    • 6: 文件消息
    • 7: 地理位置消息
    • 8: 表情消息
    • 9: 群 Tips 消息

elem:

  • 类型: JSON对象

  • 描述: 消息内容

  • 字段详情

  • 文本消息:

text:

  • 类型: 字符串
  • 描述: 文本消息内容

自定义消息:

customMsg:

  • 类型: 字符串

  • 描述: 自定义消息文本

  • 图片消息:

imageList:

  • 类型: 数组类型
  • 描述: 图片列表
  • 内部字段:

uuid:

  • 类型: 字符串类型
  • 描述: 图片 Id,内部标识,可用于外部缓存 key

type:

  • 类型: 整数类型
  • 描述: 图片类型
  • 取值范围:
    • 0: 缩略图
    • 1: 大图
    • 2: 原图

size:

  • 类型: 整数类型
  • 描述: 图片大小
  • 注意: 只有原图时有效

width:

  • 类型: 整数类型
  • 描述: 图片宽度

height:

  • 类型: 整数类型
  • 描述: 图片高度

path:

  • 类型: 字符串类型

  • 描述: 图片的路径

  • 语音消息:

uuid:

  • 类型: 字符串类型
  • 描述: 语音消息内部 ID

size:

  • 类型: 整数类型
  • 描述: 语音数据大小

duration:

  • 类型: 整数类型
  • 描述: 语音长度(秒)

path:

  • 类型: 字符串类型

  • 描述: 语音文件路径

  • 视频消息:

uuid:

  • 类型: 字符串类型
  • 描述: 视频 ID,内部标识,可用于外部缓存 key

size:

  • 类型: 整数类型
  • 描述: 视频大小

duration:

  • 类型: 整数类型
  • 描述: 视频类型

path:

  • 类型: 整数类型
  • 描述: 视频时长

snapshot:

  • 类型: JSON类型
  • 描述: 视频封面
  • 内部字段:

uuid:

  • 类型: 字符串类型
  • 描述: 截图 ID,内部标识, 可用于外部缓存 key

size:

  • 类型: 整数类型
  • 描述: 截图 size

width:

  • 类型: 整数类型
  • 描述: 截图宽

height:

  • 类型: 整数类型
  • 描述: 截图高

path:

  • 类型: 整数类型

  • 描述: 封面截图路径

  • 文件消息:

uuid:

  • 类型: 字符串类型
  • 描述: 文件 ID, 内部标识, 可用于外部缓存 key

name:

  • 类型: 字符串类型
  • 描述: 文件显示名称

size:

  • 类型: 整数类型
  • 描述: 文件大小

path:

  • 类型: 字符串类型
  • 描述: 文件路径

位置消息:

desc:

  • 类型: 字符串类型
  • 描述: 地理位置描述信息

longitude:

  • 类型: 浮点数
  • 描述: 经度,发送消息时设置

latitude:

  • 类型: 浮点数

  • 描述: 纬度,发送消息时设置

  • 表情消息:

index:

  • 类型: 整数类型
  • 描述: 表情索引,用户自定义

data:

  • 类型: 字符串类型
  • 描述: 额外数据,用户自定义

download:

  • 类型: JSON对象
  • 描述: 下载进度信息

eventType:

  • 类型: 字符串类型
  • 描述: 下载事件名称
  • 取值范围
    • onProgress: 下载进度事件
    • onSuccess: 下载成功
    • onError: 下载错误

progressInfo:

  • 类型: JSON对象
  • 描述: 下载进度信息
  • 内部字段:

currentSize:

  • 类型: 整数类型
  • 描述: 当前已经完成的下载大小

totalSize:

  • 类型: 整数类型
  • 描述: 总大小

localCustomData:

  • 类型: 字符串类型
  • 描述: 消息自定义数据(本地保存,不会发送到对端,程序卸载重装后失效)

localCustomInt:

  • 类型: 整数类型
  • 描述: 消息自定义数据,可以用来标记语音、视频消息是否已经播放(本地保存,不会发送到对端,程序卸载重装后失效)

###groupInfo

  • 类型: JSON对象
  • 描述: 群资料
{
    groupId:
    groupType:
    groupName:
    notification:
    introduction:
    faceUrl:
    allMuted:
    owner:
    createtime:
    groupAddOpt:
    lastInfoTime:
    lastMessageTime:
    memberCount:
    onlineCount:
    role:
    recvOpt:
    joinTime:
}

groupId:

  • 类型: 字符串类型
  • 描述: 群组Id

groupType:

  • 类型: 字符串类型
  • 描述: 群组类型

groupName:

  • 类型: 字符串类型
  • 描述: 群组名称

notification:

  • 类型: 字符串类型
  • 描述: 群公告

introduction:

  • 类型: 字符串类型
  • 描述: 群简介

faceUrl:

  • 类型: 字符串类型
  • 描述: 群头像

allMuted:

  • 类型: 字符串类型
  • 描述: 是否全员禁言

owner:

  • 类型: 字符串类型
  • 描述: 群创建人/管理员

createTime:

  • 类型: 整数类型
  • 描述: 群创建时间

groupAddOpt:

  • 类型: 整数类型
  • 描述: 加群是否需要管理员审批

lastInfoTime:

  • 类型: 整数类型
  • 描述: 群最近一次群资料修改时间

lastMessageTime:

  • 类型: 整数类型
  • 描述: 群最近一次发消息时间

memberCount:

  • 类型: 整数类型
  • 描述: 群成员总数量

onlineCount:

  • 类型: 整数类型
  • 描述: 在线成员数量

role:

  • 类型: 整数类型
  • 描述: 当前用户在此群组中的角色

recvOpt:

  • 类型: 整数类型
  • 描述: 当前用户在此群组中的消息接收选项,修改群消息接收选项请调用 setReceiveMessageOpt 接口

joinTime:

  • 类型: 整数类型
  • 描述: 当前用户在此群中的加入时间,不支持设置,系统自动生成

###groupMemberOperationResult

{
    userId:
    result:
}

userId:

  • 类型: 字符串类型
  • 描述: 用户Id

result:

  • 类型: 整数类型
  • 描述: 返回操作结果
  • 取值范围:
    • 0: 操作失败
    • 1: 操作成功
    • 2: 操作非法
    • 3: 操作挂起

###groupApplication

群申请

{
    groupId:
    fromUser:
    fromUserNickName:
    fromUserFaceUrl:
    toUser:
    addTime:
    requestMsg:
    handleMsg:
    getType:
    handleStatus:
    handleResult:
}

groupId:

  • 类型: 字符串类型
  • 描述: 群Id

fromUser:

  • 类型: 字符串类型
  • 描述: 获取请求者 Id,请求加群:请求者,邀请加群:邀请人

fromUserNickName

  • 类型: 字符串类型
  • 描述: 请求者昵称

fromUserFaceUrl

  • 类型: 字符串类型
  • 描述: 请求者头像

toUser:

  • 类型: 字符串类型
  • 描述: 获取处理者 ID, 请求加群:0,邀请加群:被邀请人

addTime:

  • 类型: 字符串类型
  • 描述: 获取群未决添加的时间,单位:秒

requestMsg:

  • 类型: 字符串类型
  • 描述: 请求者添加的附加信息

handleMsg:

  • 类型: 字符串类型
  • 描述: 处理者添加的附加信息

getType:

  • 类型: 整数类型
  • 描述: 群未决请求类型
  • 取值范围:
    • 0: 申请加入类型
    • 1: 邀请加入类型

handleStatus:

  • 类型: 整数类型
  • 描述: 群未决处理状态
  • 取值范围:
    • 0: 未处理
    • 1: 已被其他人处理
    • 2: 自己已处理

handleResult:

  • 类型: 整数类型
  • 描述: 群未决处理操作类型
  • 取值范围:
    • 0: 同意
    • 1: 拒绝

##conversation

会话

{
    type: 
    conversationId:
    userId:
    groupId:
    showName:
    faceUrl:
    unreadCount:
    lastMessage:
    recvOpt:
    draftText:
}

type:

  • 类型: 整数类型
  • 描述: 会话类型
  • 取值范围:
    • 0: C2C类型
    • 1: 群组类型

conversationId:

  • 类型: 字符串类型
  • 描述: 会话Id

userId:

  • 类型: 字符串类型
  • 描述: 用户Id

groupId:

  • 类型: 字符串类型
  • 描述: 群Id

showName:

  • 类型: 字符串类型
  • 描述: 获取会话展示名称:群组返回群名称;C2C 按照 备注->昵称->ID 的优先级返回

faceUrl:

  • 类型: 字符串类型
  • 描述: 会话头像地址

unreadCount

  • 类型: 整数类型
  • 描述: 未读计数

lastMessage:

  • 类型: JSON对象
  • 描述: 最后一条消息
  • 内部字段: message

recvOpt:

  • 类型: 整数类型
  • 描述: 群接收选项

draftText:

  • 类型: 字符串类型
  • 描述: 获取未编辑完的草稿消息

##friendApplication

好友申请

{
    userId:
    nickName:
    faceUrl:
    addTime:
    addSource:
    addWording:
    type:
}

userId:

  • 类型: 字符串类型
  • 描述: 用户Id

nickName:

  • 类型: 字符串类型
  • 描述: 用户昵称

faceUrl:

  • 类型: 字符串类型
  • 描述: 用户头像

addTime:

  • 类型: 整数类型
  • 描述: 获取增加时间

addSource:

  • 类型: 字符串类型
  • 描述: 获取来源

addWording:

  • 类型: 字符串类型
  • 描述: 获取好友附言

type:

  • 类型: 整数类型
  • 描述: 未决请求类型
  • 取值范围:
    • 0: 我发给别人的
    • 1: 别人发给我的
    • 2: 别人发给我的 和 我发给别人的。仅拉取时有效

###friendInfo

好友信息

{
    userId:
    friendRemark:
    friendCustomInfo:
    friendGroups:
    userInfo:
}

userId:

  • 类型: 字符串类型
  • 描述: 用户Id

friendRemark:

  • 类型: 字符串类型
  • 描述: 好友备注

friendCustomInfo:

  • 类型: JSON对象
  • 描述: 好有自定义信息

friendGroups:

  • 类型: JSON数组
  • 描述: 群组列表

userInfo:

  • 类型: JSON对象
  • 描述: 用户信息
  • 内部字段: userInfo

###friendInfoResult

好友资料获取结果

{
    resultCode: 
    resultInfo:
    relation:
    friendInfo:
}

resultCode:

  • 类型: 整数类型
  • 描述: 返回码

resultInfo:

  • 类型: 字符串类型
  • 描述: 返结果表述

relation:

  • 类型: 整数类型
  • 描述: 好友关系类型
  • 取值范围:
    • 0: 互为好友
    • 1: 对方在我的好友列表中
    • 2: 我在对方的好友列表中
    • 3: 不是好友

friendInfo:

###friendOperationResult

好友操作结果(添加、删除、加黑名单、添加分组等)

{
    userId: 'test001',
    resultCode: 'xxx',
    resultInfo: 'xxxx'
}

userId:

  • 类型: 字符串类型
  • 描述: 用户id

resultCode:

  • 类型: 字符串类型
  • 描述: 返回码

resultInfo:

  • 类型: 字符串类型
  • 描述: 返回信息

###friendCheckResult

好友检查结果

{
    userId: 'test001',
    resultCode:
    resultInfo:
    relationType:
}

userId:

  • 类型: 字符串类型
  • 描述: 用户Id

resultCode:

  • 类型: 整数类型
  • 描述: 返回码

resultInfo:

  • 类型: 字符串类型
  • 描述: 返回信息

relationType:

  • 类型: 整数类型
  • 描述: 检查结果
  • 取值范围:
    • 0: 互为好友
    • 1: 对方在我的好友列表中
    • 2: 我在对方的好友列表中
    • 3: 不是好友

###friendGroup

好友分组信息

{
    groupName: 
    userCount:
    friendList: [
        ...
    ]
}

groupName:

  • 类型: 字符串类型
  • 描述: 分组名称

userCount:

  • 类型: 整数类型
  • 描述: 成员数量

friendList:

  • 类型: JSON数组
  • 描述: 好友用户Id列表

##插件接口

#init

初始化

init({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

##代码示例

calling.init({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#setCallingListener

设置监听

setCallingListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    eventType: "onInvited",
    ...
}
  • 邀请方回调:

|事件回调|回调含义| |onReject|拒绝通话回调| |onNoResp|对方无回应回调| |onLineBusy|通话忙线回调|

  • 被邀请方回调:

|事件回调|回调含义| |onInvited|被邀请通话回调| |onCallingCancel|当前通话被取消回调| |onCallingTimeOut|当前通话超时回调|

  • 通用回调:

|事件回调|回调含义| |onGroupCallInviteeListUpdate|群聊更新邀请列表回调| |onUserEnter|用户进入通话回调| |onUserLeave|用户离开通话回调| |onUserAudioAvailable|用户是否开启音频上行回调| |onUserVideoAvailable|用户是否开启视频上行回调| |onUserVoiceVolume|用户通话音量回调| |onCallEnd|通话结束回调|

  • 通用事件回调:

|事件回调|回调含义| |onError|错误回调|

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.setCallingListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#removeCallingListener

移除监听器

removeCallingListener({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.setCallingListener({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#destroy

销毁

destroy({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.destroy({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#login

登录

login({params}, function(ret, err))

params

sdkAppId:

  • 类型: 整数类型
  • 描述: (必填项)在实时音视频控制台 >【应用管理】> 应用信息中查看

userId:

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

userSig:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var sdkAppId = 14xxxxx16;
var userId = 'test001';
var userSig = 'eJw1zMEOgxxxxxeH3CNMZw_';

calling.login({
    sdkAppId: sdkAppId,
    userId: userId,
    userSig: userSig
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#logout

登出

logout({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.logout({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#call

修改个人信息

call({params}, function(ret, err))

params

userId:

  • 类型: 字符串类型
  • 描述: (可选项)呼叫用户Id

type:

  • 类型: 整数类型
  • 描述: (可选项)通话类型:视频/语音

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.call({
    userId: remoteUserId,
    type: type
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#groupCall

群组邀请通话

groupCall({params}, function(ret, err))

params

userIdList:

  • 类型: 数组类型
  • 描述: (必填项)邀请Id列表

type:

  • 类型: 整数类型
  • 描述: (必填项)通话类型:视频/语音
  • 取值范围:
    • 0: 未知
    • 1: 视频
    • 2: 语音

groupId:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.groupCall({
    userIdList: userIdList,
    type: type,
    groupId: groupId
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#accept

接受当前通话

accept({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.accept({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#reject

拒绝当前通话

reject({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.reject({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#hangup

挂断当前通话

hangup({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.hangup({}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#startRemoteView

远端用户的摄像头数据渲染

startRemoteView({params}, function(ret, err))

params

userId:

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

rect:

  • 类型: JSON对象
  • 描述: (必填项)显示区域的位置和大小

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.startRemoteView({
    userId: 'test002',
    rect: {
        x: 0,
        y: 0,
        w: api.winWidth / 4,
        h: api.winHeight / 4
    }
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#stopRemoteView

停止渲染远端数据

stopRemoteView({params}, function(ret, err))

params

userId:

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

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';

calling.stopRemoteView({
    userId: remoteUserId
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#openCamera

开启摄像头

openCamera({params}, function(ret, err))

params

isFront:

  • 类型: 布尔类型
  • 描述: (必填项)true:开启前置摄像头,false:开启后置摄像头

rect:

  • 类型: JSON对象
  • 描述: (必填项)视频的位置和大小

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.openCamera({
    isFront: isFront,
    rect: {
        x: 0,
        y: 0,
        w: api.winWidth / 2,
        h: api.winHeight / 2
    }
}, function(ret) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#switchCamera

切换前后摄像头

switchCamera({params}, function(ret, err))

params

isFront:

  • 类型: 布尔类型
  • 描述: (必填项) true:切换到前置摄像头,false:切换到后置摄像头

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var isFront = true;

calling.switchCamera({
    isFront: isFront
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#closeCamera

关闭摄像头

closeCamera({}, function(ret, err))

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

calling.closeCamera({}, function(ret) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#setMicMute

静音本地音频采集

setMicMute({params}, function(ret, err))

params

isMute:

  • 类型: 布尔类型
  • 描述: (必填项) true:麦克风关闭,false:麦克风打开

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var isMute = true;

calling.setMicMute({
    isMute: isMute
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

#setHandsFree

开启免提

setHandsFree({params}, function(ret, err))

params

isHandsFree:

  • 类型: 布尔类型
  • 描述: (必填项) true:开启免提,false:关闭免提

callback

ret:

  • 类型: JSON对象
  • 内部字段:
{
    status: true 	// 布尔类型, true表示操作成功
}

err:

  • 类型: JSON对象
  • 内部字段:
{
    code: -911, 	   // 整数类型, 错误码
    msg: '错误描述' 	// 字符串类型, 错误信息
}

示例代码

var isHandsFree = true;

calling.setHandsFree({
    isHandsFree: isHandsFree
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

##更多功能

扫码获取技术支持,引导您跑通Demo和插件接入:

技术支持

技术支持微信号: ruanyunkeji006

使用教程 接口文档

是否仍需要帮助? 请保持联络!
最后更新于 2024/11/18