rongCloudCS

来自于:AC模块工作室提供立即使用

connect disconnect showConversation getLatestMessages getHistoryMessages clearMessages getUnreadCount getAllUnreadCount clearMessagesUnreadStatus

概述

本模块封装了融云客服服务

注意:

使用 rongCloudCS 模块之前,请先 注册 融云的开发者帐号并申请创建 App,创建 App 后,可以在 开发者后台 获取 App Key 和 App Secret 用于开发。

接入客服前,需在融云开发者平台开启客服服务,并获取 客服 ID。

注意: Android支持最低版本4.1 编译此模块需要升级环境进行编译

调用接口前请在 config.xml 中设置内容如下:

  1. <feature name="rongCloudCS">
  2. <param name="appKey" value="此处填写 App Key 值" />
  3. </feature>

其中 value 的值请替换为您在融云开发者平台上申请的 App Key 值

模块接口

connect

连接融云 IM 服务器,进行后续各种方法操作前务必要先调用此方法

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

params

token:

  • 类型:字符串
  • 默认值:无
  • 描述:从服务端获取的用户身份令牌(Token)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回的登录成功或者失败的状态
  • 内部字段:
  1. {
  2. userId: '9527' // 当前登录的用户 Id
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 31004 // 错误码
  3. }

错误说明:

错误码说明
31003服务器不可用
31004错误的令牌(Token),Token 解析失败,请重新向身份认证服务器获取 Token
31002可能是错误的 App Key,或者 App Key 被服务器积极拒绝
33002服务端数据库错误
31000服务器超时
34001Connection已经存在
-1000(此错误只发生在 iOS)当已经 connect 成功后再次 connect 时会返回此错误

示例代码

  1. var rongCloudCS = api.require('rongCloudCS');
  2. rongCloudCS.connect({
  3. token: 'R8pdG3IUT5d/Algkxbd3X6E4ovwvabHEXU8xDrUJSvGZFOKGf4/ln48O3o+2zMX49HH7V4JRHohT0jA+e57fsHTZjBLVkJn+'
  4. }, function(ret, err) {
  5. if (ret) {
  6. alert(ret.userId);
  7. }else {
  8. alert(err.code);
  9. }
  10. });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

disconnect

断开连接

disconnect({params})

params

receivePush:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)断开后是否接收 Push

示例代码

  1. var rongCloudCS = api.require('rongCloudCS');
  2. rongCloudCS.disconnect({
  3. receivePush: false
  4. });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

showConversation

打开聊天界面

showConversation({params})

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

title:

  • 类型:字符串
  • 默认值:’客服’
  • 描述:(可选项)顶部导航栏标题

示例代码

  1. var rongCloudCS = api.require('rongCloudCS');
  2. rongCloudCS.showConversation({
  3. targetId: 'KEFU146001495753714',
  4. title:'客服',
  5. });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

getLatestMessages

获取某一会话的最新消息记录

