关于融云聊天室KV 值的正确使用

在使用融云集成即时通讯的过程中,根据产品业务逻辑,我们使用了融云聊天室场景,因为我们主要做的是直播聊天室的业务;在使用聊天室的过程中,了解到融云这边是有针对聊天室属性做处理的,这样的话,更加方便产品的某些功能点的实现,比如说 人数的动态变化等等;

现就我这边了解到的聊天室的KV 对大家做一个说明,增进对KV 使用的了解; 首先,要获取聊天室的属性,我们当然应该加入聊天室,加入聊天室的方式如下所示:

 RongIM.getInstance().joinChatRoom(roomId, 20, new RongIMClient.OperationCallback() {@Overridepublic void onSuccess() {}@Overridepublic void onError(RongIMClient.ErrorCode errorCode) {}});

以上方法无需多言,调用即可加入聊天室,具体参数文档可以参考融云文档。

当然,要获取聊天室属性获取之前,肯定要知道如何设置聊天室属性的,以下方式主要展示客户端的设置方式:

   RongIMClient.getInstance().setChatRoomEntry(chatRoomId, key, value, sendNotification, isAutoDel, notificationExtra, new RongIMClient.OperationCallback() {/*** 成功回调*/
@Override
public void onSuccess() {}/*** 失败回调* @param errorCode 错误码*/
@Override
public void onError(RongIMClient.ErrorCode errorCode) {}

});

接下来就是获取的方式了,这块是我在集成过程中花费时间比较久的,在获取之前,需要先了解融云对于聊天室KV 的整体流程设置:

  • 加入聊天室之后,通过设置的监听 setKVStatusListener 来获取到服务KV 的变化,然后在收到变化之后,在调用 getChatRoomEntry 来获取KV 值即可 。

注意:前提条件是设置监听获取到KV 变化之后,才去获取,因为这个变化是服务发出的,也就是说这是一个通知状态;

监听的设置方式:

     RongIMClient.getInstance().setKVStatusListener(new RongIMClient.KVStatusListener() {@Overridepublic void onChatRoomKVSync(String roomId) {}@Overridepublic void onChatRoomKVUpdate(String roomId, Map<String, String> chatRoomKvMap) {}@Overridepublic void onChatRoomKVRemove(String roomId, Map<String, String> chatRoomKvMap) {}});

当服务的KV 发送变化时候,会在 onChatRoomKVUpdate 中回调到的,回调中的Map 就是变化得KV 值,当然可以用户主动调用来进行获取,方式如下:

        RongIMClient.getInstance().getAllChatRoomEntries(roomId, new RongIMClient.ResultCallback<Map<String, String>>() {@Overridepublic void onSuccess(Map<String, String> stringStringMap) {}@Overridepublic void onError(RongIMClient.ErrorCode e) {}});

通过以上步骤即可完成聊天室属性的设置,以及获取;

