当前知识库站点已不再维护。请移步新版知识库:https://help.rongcloud.cn/

融云-群组 的概念以及一些使用的业务场景。

融云-群组 的概念以及一些使用的业务场景
发布时间: 2015-10-15 10:09

回答:

群组的概念

指两个以上用户一起进行聊天,与讨论组不同的是,参与群组聊天的群成员 Id 集合由您的 App 提供并维系,融云只负责将消息传达给群聊中的所有用户,退出聊天界面或者离线后可以收到推送通知。支持最大至 3000 人的大型社群需求。


融云群组的概念:跟 QQ群一样,有群主,可以设置管理员,用户可以根据群组 id 来搜这个群,管理员来确认是否加入这个人;可以退出群组,退出群组不需要管理员批准;融云群组最多支持 3000人在一个群里。


下面是常见的几个问题,如果你的应用没有这种要求,可以不看。

问题1:客户端如何创建群组?

客户端创建群组是由你们自己的 server 去请求 融云的 server,由融云的 server 返回一个 群组 id 给你们的 server,你们的 server 将融云 server 返回的群组 id 返回给你们自己的 客户端。你们自己 server 访问融云 API 地址文档:https://docs.rongcloud.cn/v4-platform/views/im/noui/guide/group/manage/basic/serverapi.html?match=imlib-server#createGroup


对于客户端开发的人员来说,创建群组只需要与你们 server 交互就行。



创建群组 需要注意几点:


1.在客户端想绕开你们 server 直接使用 融云的 SDK 创建群组这是不可能的,融云移动端 SDK 也没有提供 创建群组的方法


2.创建群组的这个人,默认已经加入到这个群组,客户端是否需要调用 joinGroup 方法取决于你们 server 是否调用了 加入群组的方法,看问题 2


问题2:客户端如何加入群组?

在客户端加入群组,需要你的 客户端 与你们的 server 进行交互。当你要加入群组的时候,首先,你调用你们 server 提供给你 加入群组的 接口,这么做是为了让你们的 server 实时的知道当前群内有多少人,因为这个群组所有数据都是由你们自己维护的;然后,你需要调用加入群组方法。加入群组有以下两个方法:


1.在客户端调用 joinGroup,安卓文档地址:https://www.rongcloud.cn/docs/android.html#base_function_group

2.在server端调用 joinGroup 方法,文档地址:http://www.rongcloud.cn/docs/server.html#加入群组_方法

这两个方法效果是一样的,唯一的区别是:一个是在你们客户端调用加入群组的方法,一个是在你们 server 端调用加入群组的方法。如果客户端调用了,你们的 server 端就不需要调用了;反之,一样

问题3:如何退出群组?

加入和退出是一样的逻辑,不再重复。

需要注意的是:如果你的客户端希望退出群组的同时,删除该群组对应的会话,那需要你的客户端在成功退出群组后,调用removeConversation来删除会话。

问题4:如何同步群组信息?


首先解释一下同步群组信息是干嘛用的,举例:你现在已经加入了 "融云1","融云2","融云3" 这 3 个群,但是你调用同步群组信息的时候,同步的是 "融云1","融云2" 这两个群,这时候你会从 "融云3" 这个群里面退出;如果你已经加入了"融云1","融云2" 这 2 个群,但是你调用同步群组信息的时候,同步的是 "融云1","融云2" ,"融云3" 这 3 个群,这时候你会自动加入 "融云3" 这个群。


server 端和 客户端都有 这个api。


问题5:有人搜索群组 id ,申请加入这个群的时候,我如何来同意是否添加这货入群?


如果你的 app 内有搜索群组的功能,当你搜到一个你感兴趣的群组时,你会申请加入这个群组,你可以利用融云的自定义消息实现这个功能(仅仅是一个参考,还有更多实现方式,按照你们的产品需求走就可以,别较真)。这时的流程为:当你想加入这个群组时,你此时需要先拿到这个群组的群主和管理员 userid,以及这个群组 id。你自定义一条加入群组的消息类型,当群主和管理员收到这条自定义加入群组消息时弹出一个对话框,确认是否添加你为群成员


问题6:群组中 群主 和 管理员 如何设定?


这块的逻辑都是你们自己的事情了,对于融云来说,他发送消息的依据是 群组id,没有管理员和群主的概念,如何设定群内的规则就看你们自己怎么玩了...


问题7:创建完群组后,群组内的群人数以及每个人的 用户信息从哪里得到?

群组都是在用户自己的 server 上维护的,群组里面的所有信息,你自己都可以得到,所以群组内群人数以及每个人的用户信息在你们的 server 上都可以拿到。不要再去找融云,让他提供给你群内的人员信息....