融云 IMkit 拦截或监听所有发送消息

数字破浪客
• 阅读 1258

融云 IMkit 拦截或监听所有发送消息

最近集成融云 IMkit 的 SDK, 有一个需求是要监听所有发出去的消息, 根据消息类型拦截或者进行修改.

在官方文档上着了一遍, 都没有找到, 偶然在看 API 文档的时候看见了一个监听然后做了尝试, 是可以满足需求的, 所以再次记录一下.

具体的方法是 RongIM 类下的 setSendMessageListener 方法.

代码如下.

     /**
     * 设置发送消息的监听。
     *
     * @param listener 发送消息的监听。
     */
    RongIM.setSendMessageListener(new OnSendMessageListener() {
    
           @Override
         public Message onSend(Message message) {
         
                 // 发送消息之前会走此方法. message 为要发送的消息,
                 // 如果返回 null 的话, 就不会发送此消息了.
                 return message;
         }

         @Override
        public boolean onSent(Message message, SentMessageErrorCode sentMessageErrorCode) {
                 发送成功之后会走方法. 返回 true , 就会走 SDK 的后续逻辑. 返回 false 就拦截了.         return true;
             }
    
    }).

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
DHCP snooping(DHCP监听)
DHCP监听可以防范利用DHCP发起的多种攻击行为,如DHCP中间人攻击,伪造多台设备耗尽地址池DHCP监听允许可信端口上的所有DHCP消息,但是却过滤非可信端口上的DHCP消息,DHCP监听还会在非可信端口上检查DHCP客户端消息ip dhcp snooping vlan 为一个或多个vlan启用DHCP监听ip dhcp snooping 
Stella981 Stella981
3年前
RabbitMq动态添加监听
昨天研究了一下RabbitMQ想做一个动态添加监听的功能依靠springboot实现起来也简单就2个类1个主类实现动态添加队列及绑定关系、动态添加监听、动态调整监听线程池大小、动态删除队列、动态取消监听、发送动态队列的消息。还有个类就是自定义消费者都是采用string接收参数,后面可以采用指定统一对象,然后用个type字段区分消息类型,
IM 应用场景中如何限制只有好友之间才能互发消息?
功能介绍好友关系由开发者的应用服务器自行维护好友关系,融云服务器提供消息发送能力,消息发送过程中默认不会做任何权限校验得到userId后即可发送消息,例如:A发送消息给B,只需要把B的userId传给融云服务即可发送消息这样易用的设计可以使开发者高度自由集
如何清理会话消息及清除 iOS IM SDK 缓存图片?
融云SDK中新增了deleteMessages方法,用于删除某个会话中的所有消息,同时会整理压缩数据库,减少占用空间,此方法不可频繁循环调用。方法如下:/!删除某个会话中的所有消息@paramconversationType会话类型,不支持聊天室@para
IM 应用场景中如何限制只有好友之间才能互发消息?
功能介绍好友关系由开发者的应用服务器自行维护好友关系,融云服务器提供消息发送能力,消息发送过程中默认不会做任何权限校验得到userId后即可发送消息,例如:A发送消息给B,只需要把B的userId传给融云服务即可发送消息这样易用的设计可以使开发者高度自由集
融云IM即时通讯 融云IM即时通讯
9个月前
融云IM干货丨如果用户不在线,推送通知会怎样处理?
如果用户不在线,融云的推送通知会按照以下方式处理:离线消息推送:当用户不在线时,融云会将收到的单聊消息、群聊消息、系统消息、超级群消息通过第三方推送厂商或融云自建的推送服务通知客户端。这意味着即使用户的应用没有运行,他们也能通过系统通知栏接收到消息提醒。服
融云IM即时通讯 融云IM即时通讯
9个月前
融云IM干货丨 升级IMKit后,如何确保所有现有功能仍然正常工作?
升级IMKit后,确保所有现有功能仍然正常工作的步骤如下:检查变更内容:根据融云开发者文档,从2.x升级到5.x版本,涉及到RCIM、RCMessageCell、RCChatSessionInputBarControl等多个组件的变更。你需要对照这些变更内
融云IM即时通讯 融云IM即时通讯
7个月前
融云 IM 干货丨消息被拦截后,各平台客户端如何处理被拦截消息的状态
根据搜索结果,各平台客户端处理被拦截消息的状态主要涉及以下几个步骤:1.开通功能:首先需要开通相关功能,以便客户端能够感知到消息被拦截。此功能不会额外收费。2.设置敏感信息拦截监听器:在客户端,需要设置敏感信息拦截监听器,被拦截的消息信息会在此监听器中回调
融云IM即时通讯 融云IM即时通讯
7个月前
融云 IM 干货丨私有云客户如何获取IMKit源码并集成?
私有云客户获取并集成IMKit源码的步骤如下:获取IMKit源码1.登录获取私有云IMKit源码工程,账号密码需咨询企微群群主。修改源码中的脚本2.修改IMKit源码中的beforebuild.sh文件,注释掉所有代码。3.修改IMKit源码中的after
融云IM即时通讯 融云IM即时通讯
7个月前
融云 IM 干货丨 私有云IMKit的国际化开发文档在哪里可以找到?
私有云IMKit的国际化开发文档可以在融云开发者文档中心找到。以下是不同平台的国际化开发文档链接:Web平台语言设置:Web平台的IMKit支持中英文两种语言。SDK会根据设置语种展示IMKit界面组件文案。默认展示中文。可以通过以下代码切换语言:java
融云IM即时通讯 融云IM即时通讯
7个月前
融云 IM 干货丨如何开通单群聊云存储服务?
如何开通单群聊云存储服务融云平台1、登录融云控制台:访问融云开发者文档页面,登录融云控制台。2、进入IM服务管理页面:在控制台的左侧导航栏中,选择IM服务管理。3、开通单群聊消息云端存储服务:在IM服务管理页面,找到单群聊消息云端存储服务,点击开通按钮。该