前言
最近找工作发现很多都需要了解即时通讯,市场上三方很多,目前就以融云作为学习对象去研究一下及时通讯的简单实现,以此作为记录。
接收消息
目前到这一步接收消息都没什么困难,特别方便,通过cocopods导入,然后加入appkey,通过三方平台去发送消息就可以了。(这里实际开发需要后端去发送),融云通讯只要知道对方的userid或者是聊天室id或者是群组id就可以发起聊天,类似于qq的qq号码。截至目前为止最新的sdk版本是5.4.1,此版本不需要导入locationkit框架。
需要注意的是在首次调用connectWithToken与融云服务器链接时,如果返回的错误码是RC_CONN_TOKEN_INCORRECT,需要重新获取token再链接。这个错误产生的原因有两种,第一种是从开发环境切换到生产环境时,没有改变appkey,融云对于两种环境是分开的,第二种,token过期。
在 App 需要执⾏切换⽤户登录、注销登录的操作时,需要断开与融云的 IM 连接。
融云断开链接可以设置是否需要远程推送离线消息,具体:disConnect.
融云默认支持多端单个设备同时在线,但默认不会同步消息,如果要开通单端多设备在线,需要提交工单。同步消息只支持在线设备,不在线设备不支持同步。
离线补偿:在卸载完APP以后,因为本地数据库也会被删除,融云默认离线补偿两天内的数据。
Version:0.9 StartHTML:0000000105 EndHTML:0000001634 StartFragment:0000000141 EndFragment:0000001594
白名单:如果需要对客户端⽤户之间的消息收发⾏为进⾏限制(例如,App 的所有 userId 泄漏,导致某个恶意⽤户可越过好友关系向任意⽤户发送消息),可以考虑使⽤⽤户⽩名单服务。⽤户⼀旦开启并设置⽩名单,则仅可接收来⾃该⽩名单中⽤户的消息
持续更新中。。。