手机端的 APP 如果嵌入了 IM 模块,比如网易云信(环信),这些第三方的服务都有自己的账户系统,也是需要注册登录。
现在有这么一个需求:如何实现匿名聊天?同时要实现实名聊天。
需求可以简单理解为:相同的用户 A 和 B,需要有三个会话,一个是实名的聊天,一个是 A 匿名 B 实名的聊天,一个是 A 实名 B 匿名的聊天。
咋一看好像没什么难度,直接使用云信提供的 SDK 来做就可以吧,但是这里的一个问题是:
云信提供的移动端 SDK(Android 和 iOS)有自己的一套会话系统,这个会话系统里面,每两个人都只能有一个会话,怎么办?
开始的时候,和移动端工程师商量:
是否可以使用群聊来做?每个匿名聊天会话会创建一个群聊,然后在显示层面来隐藏匿名用户。后来发现这样做是有问题的,因为每个人可以创建的群聊个数是有限制的。
抛弃云信 SDK 的会话实现方法,重新实现会话,但这势必要修改移动端上面聊天会话的数据存储(sqlite),需要自己维护一套会话。这个方案我们只使用云信进行收发消息。
后来选择了方案2,虽然移动端花了比较多的时间,但是最终实现了自己的会话,并且完成了匿名聊天。
给大家一个思路,供大家参考。
前一个项目主要重构了 IM 模块,之前是自己写的 IM,通过轮询来做消息,效率很低,后来接入了网易云信,陆续写了几篇小文章,希望可以给需要接入网易云信的同学一些参考。
写文字大部分时候是因为我希望能帮助到你,小部分时候是想做总结或做记录。我的微信是 lijinma,希望和你交朋友。
以下是我的公众账号,会分享我的学习和成长。