欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

融云聊天室属性 kv

程序员文章站 2022-06-03 23:33:47
融云聊天室属性 kv近期又又又加需求了,领导想要聊天室中的所有人看到的点播视频的进度都是相同的,由房主来操作进度条,其他人跟随房主的进度条进行视频进度条的调整,以前的逻辑是大家看到的视频进度都是根据自己的操作来,最开始的技术上使用自定义消息,但是后来后进入聊天室的成员无法收到自定义消息,一筹莫展几分钟后,在官网找个电话:融云官网:https://www.rongcloud.cn/电话咨询后,推荐使用聊天室属性,概念很陌生,但了解了个大概。使用过程房主设置属性值,其他角色获取 kv 值根据 kv进行进...

融云聊天室属性 kv

近期又又又加需求了,领导想要聊天室中的所有人看到的点播视频的进度都是相同的,由房主来操作进度条,其他人跟随房主的进度条进行视频进度条的调整,以前的逻辑是大家看到的视频进度都是根据自己的操作来,最开始的技术上使用自定义消息,但是后来后进入聊天室的成员无法收到自定义消息,一筹莫展几分钟后,
在官网找个电话:融云官网:https://www.rongcloud.cn/电话咨询后,推荐使用聊天室属性,概念很陌生,但了解了个大概。

使用过程

房主设置属性值,其他角色获取 kv 值根据 kv进行进度条的调整。

  1. 房主设置进度条属性
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) {
        
    }
});

2.其他端监听属性

RongIMClient.getInstance().setKVStatusListener(new RongIMClient.KVStatusListener() {
    /**
    * 加入聊天室成功后,SDK 默认从服务端同步 KV 列表,同步完成后触发
    *
    * @param roomId 聊天室 Id
    */
    @Override
    public void onChatRoomKVSync(String roomId) {
    
    }

    /**
    * 更新时全量返回 KV 属性,更新包含新增、修改
    *
    * @param roomId        聊天室 Id
    * @param chatRoomKvMap 发生变化的 KV
    */
    @Override
    public void onChatRoomKVUpdate(String roomId, Map<String, String> chatRoomKvMap) {
    }

    /**
    * KV 被删除时触发
    *
    * @param roomId        聊天室 Id
    * @param chatRoomKvMap 被删除的 KV
    */
    @Override
    public void onChatRoomKVRemove(String roomId, Map<String, String> chatRoomKvMap) {
    }
});

相关 api 查看:https://docs.rongcloud.cn/v4/views/im/noui/guide/chatroom/manage/key/set/android.html

使用总结

一切操作都要基于 sdk 并且要在加入聊天室后。
1.可以在服务端设置客户端获取。
3.但是每个聊天室中,最多允许设置 100 个属性信息,以 Key-Value 的方式进行存储。
4.每个聊天室中,每秒钟最多允许操作 Key-Value 100 次。
5.聊天室销毁后,聊天室中的自定义属性同时销毁。
6.可以配合 SharedPreferences 或者 MMKV 等进行本地存取。

本文地址:https://blog.csdn.net/rongcloud_r/article/details/109645797

相关标签: android