手机端的 APP 如果嵌入了 IM 模块,比如网易云信(环信),这些第三方的服务都有自己的账户系统,也是需要注册登录。
现在有这么一个需求:如何实现匿名聊天?同时要实现实名聊天。
需求可以简单理解为:相同的用户 A 和 B,需要有三个会话,一个是实名的聊天,一个是 A 匿名 B 实名的聊天,一个是 A 实名 B 匿名的聊天。
咋一看好像没什么难度,直接使用云信提供的 SDK 来做就可以吧,但是这里的一个问题是:
云信提供的移动端 SDK(Android 和 iOS)有自己的一套会话系统,这个会话系统里面,每两个人都只能有一个会话,怎么办?
开始的时候,和移动端工程师商量:
- 是否可以使用群聊来做?每个匿名聊天会话会创建一个群聊,然后在显示层面来隐藏匿名用户。后来发现这样做是有问题的,因为每个人可以创建的群聊个数是有限制的。
- 抛弃云信 SDK 的会话实现方法,重新实现会话,但这势必要修改移动端上面聊天会话的数据存储(sqlite),需要自己维护一套会话。这个方案我们只使用云信进行收发消息。
后来选择了方案2,虽然移动端花了比较多的时间,但是最终实现了自己的会话,并且完成了匿名聊天。
给大家一个思路,供大家参考。
本文链接: http://lijinma.com/blog/2016/08/19/anonymous-chat-using-neteaseim/