关于聊天室项目
聊天室项目,也被称为即时通讯(IM)。
其原理是服务器是一直在启动状态的线程,不断的从客户端(App)获取消息,收到消息后,进行类型和发送目标判断,以发送到群组或者单聊的方式,客户端收到消息后进行界面的展示。
如果要自己开发即时通讯类的 App,那么必须得要后台,但是现在很多第三方工具已经给我们集成好了所有需要调用的接口工具。
比如极光 IM
因为之前用的比较多的是极光的推送服务,也对极光的一些服务和开发文档比较熟悉,所以该项目就是完全使用极光的 sdk。
IM 的应用场景
应用场景一: 在线客服、基础文字对话
应用示例:简书私信、支付宝客服
介绍:该场景只需要一些基础的聊天功能,直接继承第三方 IM 的优点是不需要后台去实现一大堆东西,前端可以直接根据 极光 IM 文档 去使用定义好的方法,就可以实现相关功能,开发起来非常快。应用场景二: App 中的聊天功能
应用示例:脉脉、内涵段子
介绍:极光 IM SDK 可以满足正常的图片收发、语音消息、表情等基本需求,对此类场景下的即时通讯的开发,也很能加快开发速度。应用场景三: 聊天交友 App
应用示例:陌陌、微信、QQ 等
介绍:这类软件是一个完整的即时通讯项目,功能已经不仅仅局限于简单的消息的收发。可以满足一个即时通讯类的绝大部分功能。极光官方提供的有 即时通讯 Demo1,包括 UI 等都实现了,只需要简单配置就可以用。这个项目已经在GitHub 开源。可以参考开发或者在此基础上做另外的功能开发都会比较方便。
极光 Message 整体特性:
- 消息类型:文字、语音、图片、地理位置、文件、自定义消息等。
- 聊天方式:单聊、群聊。
- 平台支持:Android, iOS,Web 多平台互通。
- 用户维护:注册、登录、头像、用户其他信息。
- 群组维护:创建群组、加群、退群。
- 离线消息:可选择是否需要保存离线消息
- 关系模