rongCloudCS
来自于:AC模块工作室提供立即使用
connect disconnect showConversation getLatestMessages getHistoryMessages clearMessages getUnreadCount getAllUnreadCount clearMessagesUnreadStatus
概述
本模块封装了融云客服服务
注意:
使用 rongCloudCS 模块之前,请先 注册 融云的开发者帐号并申请创建 App,创建 App 后,可以在 开发者后台 获取 App Key 和 App Secret 用于开发。
接入客服前,需在融云开发者平台开启客服服务,并获取 客服 ID。
注意: Android支持最低版本4.1 编译此模块需要升级环境进行编译
调用接口前请在 config.xml 中设置内容如下:
<feature name="rongCloudCS">
<param name="appKey" value="此处填写 App Key 值" />
</feature>
其中 value 的值请替换为您在融云开发者平台上申请的 App Key 值
模块接口
connect
连接融云 IM 服务器,进行后续各种方法操作前务必要先调用此方法
connect({params}, callback(ret, err))
params
token:
- 类型:字符串
- 默认值:无
- 描述:从服务端获取的用户身份令牌(Token)
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:返回的登录成功或者失败的状态
- 内部字段:
{
userId: '9527' // 当前登录的用户 Id
}
err:
- 类型:JSON 对象
- 内部字段:
{
code: 31004 // 错误码
}
错误说明:
错误码 | 说明 |
---|---|
31003 | 服务器不可用 |
31004 | 错误的令牌(Token),Token 解析失败,请重新向身份认证服务器获取 Token |
31002 | 可能是错误的 App Key,或者 App Key 被服务器积极拒绝 |
33002 | 服务端数据库错误 |
31000 | 服务器超时 |
34001 | Connection已经存在 |
-1000 | (此错误只发生在 iOS)当已经 connect 成功后再次 connect 时会返回此错误 |
示例代码
var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.connect({
token: 'R8pdG3IUT5d/Algkxbd3X6E4ovwvabHEXU8xDrUJSvGZFOKGf4/ln48O3o+2zMX49HH7V4JRHohT0jA+e57fsHTZjBLVkJn+'
}, function(ret, err) {
if (ret) {
alert(ret.userId);
}else {
alert(err.code);
}
});
可用性
iOS系统,Android 4.1及以上系统
可提供的 1.0.0 及更高版本
disconnect
断开连接
disconnect({params})
params
receivePush:
- 类型:布尔
- 默认值:true
- 描述:(可选项)断开后是否接收 Push
示例代码
var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.disconnect({
receivePush: false
});
可用性
iOS系统,Android 4.1及以上系统
可提供的 1.0.0 及更高版本
showConversation
打开聊天界面
showConversation({params})
params
targetId:
- 类型:字符串
- 默认值:无
- 描述:客服 Id
title:
- 类型:字符串
- 默认值:’客服’
- 描述:(可选项)顶部导航栏标题
示例代码
var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.showConversation({
targetId: 'KEFU146001495753714',
title:'客服',
});
可用性
iOS系统,Android 4.1及以上系统
可提供的 1.0.0 及更高版本
getLatestMessages
获取某一会话的最新消息记录
getLatestMessages({params}, callback(ret))
params
targetId:
- 类型:字符串
- 默认值:无
- 描述:客服 Id
count:
- 类型:数字
- 默认值:10
- 描述:(可选项)要获取的消息数量
callback(ret)
ret:
- 类型:JSON 对象
- 描述:最新消息记录,按照时间顺序从新到旧排列。
- 内部字段:
{
result: [
{
content: {
text: 'Hello world!',
extra: ''
}, // 消息内容
extra: '', // 消息的附加信息,此信息只保存在本地
messageDirection: 'SEND', // 消息方向:SEND 或者 RECEIVE
targetId: '55', // 这里对应消息发送者的 userId
objectName: 'RC:TxtMsg', // 消息类型,参见 http://docs.rongcloud.cn/android_message.html#_内置内容类消息
sentStatus: 'SENDING', // 参见 发送出的消息状态
senderUserId: '55', // 发送者 userId
messageId: 608, // 本地消息 Id
sentTime: 1418971531533, // 发送消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
receivedTime: 0 // 收到消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
}
]
}
示例代码
var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.getLatestMessages({
targetId: 'KEFU146001495753714'
}, function(ret) {
if (ret) {
alert(ret.result);
}
});
可用性
iOS系统,Android 4.1及以上系统
可提供的 1.0.0 及更高版本
getHistoryMessages
获取某一会话的历史消息记录
getHistoryMessages({params}, callback(ret))
params
targetId:
- 类型:字符串
- 默认值:无
- 描述:客服 Id
oldestMessageId:
- 类型:数字
- 默认值:无
- 描述:最后一条消息的 Id,获取此消息之前的 count 条消息
count:
- 类型:数字
- 默认值:10
- 描述:(可选项)要获取的消息数量
callback(ret)
ret:
- 类型:JSON 对象
- 描述:最新消息记录,按照时间顺序从新到旧排列。
- 内部字段:
{
result: [
{
content: {
text: 'Hello world!',
extra: ''
}, // 消息内容
extra: '', // 消息的附加信息,此信息只保存在本地
messageDirection: 'SEND', // 消息方向:SEND 或者 RECEIVE
targetId: '55', // 这里对应消息发送者的 userId
objectName: 'RC:TxtMsg', // 消息类型,参见 http://docs.rongcloud.cn/android_message.html#_内置内容类消息
sentStatus: 'SENDING', // 参见 发送出的消息状态
senderUserId: '55', // 发送者 userId
messageId: 608, // 本地消息 Id
sentTime: 1418971531533, // 发送消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
receivedTime: 0 // 收到消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
}
]
}
示例代码
var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.getHistoryMessages({
targetId: 'KEFU146001495753714',
oldestMessageId:''
}, function(ret) {
if (ret) {
alert(ret.result);
}
});
可用性
iOS系统,Android 4.1及以上系统
可提供的 1.0.0 及更高版本
clearMessages
清空某一会话的所有聊天消息记录
clearMessages({params}, callback(ret))
params
targetId:
- 类型:字符串
- 默认值:无
- 描述:客服 Id
callback(ret)
ret:
- 类型:JSON 对象
- 描述:操作结果
- 内部字段:
{
status: 'success' // 状态码:success / error
}
示例代码
var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.clearMessages({
targetId: 'KEFU146001495753714'
}, function(ret) {
if (ret) {
alert(ret.status);
}
});
可用性
iOS系统,Android 4.1及以上系统
可提供的 1.0.0 及更高版本
getUnreadCount
获取未读消息数量
getUnreadCount({params}, callback(ret))
params
targetId:
- 类型:字符串
- 默认值:无
- 描述:客服 Id
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:操作结果
- 内部字段:
{
result: 12 // 未读消息数
}
示例代码
var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.getUnreadCount({
targetId: 'KEFU146001495753714'
}, function(ret) {
if (ret) {
alert(ret.result);
}
});
可用性
iOS系统,Android 4.1及以上系统
可提供的 1.0.0 及更高版本
getAllUnreadCount
获取所有未读消息数量
getAllUnreadCount(callback(ret))
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:操作结果
- 内部字段:
{
result: 12 // 未读消息数
}
示例代码
var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.getAllUnreadCount(function(ret) {
if (ret) {
alert(ret.result);
}
});
可用性
iOS系统
可提供的 1.0.0 及更高版本
clearMessagesUnreadStatus
清除某一会话的消息未读状态
clearMessagesUnreadStatus({params}, callback(ret))
params
targetId:
- 类型:字符串
- 默认值:无
- 描述:客服 Id
callback(ret, err)
ret:
- 类型:JSON 对象
- 描述:操作结果
- 内部字段:
{
status: 'success' // 状态码:success / error
}
示例代码
var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.clearMessagesUnreadStatus({
targetId: 'KEFU146001495753714'
}, function(ret) {
if (ret) {
alert(ret.status);
}
});
可用性
iOS系统,Android 4.1及以上系统
可提供的 1.0.0 及更高版本