个人理解的简单的即时通讯的实现流程
1、A做出发送消息给B的动作
2、B收到A发来的消息
3、通过聊天的窗口显示出来
下面的步骤可以省略
4、B返回A一个已经查看的消息
5、A收到B已经查看的消息通过聊天的窗口显示出来

实现这个流程的基础要素
1、AB双方的融云模块都应经打开,并且网络连接没有问题。
2、AB双方都已经是融云的用户,取得融云的token。
3、连接融云的服务器
在程序中的操作如下:
服务端:配置获取融云token的程序
客户端:
1、配置融云的参数
在 config.xml 中设置内容如下:

<feature name="rongCloud2"><param name="appKey" value="此处填写 App Key 值" />
</feature>

2、对融云进行初始化
init(callback(ret, err))

var rong = api.require('rongCloud2');rong.init(function(ret, err){if (ret.status == 'error')api.toast({ msg: err.code });
});

返回值的代码如下

{status: 'success', // 状态码:success / error
}
//错误的返回码
{code: -10002    // 错误码
}

3、监听连接状态
setConnectionStatusListener(callback(ret, err))

var rong = api.require('rongCloud2');// 之前调用 init 的代码省略rong.setConnectionStatusListener(function(ret, err){api.toast({ msg: ret.result.connectionStatus });
});// 之后调用 connect 的代码省略

返回值如下

{result:{connectionStatus: 'CONNECTED' // 连接状态 //取值范围 //CONNECTED // 连接成功 //CONNECTING // 连接中 //DISCONNECTED // 断开连接 //KICKED // 用户账户在其他设备登录,本机会被踢掉线 //NETWORK_UNAVAILABLE // 网络不可用 //SERVER_INVALID // 服务器异常或无法连接 //TOKEN_INCORRECT // Token 不正确}
}

4、监听所有消息(根据文档规定是在connect之前调用)
所有接收到的消息、通知、状态都经由此处设置的监听器处理。包括私聊消息、讨论组消息、群组消息、聊天室消息以及各种其他消息、通知、状态等
setOnReceiveMessageListener(callback(ret, err))

var rong = api.require('rongCloud2');// 之前调用 init 的代码省略rong.setOnReceiveMessageListener(function (ret, err) {api.toast({ msg: JSON.stringify(ret.result.message) });api.toast({ msg: ret.result.message.left });
})// 之后调用 connect 的代码省略

返回值特别注意下