关于融云聊天室KV 值的正确使用相关推荐

  1. 融云聊天室属性 kv

    融云聊天室属性 kv 近期又又又加需求了,领导想要聊天室中的所有人看到的点播视频的进度都是相同的,由房主来操作进度条,其他人跟随房主的进度条进行视频进度条的调整,以前的逻辑是大家看到的视频进度都是根据 ...

  2. 融云聊天--web SDK API

    因为产品需求,需要有聊天功能,客服功能.用的是融云的,他把什么方法都集成好了,用起来很方便.并且是免费的.但是第一次接触,并不是那么顺利,并且在网上搜不到相关核心资料,只能硬着头皮看文档,实在没办法就 ...

  3. 融云聊天 php_thinkphp整合系列之融云即时通讯在线聊天

    随着技术的发展:现代的网站:越来越趋于应用形式了: 不再是像以前那样需要用户刷新页面:获取数据了: 服务器端可以主动向用户推送数据:更加及时性了: 比较突出的就是即时通讯在线聊天: 今个:我们要打造的 ...

  4. Android开发遇到的坑-----融云聊天接收到但不能显示

    问题 在使用融云的时候,遇到如果对方给我发送消息,那么我的会话界面不会立即显示这条消息,必须要退出会话界面,再次进入才能显示 解决办法 其实是自己不仔细的原因,融云的两个不同对象都有 connect( ...

  5. 校招变相毁约、为714高炮导流!百融云创没有金融科技的“正确打开方式”?

    作者 | 粽棕 来源 | 深氪财经 百融云创成立于2014年,对外宣称自己是一家用人工智能.风控云为金融行业提供客户全生命周期管理产品和服务的智能科技公司,作为一家大数据风控科技公司,却打着" ...

  6. 融云「聊天室属性」: 语聊房、直播间有序运行和丝滑体验的绝技

    信息技术的发展一日千里,但当技术照进现实,转变为让娱乐.生活更丰富,让工作更方便的实用能力,这个过程并非一日之功,也不是一成不变. 比如,IM 即时通讯中聊天室产品的聊天室属性,表面"其貌不 ...

  7. 【直播聊天室】特点、构成及解决方案简介

    为方便开发者了解和接入融云直播聊天室,本文将介绍融云直播聊天室功能特点.主要构成及常见功能的解决方案. 一.产品介绍 融云直播聊天室,是专门为视频直播业务提供的一个产品.主要特点是: 丰富的聊天室消息 ...

  8. 【干货】直播聊天室详细分解,让你一眼学会快速搭建!

    直播聊天室 为方便开发者了解和接入融云直播聊天室,本文将介绍融云直播聊天室功能特点.主要构成及常见功能的解决方案. 产品介绍 融云直播聊天室,是专门为视频直播业务提供的一个产品.主要特点是: 丰富的聊 ...

  9. WICC 2021成功召开 融云带来 PaaS 服务演进方向新探索

    7月24日,第三届全球互联网通信云大会(WICC 2021)在北京成功召开,数千开发者共赴通信云技术盛宴.本次会议中,"开发者服务生态"被作为重要议题引起了全产业链的广泛关注.作为 ...

最新文章

  1. 努力的孩子运气不会太差,跌宕的人生定当更加精彩
  2. VBA Editor Addins -- VBE插件模板开发众筹
  3. Go:go语言的认识理解、安装应用、语法使用之详细攻略
  4. mkl_def.dll文件加载失败
  5. linux编译boost
  6. php引用下级目录文件夹,使用PHP遍历文件夹与子目录的函数代码
  7. Spring框架–应用程序上下文–到达应用程序上下文的三种方法
  8. Study on Android【五】--自定义ContentProvider的语义
  9. 实现MySQL逗号数据计数
  10. linux shell 脚本中变量截取
  11. LeetCode刷题——26. 删除排序数组中的重复项
  12. docker--强制删除none的image镜像
  13. 关于安装MASM32后lib文件夹为空问题的解决
  14. Office2013图标出现白板的解决办法
  15. Docker 搭建 Nextcloud
  16. Windows2000下IE5升级到IE6
  17. 【macOS免费软件推荐】第1期:MuseScore
  18. 深度学习(一)最通俗易懂的 Transformer
  19. 三维点云处理-1.2主成分分析PCA
  20. 解决群晖 “由于系统可用存储空间不足,您将无法登录“ 的问题

热门文章

  1. 名编辑电子杂志大师教程 | 如何打开名编辑电子杂志大师帮助文档?
  2. 时空大数据与智慧城市
  3. Linux 软件包安装
  4. T23,雄关漫道真如铁,而今迈步还需从头越
  5. 计算机设计大赛赛事总结怎么写,北京科技大学计算机与通信工程学院-2018年计算机设计大赛总结会暨姚琳副教授学术报告...
  6. 计算机里没有摄像这个程序,win7系统没有摄像头不能视频的几种原因和解决方法...
  7. 【图形化安装】EVE-NG模拟器的安装
  8. java excel单元格数据格式_POI实战-java开发excel详解之单元格各类型数据读取
  9. 工作技能不等于工作能力——工作能力的5个维度
  10. YTU 问题 : 排序