APICloud平台即时通讯模块使用教程三连发

API_Cloud 发布于 2015/05/20 11:52
阅读 2K+
收藏 0


【APICloud即时通讯教程第一弹】聊天会话的实现及UI

实现功能:融云会话聊天及UI,发送表情消息

使用模块:rongCloud   chatBox

教程开始:因为融云为第三方模块,每次调试都得需要云编译,建议大家先把UI和基本代码做好。

JS插件使用:zepto.min.js

详细内容:http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=4333&highlight=%E8%9E%8D%E4%BA%91

 

 

【APICloud即时通讯教程第二弹】会话列表及获取最新会话消息

在做会话列表页的时候发现了不少问题,首先我也是第一次使用apicloud和融云,下面讲的可能不是最好的办法,如果有更好的办法欢迎分享。首先说一下会话列表页实现的思路

一、使用 getConversationList 方法来获得全部会话列表,但是这样直接获得的列表并不是我们想要的,rongCloud的会话列表出现了两种情况:
(1)发送者等于本地用户 ;

(2)接收者等于本地用户。

后面实现的功能是只获得接收者为本地用户的情况。

二、获得会话列表后将列表内容插入容器中,同时加载用户信息(主要为头像和昵称)。

三、监听是否有最新消息写入,我这里实现的逻辑是加载完列表后再来监听,这个就根据自己的需要来就行了。

四、如果有新消息进来,两种情况
(1)发送者已在会话列表中存在--->更新会话内容及时间;

(2)不存在--->写入容器。

五、点击会话列表页进入会话窗口,这里遇到了几个问题没能很好的解决,就使用了一个比较笨的办法。
问题:因为会话列表页在监听消息,当打开聊天页面也会在监听最新消息,中间可能会有冲突导致页面无法正常监听
我的解决方案(这个方法可能有点笨):
当打开聊天页面后,关闭会话列表页rongcloud的连接--------关闭聊天页面时关闭聊天页面的连接并重新打开会话列表页的连接,同时监听最新消息并更新下

详细内容:http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=4462&highlight=%E8%9E%8D%E4%BA%91

 

【APICloud即时通讯教程第三弹】完整案例开发,可以上线使用

期待的第三弹出来,实现的功能主要是整合前两篇讲的并做了下优化,目前已经上线,想体验的可以下载APP。这次讲的去掉了chatbox功能,只是文字消息的发送,如果是做语音和图片的自己可以去扩展。
下载链接:
http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=5171
首先分析下流程:
 
      流程分析出来了,下面再做一下简单的说明
      会话列表页消息的监听和获取这个地方的实现是比较容易的,但是在打开会话的时候列表页的监听会失效。所以就要在聊天页面来处理消息的监听时间。
      在会话页面制作的时候,初次打开监听都是正常的,但是当发完一条消息后发现监听失效。反复的测试初步认为是键盘的弹出导致,可能是监听输入状态跟监听消息由点冲突。
      会话页面监听数据时需要监听全局的消息,如果是当前会话的消息就写入,否则只是提示一下有新消息。
      关闭会话页面时,因为列表页的监听已经失效,所以要发送一个刷新事件来获取最新消息和一个监听事件的开启。
详细内容:http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=5254&highlight=%E8%9E%8D%E4%BA%91

 

 

加载中
返回顶部
顶部