tencentIMSmart

来自于:开发者立即使用

腾讯云IM

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

论坛示例

该论坛提供了模块使用示例入口,您可以在论坛中找到使用的Demo,以及问题反馈。

技术支持

如果您有以下需求:

  • 方案咨询;
  • 接入流程协助;
  • 测试DEMO功能;
  • 内测功能;
  • 问题反馈;
  • 需求反馈;

音视频产品使用复杂程度高,可以先联系我们,获取技术支持,微信号为: ruanyunkeji001或ruanyunkeji002

接口列表

初始化与监听

初始化并成功登录,是正常使用腾讯云 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 获取信令消息

高级消息收发

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

接口列表 功能
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 获取黑名单列表

离线推送

如果想要在 App 切后台时依然能够实时收到 IM 消息,可以使用离线推送服务。

接口列表 功能
getUsersInfo 获取用户资料

好友管理

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

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

模块接口

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: '错误描述'     // 字符串类型, 错误信息
}

代码示例

var sdkAppId = 14xxxxx26;

Im.init({
    sdkAppId: sdkAppId
}, function(ret, err) {
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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及更高版本

destroy

销毁模块

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

callback

ret:

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

err:

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

示例代码

Im.destroy({}, function(ret, err) {
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

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: userId,
    userSig: userSig
}, function(ret, err) {
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS系统,Android系统

可提供1.0.0及更高版本

logout

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

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

callback

ret:

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

err:

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

示例代码

Im.logout({}, function(ret, err) {
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

sendC2CTextMessage

发送单聊普通文本消息(最大支持 8KB) 该接口发送的消息默认会推送(前提是在OfflinePushManager 开启了推送), 如果需要自定义推送(标题和内容), 请调用sendMessage 接口

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

params

text:

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

userId:

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

callback

ret:

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

err:

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

示例代码

var textMsg = 'this is a text msg';
var remoteUserId = 'test002';

Im.sendC2CTextMessage({
    text: textMsg,
    userId: remoteUserId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';
var customMsg = '{name: "command01", channel: 1}';

Im.sendC2CCustomMessage({
    customMsg: customMsg,
    userId: remoteUserId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

sendGroupTextMessage

发送群聊普通文本消息(最大支持 8KB) 该接口发送的消息默认会推送(前提是在 V2TIMOfflinePushManager 开启了推送),如果需要自定义推送(标题和内容),请调用 V2TIMMessageManager.sendMessage 接口

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

params

text:

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

groupId:

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

priority:

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

callback

ret:

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

err:

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

示例代码

var textMsg = 'this is a text msg';
var groupId  = 'group001';

Im.sendGroupTextMessage({
    text: textMsg,
    groupId: groupId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

sendGroupCustomMessage

发送群聊自定义(信令)消息(最大支持 8KB) 该接口发送的消息默认不会推送,如果需要推送,请调用 sendMessage 接口

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

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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId  = 'group001';
var customMsg = '{name: "command01", channel: 1}';

Im.sendGroupCustomMessage({
    customMsg: customMsg,
    groupId: groupId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var remoteUserId  = 'test002';
var inviteData = 'this is a invite';

Im.invite({
    invitee: remoteUserId,
    data: inviteData
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId  = 'group001';
var inviteeList = ['test002'];
var inviteData = 'this is a invite';

Im.inviteInGroup({
    groupId: groupId,
    inviteeList: inviteeList,
    data: inviteData
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

inviteId = 'xxxx';
var inviteData = 'this is a invite';

Im.cancel({
    inviteId: inviteId,
    data: inviteData
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

inviteId = 'xxxx';
var inviteData = 'this is a invite';

Im.accept({
    inviteId: inviteId,
    data: inviteData
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

inviteId = 'xxxx';
var inviteData = 'this is a invite';

Im.reject({
    inviteId: inviteId,
    data: inviteData
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var msgId = 'xxxx';
var remoteUserId = 'test002';

Im.getSignalingInfo({
    msgId: msgId,
    userId: remoteUserId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var textMsg = 'this is a text msg';

Im.createTextMessage({
    text: textMsg
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var textMsg = 'this is a text msg';
var userIdList = ['test002'];

Im.createTextAtMessage({
    text: textMsg,
    userIdList: userIdList
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var customMsg = '{name: "command01", channel: 1}';

Im.createCustomMessage({
    customMsg: customMsg
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var imagePath = 'xxxxxx';

Im.createImageMessage({
    img: imagePath
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var soundPath = 'xxxx';
var soundDuration = 50;

Im.createSoundMessage({
    path: soundPath,
    duration: soundDuration
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var videoPath = 'xxxx';
var videoDuration = 10;
var imagePath = 'xxxxx';

Im.createVideoMessage({
    videoFilePath: videoPath,
    type: "mp4",
    duration: videoDuration,
    snapshotPath: imagePath
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var imagePath = 'xxxx';

Im.createFileMessage({
    filePath: imagePath,
    fileName: "file.mp4"
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var desc = "this is a location";
var latitude = 33;
var longitude = 69;

Im.createLocationMessage({
    desc: desc,
    latitude: latitude,
    longitude: longitude
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

createFaceMessage

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

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

params

index:

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

dataMsg:

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

callback

ret:

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

messageKey:

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

err:

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

示例代码

var index = 0;
var dataMsg = "this is a face data msg";

Im.createFaceMessage({
    index: faceIndex,
    dataMsg: dataMsg
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';
var priority = 0;
var messageKey = 'xxxx';

Im.sendMessage({
    receiver: remoteUserId,
    priority: priority,
    messageKey: messageKey
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var msgId = 'xxxxx';
var remoteUserId = 'test002';

Im.revokeMessage({
    msgId: msgId,
    userId: remoteUserId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: 数组类型
  • 描述: 消息列表

err:

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

示例代码

var remoteUserId = 'test002';
var count = 5;
var msgId = 'xxxx';

Im.getC2CHistoryMessageList({
    userId: remoteUserId,
    count: count,
    msgId: msgId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: 数组类型
  • 描述: 消息列表

err:

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

示例代码

var groupId  = 'group001';
var count = 5;
var msgId = 'xxxxx';

Im.getGroupHistoryMessageList({
    groupId: groupId,
    count: count,
    msgId: msgId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';

Im.markC2CMessageAsRead({
    userId: remoteUserId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId = 'group001';

Im.markGroupMessageAsRead({
    groupId: groupId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var msgId = 'xxxx';

Im.deleteMessages({
    msgIdList: [
        msgId
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId = 'group001';
var remoteUserId = 'test002';
var messageKey = 'xxxxx';

Im.insertGroupMessageToLocalStorage({
    groupId: groupId,
    sender: remoteUserId,
    messageKey: self.messageKey
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: JSON对象
  • 描述: 处理人

memberList:

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

infoList:

  • 类型: JSON数组
  • 描述: 被修改的群成员信息

customData:

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

err:

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

示例代码

Im.setGroupListener({}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

createGroup

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

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

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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId  = 'group001';
var groupType = "Meeting";
var groupName = 'groupName001';

Im.createGroup({
    groupType: groupType,
    groupId: groupId,
    groupName: groupName
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId  = 'group001';
var groupType = "Meeting";
var groupName = 'groupName001';
var introduction = 'this is a introduction';
var notification = "this is a notification";
var faceUrl = 'http://xxxx.myqcloud.com/xxx.png';
var remoteUserId = 'test002';

Im.createGroupWithMemberList({
    groupInfo: {
        groupId: groupId,
        groupType: groupType,
        groupName: groupName,
        notification: notification,
        introduction: introduction,
        faceUrl: faceUrl
    },
    memberList:[
        {
            userId: remoteUserId,
            role: 0
        }
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

joinGroup

加入群组

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

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

params

groupId:

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

msg:

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

callback

ret:

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

err:

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

示例代码

var groupId = 'group001';
var joinGroupMsg = 'this is a join group msg';

Im.joinGroup({
    groupId: groupId,
    msg: joinGroupMsg
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

quitGroup

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

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

params

groupId:

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

callback

ret:

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

err:

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

示例代码

var groupId = 'group001';

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

可用性

iOS, Android系统

可提供的1.0.0及更高版本

dismissGroup

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

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

params

groupId:

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

callback

ret:

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

err:

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

示例代码

var groupId = 'group001';

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

可用性

iOS, Android系统

可提供的1.0.0及更高版本

getJoinedGroupList

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

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

callback

ret:

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

groupList:

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

groupInfo:

  • 类型: JSON对象
  • 描述: 群组信息

err:

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

示例代码

Im.getJoinedGroupList({}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: JSON对象
  • 描述: 群组信息

err:

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

示例代码

var groupId = 'group001';

Im.getGroupsInfo({
    groupIdList: [
        groupId
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId = 'group001';
var groupName = 'groupName001';
var faceUrl = 'http://xxxx.myqcloud.com/xxx.png';
var groupAddOpt = 0;

Im.setGroupInfo({
    groupId: groupId,
    groupName: groupName,
    faceUrl: faceUrl,
    groupAddOpt: groupAddOpt
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId = 'group001';
var groupRecvOpt = 0;

Im.setReceiveMessageOpt({
    groupId: groupId,
    opt: groupRecvOpt
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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数组
  • 描述: 群成员信息列表

err:

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

callback

var groupId = 'group001';

Im.getGroupMemberList({
    groupId: groupId,
    filter: 0,
    nextSeq: 0
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId = 'group001';
var userId = 'test001';
var nameCard = 'this is a namecard';

Im.setGroupMemberInfo({
    groupId: groupId,
    info: {
        userId: userId,
        nameCard: nameCard
    }
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId = 'group001';
var remoteUserId = 'test002';

Im.muteGroupMember({
    groupId: groupId,
    userId: remoteUserId,
    seconds: 50
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

kickGroupMember

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

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

params

groupId:

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

userId:

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

reason:

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

callback

ret:

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

resultList:

  • 类型: JSON数组
  • 描述: 组成员操作结果

err:

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

示例代码

var groupId = 'group001';
var remoteUserId = 'test002';
var reason = 'this is a reason';

Im.kickGroupMember({
    groupId: groupId,
    memberList: [
        remoteUserId,
    ],
    reason:reason
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId = 'group001';
var remoteUserId = 'test002';
var groupMemberRole = 0;

Im.setGroupMemberRole({
    groupId: groupId,
    userId: remoteUserId,
    role: groupMemberRole
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId = 'group001';
var remoteUserId = 'test002';

Im.transferGroupOwner({
    groupId: groupId,
    userId: remoteUserId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var groupId = 'group001';
var remoteUserId = 'test002';

Im.inviteUserToGroup({
    groupId: groupId,
    userIdList: [
        remoteUserId,
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

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

err:

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

示例代码

Im.getGroupApplicationList({}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var index = 0;
var reason = 'this is a reason';

Im.acceptGroupApplication({
    index: index,
    reason: reason
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var index = 0;
var reason = 'this is a reason';

Im.refuseGroupApplication({
    index: index,
    reason: reason
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

setConversationListener

设置会话监听器

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

callback

ret:

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

eventType:

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

conversationList:

  • 类型: JSON数组
  • 描述: 会话列表

err:

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

示例代码

Im.setConversationListener({}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(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数组
  • 描述: 会话列表

err:

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

示例代码

Im.getConversationList({
    nextSeq: 0,
    count: 10
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var conversationId = 'xxxxx';

Im.deleteConversation({
    conversationId: conversationId
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var conversationId = 'xxxx';
var draftText = 'This is a draftText';

Im.setConversationDraft({
    conversationId: conversationId,
    draftText: draftText
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

getUsersInfo

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

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

params

userIdList

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

callback

ret:

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

infoList:

  • 类型: 数组类型
  • 描述: 用户信息列表

err:

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

示例代码

var userIdList = ['test001'];

Im.getUsersInfo({
    userIdList: userIdList
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var nickName = 'nickName001';
var selfSignature = 'this is self signature001';
var allowType = 0;

Im.setSelfInfo({
    selfSignature: selfSignature,
    nickName: nickName,
    allowType: allowType
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';

Im.addToBlackList({
    userIdList: [
        remoteUserId
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';

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

可用性

iOS, Android系统

可提供的1.0.0及更高版本

getBlackList

获取黑名单列表

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

callback

ret:

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

infoList:

  • 类型: JSON数组
  • 描述: 黑名单好友列表

err:

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

示例代码

Im.getBlackList({}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: JSON数组
  • 描述: 好友申请列表

userIdList:

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

infoList:

  • 类型: JSON数组
  • 描述: 好友信息

err:

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

示例代码

Im.setFriendListener({}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

getFriendList

获取好友列表

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

callback

ret:

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

infoList:

  • 类型: JSON数组
  • 描述: 好友列表

err:

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

示例代码

Im.getFriendList({}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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数组
  • 描述: 好友资料结果列表

err:

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

示例代码

var remoteUserId = 'test002';

Im.getFriendsInfo({
    userIdList: [
        remoteUserId
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var remoteUserId = 'test002';
var friendRemark = 'this is a friend remark';

Im.setFriendInfo({
    userId: remoteUserId,
    friendRemark: friendRemark
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: JSON对象
  • 描述: 好友操作结果

err:

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

示例代码

var remoteUserId = 'test002';
var friendRemark = 'this is a friendRemark';

Im.addFriend({
    userId: remoteUserId,
    friendRemark: friendRemark
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: JSON数组
  • 描述: 好友操作结果列表

err:

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

示例代码

var remoteUserId = 'test002';

Im.deleteFromFriendList({
    userIdList: [
        remoteUserId
    ],
    deleteType: 1
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: JSON对象
  • 描述: 好友检查结果

err:

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

示例代码

var remoteUserId = 'test002';
var checkType = 0;

Im.checkFriend({
    userId: remoteUserId,
    checkType: checkType
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: JSON数组
  • 描述: 好友申请列表

err:

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

示例代码

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

可用性

iOS, Android系统

可提供的1.0.0及更高版本

acceptFriendApplication

同意好友申请

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

params

index:

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

type:

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

callback

ret:

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

result:

  • 类型: JSON对象
  • 描述: 好友申请操作结果

err:

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

示例代码

var index = 0;
var checkType = 0;

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

可用性

iOS, Android系统

可提供的1.0.0及更高版本

refuseFriendApplication

拒绝好友申请

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

params

index:

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

callback

ret:

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

result:

  • 类型: JSON对象
  • 描述: 好友申请操作结果

err:

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

示例代码

var index = 0;

Im.refuseFriendApplication({
    index: index,
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var index = 0;

Im.deleteFriendApplication({
    index: index,
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

createFriendGroup

新建好友分组

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

params

groupName:

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

userIdList:

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

callback

ret:

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

resultList:

  • 类型: JSON数组
  • 描述: 好友操作结果列表

err:

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

示例代码

var friendGroupName = 'friendGroupName001';
var userId = 'test001';

Im.createFriendGroup({
    groupName: friendGroupName,
    userIdList: [
        userId
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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数组
  • 描述: 好友操作结果列表

err:

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

示例代码

var friendGroupName = 'friendGroupName001';

Im.getFriendGroupList({
    groupNameList: [
        friendGroupName
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var friendGroupName = 'friendGroupName001';

Im.deleteFriendGroup({
    groupNameList: [
        friendGroupName
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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: '错误描述'     // 字符串类型, 错误信息
}

示例代码

var oldName = 'xxxx';
var newName = 'xxxx';

Im.renameFriendGroup({
    oldName: friendGroupName,
    newName: friendGroupName
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: JSON数组
  • 描述: 操作结果列表

err:

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

示例代码

var friendGroupName = 'friendGroupName001';
var remoteUserId = 'test002';

Im.addFriendsToFriendGroup({
    groupName: friendGroupName,
    userIdList: [
        remoteUserId
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(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:

  • 类型: JSON数组
  • 描述: 操作结果列表

err:

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

示例代码

var friendGroupName = 'friendGroupName001';
var remoteUserId = 'test002';

Im.deleteFriendsFromFriendGroup({
    groupName: friendGroupName,
    userIdList: [
        remoteUserId
    ]
}, function(ret, err){
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

iOS, Android系统

可提供的1.0.0及更高版本

技术支持

如果您有以下需求:

  • 方案咨询;
  • 接入流程协助;
  • 测试DEMO功能;
  • 高级功能测试;
  • 问题反馈;
  • 需求反馈;

联系我们,获取技术支持,微信号为: ruanyunkeji001或ruanyunkeji002