Android使用腾讯云通信做IM/直播聊天室功能

因为公司项目需要做直播聊天室功能, 但是因为直播这块老大已经选了阿里云直播, 阿里又没有可靠的聊天室SDK, 在综合参考了几家IM聊天的SDK(融云, 网易云信, 极光IM, 腾讯云通信)后, 处于成本考虑, 发现腾讯云通信最适合我们, 因为腾讯云通信设定的界限是, 少于10W日活不收费, 但是有个比较容易触发的点, 就是API调用次数不能大于100次/秒, 因为直播并不是经常做, 大概每月2-3次, 用户也没那么多, 所以, 选择这个还是很合理的.
腾讯云的SDK写的还是很详细的,而且demo也很不错, 但是 其实我没有使用它的demo来参考, 我是直接使用的sdk的范例来集成的(https://cloud.tencent.com/document/product/269/9227), 客户端有3.x和2.x版本, 当然选择了3.x版本, 在按照客户端集成的过程中总结以下几点, 其中有一些坑, 还是整了好久解决了.
1, 看API. 我觉得集成这样一个大型的聊天系统, 需要非常熟悉API才可以, 要知道他能提供什么功能, 还要知道哪些是自己需要的, 应该怎样实现,否则集成的时候再去一个个找的话 就比较麻烦了, Android的API 我反反复复看了5-6遍, 而且很多类 我也是看了都是有什么方法, 对后面的定制功能提供了思路.
2, 充分利用API. 在聊天室功能中, 老大要求后台可以控制前端的所有的实现, 包括UI等等.这时候 我充分利用了腾讯的系统, 修改群名称,群头像, 群简介等字段, 可以往下分发一些修改的内容和UI实现.
3, 修改SDK字段.在使用SDK的消息功能时, 由于对消息体有一些特殊的要求, 比如说, 我们只发文本消息, 而且其消息体中也有很多类型的消息, 文本消息中也有一个list, 需要遍历每一条消息出来, 后来因为有历史消息的需求, 所以, 我更改了消息体的结构, 原来的一些没用的字段, 我去掉了, 增加了一些我需要的字段, 并且历史消息记录是从后台返给我的数据中展示的.
4, 充分利用回调.在云通信后台中, 有回调可选择, 我们要求在直播大群有历史记录和管理员消息的区分, 但是云通信并不提供, 于是, 我创建了一个虚拟账号,在我们的后台, 他只负责在后台发送图片和文字消息, 而且图片还是json格式的数据 , 就是图片地址, 给我, 而不是以图片类型的消息给我. 这个账号就是我们系统中的管理员账号, 他不能在app端发送消息, 因为后台发送的消息都是固定格式的json
5, 利用工单和论坛和官方QQ群, 在这些地方能找到一些答案.
以上.

你可能感兴趣的:(Android使用腾讯云通信做IM/直播聊天室功能)