{result:{message:{content: {text: 'Hello world!',extra: ''}, // 消息内容conversationType: 'PRIVATE', // 参见 会话类型 枚举messageDirection: 'SEND', // 消息方向:SEND 或者 RECEIVEtargetId: '55', // 这里对应消息发送者的 userIdobjectName: 'RC:TxtMsg', // 消息类型,参见 http://docs.rongcloud.cn/android_message.html#_内置内容类消息sentStatus: 'SENDING', // 发送状态:SENDING, SENT 或 FAILEDsenderUserId: '55', // 发送者 userIdmessageId: 608, // 本地消息 IdsentTime: 1418971531533, // 发送消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数receivedTime: 0 // 收到消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数},left: 0 // 剩余未拉取的消息数目}
}

5、连接融云 IM 服务器
connect({params}, callback(ret, err))

这里就需要传递参数了,参数只有一个token,用于服务器识别当前登录的账号,并返回账号的ID

var rong = api.require('rongCloud2');rong.init(function(ret, err){if (ret.status == 'error')api.toast({ msg: err.code });
});rong.connect({token: 'ThptTWyiPPPvZHvuSiuri82yq+hfEluLjZ78E1qo4hEVSFQNpqdoPu406urMWKN4Z3/olWR+v9JVLAwfOQoLrA=="},function(ret, err){if (ret.status == 'success')api.toast({ msg: ret.result.userId });
});

返回值

{status: 'success', // 状态码:success / errorresult:{userId: '9527' // 当前登录的用户 Id}
}

集成到这里,通过写死一个发送的函数。固定发送给用户B,这是登录用户B的手机就会收到发送的消息。可以通过打印出来观摩一下。至此融云的集成基本完成一半了。
接下来我会写一下怎么把接收到的数据展示到聊天界面。

关于融云在APIcloud中的集成相关推荐

  1. ios 融云 重写对话列表_iOS集成融云SDK part 1 小记

    之前虽然稍微了解过即时通讯方面的内容,但是一直没有怎么去做过聊天部分的.这次是刚刚使用融云,做一下记录. 关于融云SDK集成的具体步骤,我都是参考以下这些文章(很多图片都是直接从这些地方拿的,我真是太 ...

  2. 融云IM SDK web 端集成 — 表情采坑篇

    公司集成 IM 使用的是融云的 IM SDK,我们有移动端,有 web 端,移动端同事集成表情时还是蛮顺利的貌似移动端 SDK 里就支持,一切都很顺理成章的样子,web 端就有些棘手了.web 端的表 ...

  3. android.intent.action.view 融云,Android 融云SDK集成单聊

    一 .下载 SDK 您可以到融云官方网站下载融云 SDK.融云 SDK 各部分功能以插件化的形式独立提供,开发者可以根据自己的需要,自由组合下载.各组件的功能如下: IMKit – 融云 IM 界面组 ...

  4. android 融云sdk集成,使用融云SDK集成

    使用融云开始还是遇到了很多的坑的,特别是看不太明白官方文档.或许自己不够有耐心. 期间还遇到了许多bug,比如,明明配置的没问题了,可我的手机还是连不上融云. 后来还是在融云的知识库中找到了解决办法, ...

  5. 融云 SDK 集成详解 – Android Studio

    一 .下载 SDK 您可以到融云官方网站下载融云 SDK.融云 SDK 各部分功能以插件化的形式独立提供,开发者可以根据自己的需要,自由组合下载.各组件的功能如下: IMKit – 融云 IM 界面组 ...

  6. 集成融云直播聊天室(官方集成以及自我总结)

    近期做直播,当然,直播当然就要做到聊天室,聊天室选择的是融云聊天直播室 首先 官方集成 如下: IMLib SDK 集成说明 下载 IMLib SDK:点击下载 SDK 目录结构说明: libs 目录 ...

  7. 融云android sdk文档,使用融云SDK集成

    使用融云开始还是遇到了很多的坑的,特别是看不太明白官方文档.或许自己不够有耐心. 期间还遇到了许多bug,比如,明明配置的没问题了,可我的手机还是连不上融云. 后来还是在融云的知识库中找到了解决办法, ...

  8. android 融云群组列表,群组中 @ 功能介绍

    从 2.6.8 版本开始,在群组中实现了 @ 功能,可以通过 @ 指定的用户或 @ 所有用户,提醒被 @ 的人,有关于你的消息内容,融云在  IMKit 中已经对 @ 功能进行封装,默认为关闭状态,开 ...

  9. 杨攀:融云专注极致技术 不忘初心打造极简体验

    本文是融云联合创始人.CTO杨攀接受 LiveVideoStack 邮件采访整理而成,杨攀聊到了个人成长经历,作为创业公司技术负责人的责任,以及对企业通信市场的格局和未来的机遇与挑战. 文 / 杨攀 ...

最新文章

  1. 松下服务器分频器输出信号与,基础资料松下PANASONIC伺服驱动器MADHT1507E
  2. [转载]Memcache内存临界测试
  3. 纯css改变下拉列表select框的默认样式
  4. JS关闭浏览器 (不弹出提示框)
  5. 若川邀你进 源码共读 群~长期交流学习
  6. 更改linux子系统软件源为国内镜像
  7. javafx做的天气预报小程序
  8. Node.js babel
  9. 银河水滴张曼:远距离步态识别系统与应用 |量子位沙龙回顾
  10. Golang go 命令
  11. Unity3D 多平台_预编译相关宏定义
  12. 探索科学的奥秘之门Science,Cell, Nature
  13. javascript调试 debugger 代码调试
  14. Python学习 -元组和集合
  15. Solr6适配自定义升级版mmseg4j
  16. 幕后产品_版本控制:幕后
  17. Python基础 by.肖洪福
  18. vscode win10笔记本 蓝屏_教你win10电脑蓝屏原因排查及解决方法大全
  19. 计算机论文答辩代码讲解,计算机专业毕业论文答辩的程序讲解
  20. CopyWebpackPlugin的ignore

热门文章

  1. 哥德尔不完全性定理 关系 谓词和代入——哥德尔读后之二十
  2. 使用kubespary安装k8s集群
  3. 5分钟读懂UML类图
  4. 破解EXCEL工作表保护密码
  5. 微信小程序实现store功能
  6. 扫描文档SDK ocr识别技术
  7. 【Python】批量修改照片文件名为拍摄日期
  8. 【解决方案】adb无法连接雷电模拟器问题
  9. Python多线程实现WIFI破解
  10. DailyTask-changeLog学习手册