融云是干嘛的?
融云就是提供了一个稳定的消息通道,这是他的根本作用。
另外融云提供了一些 UI 组件,目的是让用户快速集成开发。
对于开发者来说,开发者提供给融云的是 userid,username 和 portraitUri(头像) 这三个参数。
对于融云来说,他没有好友关系这个概念,融云也仅仅知道你应用的 userid,username 和 portraitUri(头像) 这三个参数,并不知道这些用户之间的关系。融云发送消息的依据是 userid,只要知道对方的 userid,消息就能发出去。而对于开发者来说,你如何给这些 userid 划分关系,就需要你们server来进行划分了。
添加好友流程
下面说的方法仅仅是一个常规的步骤,你可以根据你们自己的需求进行操作。
先看一下图片介绍一个流程:
--------------
需求:
A 想添加 B 为好友
概念解释:
1、A 和 B都是代表你们 app 端用户
2、开发者 server 代表你们的服务器
3、融云 server代表的就是 融云的 server
步骤:
1、A 通过你们 app 的接口,向开发者server 发了一个 http 请求,想添加 B 为好友
2、开发者 server 收到了 A 的请求,开发者server 去调用 融云server 向 B 发送一条添加好友请求的消息
3、融云server 向 B发送了一条添加好友请求的消息(这条消息的会话类型建议设置为 system 系统消息,这样比较符合场景)
4、B 想了想,决定添加 A 为好友,这时候 B 通过你们app 的接口,向开发者server 发了一个 http 请求,确认添加 A 为好友
5、开发者 server 调用 融云 server
6、融云server 收到开发者server 的调用后,向 A 和 B 发送一条消息,告诉 A 和 B 你两已经是好友了
有人会提出为什么 A 不直接调用融云的 Api 向 B 发送一条加好友的消息呢? 这种做法是可以的。但是这种做法有一个弊端就是太假了,A 都已经跟 B 聊起来了,你还加什么好友啊!!!
看上面流程的第3步,这条加好友的消息是发送的一条系统消息,这会 B 收到这条消息以后,他的聊天对象是你们app 的系统 userid,并不是 A 的userid。而且加好友都通过你们的server ,这样也便于你们自己维护好友关系。
注:这个流程和逻辑只是一个参考,你可以根据自己的需求来实现
来自融云工单