音视频即时通话IM技术-陌生人交友
原理是服务器是一直在启动状态的线程,不断的从客户端(App)获取消息,
收到消息后,进行类型和发送目标判断,以发送到群组或者单聊的方式,
客户端收到消息后进行界面的展示。
如果要自己开发即时通讯类的 App,那么必须得要后台,
但是现在很多第三方工具已经给我们集成好了所有需要调用的接口工具。
比如极光IM
因为之前用的比较多的是极光的推送服务,
也对极光的一些服务和开发文档比较熟悉,
所以该项目就是完全使用极光的sdk。
-
应用场景一:在线客服、基础文字对话
应用示例:简书私信、支付宝客服
介绍:该场景只需要一些基础的聊天功能,
直接继承第三方IM的优点
是不需要后台去实现一大堆东西,前端可以直接根据极光IM文档去使用定义好的方法,
就可以实现相关功能,开发起来非常快。 -
应用场景二:App 中的聊天功能
应用示例:脉脉、内涵段子、
介绍:极光 IM SDK 可以满足正常的
图片收发、语音消息、表情等基本需求,
对此类场景下的即时通讯的开发,也很能加快开发速度。 -
应用场景三:聊天交友 App
应用示例:陌陌、微信、QQ 等
介绍:这类软件是一个完整的即时通讯项目,功能已经不仅仅局限于简单的消息的收发。
可以满足一个即时通讯类的绝大部分功能。
极光官方提供的有即时通讯Demo,包括 UI 等都实现了,只需要简单配置就可以用。
这个项目已经在GitHub开源。
可以参考开发或者在此基础上做另外的功能开发都会比较方便。
极光 Message 整体特性:
消息类型:文字、语音、图片、地理位置、文件、自定义消息等。
聊天方式:单聊、群聊。
平台支持:Android, iOS,Web 多平台互通。
用户维护:注册、登录、头像、用户其他信息。
群组维护:创建群组、加群、退群。
离线消息:可选择是否需要保存离线消息
关系模式:有好友模式和无好友模式
跨应用聊天:不同应用下的用户可相互通信
整体 UI 界面概述
所有的聊天都基于登录状态操作,也就是说未登录是不能操作的。
1、注册和登陆
两种方式: 注册并登陆或者直接登录。
如果第一次登录过,就会把账号等资料缓存到本地,再次打开就可以自动登录。
用户名和密码规范限制长度限制 Byte(4~128)
用户名:以字母或者数字开头。支持字母、数字、下划线、英文点、减号、 @。
密码:不限
2、添加好友
两种方式:
手动输入 id,根据 id 查找,并发送好友请求,当另一方同意后会建立好友关系。
或者通过联系人页面>新朋友>推荐好友来添加系统推荐的好友。
这里推荐好友,是由我这里手动设置的三个已经注册完成的号。
好友通知是本地数据库缓存的消息通知,
也就是只有在收到好友请求时,才会把发送过来的请求信息存放到本地。
当然如果清空了数据,那就查不到申请记录了。
3、联系人建立
这里是根据极光文档建立的好友关系,
其实官方提供的说明是不需要建立好友关系就能会话,但是这里为了项目的一些需要,使用了极光提供的一套联系人接口来操作好友。
4、更新资料
修改个人资料,头像相关操作,对好友的备注、黑名单等功能还未开发。
在第一次注册的时候,在注册成功的情况下会默认自动登陆,
并且默认设置个人资料的一些参数。
比如头像,昵称等。防止在更新资料的时候部分字段提示空的错误。
5、设置
设置会在安装的时候初始化,默认只开启漫游的开关。
其他开关需要手动,修改密码也是。
技术开发路