getLatestMessages({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

count:

  • 类型:数字
  • 默认值:10
  • 描述:(可选项)要获取的消息数量

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:最新消息记录,按照时间顺序从新到旧排列。
  • 内部字段:
  1. {
  2. result: [
  3. {
  4. content: {
  5. text: 'Hello world!',
  6. extra: ''
  7. }, // 消息内容
  8. extra: '', // 消息的附加信息,此信息只保存在本地
  9. messageDirection: 'SEND', // 消息方向:SEND 或者 RECEIVE
  10. targetId: '55', // 这里对应消息发送者的 userId
  11. objectName: 'RC:TxtMsg', // 消息类型,参见 http://docs.rongcloud.cn/android_message.html#_内置内容类消息
  12. sentStatus: 'SENDING', // 参见 发送出的消息状态
  13. senderUserId: '55', // 发送者 userId
  14. messageId: 608, // 本地消息 Id
  15. sentTime: 1418971531533, // 发送消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
  16. receivedTime: 0 // 收到消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
  17. }
  18. ]
  19. }

示例代码

  1. var rongCloudCS = api.require('rongCloudCS');
  2. rongCloudCS.getLatestMessages({
  3. targetId: 'KEFU146001495753714'
  4. }, function(ret) {
  5. if (ret) {
  6. alert(ret.result);
  7. }
  8. });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

getHistoryMessages

获取某一会话的历史消息记录

getHistoryMessages({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

oldestMessageId:

  • 类型:数字
  • 默认值:无
  • 描述:最后一条消息的 Id,获取此消息之前的 count 条消息

count:

  • 类型:数字
  • 默认值:10
  • 描述:(可选项)要获取的消息数量

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:最新消息记录,按照时间顺序从新到旧排列。
  • 内部字段:
  1. {
  2. result: [
  3. {
  4. content: {
  5. text: 'Hello world!',
  6. extra: ''
  7. }, // 消息内容
  8. extra: '', // 消息的附加信息,此信息只保存在本地
  9. messageDirection: 'SEND', // 消息方向:SEND 或者 RECEIVE
  10. targetId: '55', // 这里对应消息发送者的 userId
  11. objectName: 'RC:TxtMsg', // 消息类型,参见 http://docs.rongcloud.cn/android_message.html#_内置内容类消息
  12. sentStatus: 'SENDING', // 参见 发送出的消息状态
  13. senderUserId: '55', // 发送者 userId
  14. messageId: 608, // 本地消息 Id
  15. sentTime: 1418971531533, // 发送消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
  16. receivedTime: 0 // 收到消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
  17. }
  18. ]
  19. }

示例代码

  1. var rongCloudCS = api.require('rongCloudCS');
  2. rongCloudCS.getHistoryMessages({
  3. targetId: 'KEFU146001495753714',
  4. oldestMessageId:''
  5. }, function(ret) {
  6. if (ret) {
  7. alert(ret.result);
  8. }
  9. });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

clearMessages

清空某一会话的所有聊天消息记录

clearMessages({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:操作结果
  • 内部字段:
  1. {
  2. status: 'success' // 状态码:success / error
  3. }

示例代码

  1. var rongCloudCS = api.require('rongCloudCS');
  2. rongCloudCS.clearMessages({
  3. targetId: 'KEFU146001495753714'
  4. }, function(ret) {
  5. if (ret) {
  6. alert(ret.status);
  7. }
  8. });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

getUnreadCount

获取未读消息数量

getUnreadCount({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:操作结果
  • 内部字段:
  1. {
  2. result: 12 // 未读消息数
  3. }

示例代码

  1. var rongCloudCS = api.require('rongCloudCS');
  2. rongCloudCS.getUnreadCount({
  3. targetId: 'KEFU146001495753714'
  4. }, function(ret) {
  5. if (ret) {
  6. alert(ret.result);
  7. }
  8. });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

getAllUnreadCount

获取所有未读消息数量

getAllUnreadCount(callback(ret))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:操作结果
  • 内部字段:
  1. {
  2. result: 12 // 未读消息数
  3. }

示例代码

  1. var rongCloudCS = api.require('rongCloudCS');
  2. rongCloudCS.getAllUnreadCount(function(ret) {
  3. if (ret) {
  4. alert(ret.result);
  5. }
  6. });

可用性

iOS系统

可提供的 1.0.0 及更高版本

clearMessagesUnreadStatus

清除某一会话的消息未读状态

clearMessagesUnreadStatus({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:操作结果
  • 内部字段:
  1. {
  2. status: 'success' // 状态码:success / error
  3. }

示例代码

  1. var rongCloudCS = api.require('rongCloudCS');
  2. rongCloudCS.clearMessagesUnreadStatus({
  3. targetId: 'KEFU146001495753714'
  4. }, function(ret) {
  5. if (ret) {
  6. alert(ret.status);
  7. }
  8. });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本