我们是个游戏项目,需求是每当聊天室人数多于的200的时候,要自动创建并让新进入的玩家加入新聊天室。现存聊天室若有不满200的则加入该旧有聊天室。方案 - 部署云引擎,在用户登录的时候,在云上实现检测聊天室人数,自动创建,然后返回一个会话给前端加入。问题1 - 经过测试,似乎创建聊天室的行为只能在客户端进行。2 - 获取似乎也只能在前端调用count()方法。但是该方法只能获取当前玩家所在聊天室的人数。3 - 经过Debug查看,云在返回处理上会进行筛选,不会返回会话,只会返回表中的数据信息。需要前端获取到objectId后再加入会话。
刚接触leanCloud两天,如果有理解不对的地方,大佬们不吝赐教~
1 - 经过测试,似乎创建聊天室的行为只能在客户端进行。2 - 获取似乎也只能在前端调用count()方法。但是该方法只能获取当前玩家所在聊天室的人数。3 - 经过Debug查看,云在返回处理上会进行筛选,不会返回会话,只会返回表中的数据信息。需要前端获取到objectId后再加入会话。
1.创建聊天室可以使用 REST API 方法: REST API 创建聊天室。还可以参考文档: 云引擎 REST API 使用指南。
2.获取某个聊天室人数请使用:REST API 查询在线成员数。
3.云函数只能返回可以被 JSON 序列化的对象, AVObject 我们是有特殊处理的,是可以返回的。但是 conversation 对象是不支持返回的。可以返回聊天室 ID,客户端获取到聊天室 ID 后加入聊天室。
多谢,刚了解了下,REST API确实是一个可行的解决方案。
一个小建议建议在返回聊天室信息的时候顺带着也返回当前聊天室的在线人数,这个应用场景确实挺广泛的。
有个疑问,云引擎也是部署在lean云上的,为什么他们之间的通讯还需要通过模拟http请求来完成呢?