融云 IM 干货丨消息被拦截后,各平台客户端如何处理被拦截消息的状态

融云IM即时通讯
• 阅读 29

根据搜索结果,各平台客户端处理被拦截消息的状态主要涉及以下几个步骤:

  1. 开通功能:首先需要开通相关功能,以便客户端能够感知到消息被拦截。此功能不会额外收费。

  2. 设置敏感信息拦截监听器:在客户端,需要设置敏感信息拦截监听器,被拦截的消息信息会在此监听器中回调。

  3. 获取被拦截消息的详细信息:通过调用特定的方法(如io.rong.imlib.RongCoreClient#getMessageByUid)获取被拦截消息的详细信息,包括消息的唯一ID(Uid)。

  4. 修改消息状态:根据获取到的被拦截消息的详细信息,可以调用相应的方法修改消息状态为发送失败。对于包含UI集成的客户端,可以调用io.rong.imkit.IMCenter#setMessageSentStatus方法;对于不包含UI集成的客户端,则调用io.rong.imlib.RongCoreClient#setMessageSentStatus方法。

  5. iOS端处理:iOS端也需要设置敏感信息拦截监听器,并在对应的回调方法中实现修改消息状态的逻辑。例如,通过RCCoreClient sharedCoreClient获取被拦截的消息,并调用setMessageSentStatus方法修改消息的发送状态。

  6. 消息状态修改代码示例:以下是Android端和iOS端修改消息状态的代码示例:

    • Android端:
      message.setSentStatus(SentStatus.FAILED);
      IMCenter.getInstance().setMessageSentStatus(message, null);
      RongCoreClient.getInstance().setMessageSentStatus(message, null);
    • iOS端:
      - (void)messageDidBlock:(RCBlockedMessageInfo *)blockedMessageInfo {
          RCMessage *blockMessage = [[RCCoreClient sharedCoreClient] getMessageByUId:blockedMessageInfo.blockedMsgUId];
          [[RCCoreClient sharedCoreClient] setMessageSentStatus:blockMessage.messageId sentStatus:SentStatus_FAILED completion:^(BOOL ret) {
              // UI刷新处理
          }];
      }
      这些步骤和代码示例提供了一个基本的框架,用于在不同平台的客户端中处理被拦截消息的状态。
点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
springmvc 静态文件访问
//配置静态文件访问路径,防止被拦截器拦截注:\\表示匹配该路径下的所有路径<mvc:annotationdriven/<mvc:resourceslocation\"/WEBINF/static/js/"mapping\"/js/\\"/
Wesley13 Wesley13
3年前
MyBatis拦截器实现分页
MyBatis分页拦截器实现前言    拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。Mybatis拦截器设计的一个初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。打个比
Stella981 Stella981
3年前
Mybatis通过Interceptor来简单实现影子表进行动态sql读取和写入
首先进行Mybatis 拦截器介绍    拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。Mybatis拦截器设计的一个初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。打个比方,对于Executor,M
Stella981 Stella981
3年前
Spring mvc之拦截器介绍
一、拦截器介绍 (1)拦截器概念介绍        拦截器(Interceptor)是Spring的核心功能之一,它可以在用户请求Action的之前或之后进行一些业务处理。        很多从ASP.NET转过来的开发人员把它叫做过滤器。(2)拦截器方法执行顺序
Easter79 Easter79
3年前
SpringBoot2.0 基础案例(05):多个拦截器配置和使用场景
本文源码GitHub:知了一笑https://github.com/cicadasmile/springbootbase一、拦截器简介1、拦截器定义拦截器,请求的接口被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。拦截器主要用来按照指定规则拒
Stella981 Stella981
3年前
SpringBoot2.0 基础案例(05):多个拦截器配置和使用场景
本文源码GitHub:知了一笑https://github.com/cicadasmile/springbootbase一、拦截器简介1、拦截器定义拦截器,请求的接口被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。拦截器主要用来按照指定规则拒
融云 IM 干货丨如何确保拦截功能不会误拦截正常消息?
要确保拦截功能不会误拦截正常消息,可以采取以下几个措施:1.精确配置拦截规则:在配置拦截规则时,应尽可能精确地定义哪些消息或行为应该被拦截,哪些不应该。例如,在华为云的敏感信息过滤中,可以添加防敏感信息泄露规则,对返回页面中包含的敏感信息做屏蔽处理,防止用
融云IM即时通讯 融云IM即时通讯
1个月前
融云IM干货丨【 IM 服务】如何下载历史消息?如何获取历史消息日志?怎么下载消息日志
要下载IM服务的历史消息或获取历史消息日志,您可以按照以下步骤操作:开通服务:首先,需要确保您的AppKey已经开通了相关的历史消息日志下载服务。例如,融云提供的单群聊消息云端存储服务需要在控制台IM服务管理页面为当前使用的AppKey开启服务。使用服务端
融云IM即时通讯 融云IM即时通讯
1个月前
融云IM干货丨如何查看IM服务日志?
要查看IM服务的消息日志,您可以通过以下步骤进行:开通服务:首先,确保您已经为当前使用的AppKey开通了消息日志服务。例如,融云提供了消息日志服务,您需要在融云开发者后台的“免费基础功能”页面开启该服务。使用服务端API获取日志:开通服务后,您可以使用服
融云IM即时通讯 融云IM即时通讯
1个月前
融云IM干货丨IM服务消息推送,客户端版本更新后,如何确保消息不丢失?
确保客户端版本更新后消息不丢失,可以采取以下几种策略:消息持久化:确保消息被存储在可靠的存储介质中,如数据库或磁盘,这样即使客户端或服务端发生故障,消息也不会丢失。对于RabbitMQ等消息队列,需要开启持久化机制,将消息持久化到硬盘上,即使服务重启也能从
融云IM即时通讯
融云IM即时通讯
Lv1
北京云中融信网络科技有限公司(简称“融云”),是全球互联网通信云服务领创品牌。2014 年由创下亿级日活神话的“飞信”核心团队组建而成,依托沉淀近 20 年的领先技术基因,开创性地将通信技术封装为 SDK 提供给开发者和企业用户,大幅降低了行业对通信功能开发的难度和成本。 自成立以来,融云专注于向开发者和企业提供专业、简单、稳定的即时通讯和实时音视频 PaaS 服务。凭借产品、技术、服务等多方面优势,融云收获了超 80 万开发者和 2200+ 国家政府机关、企事业单位的青睐,支撑起 155 万+ 应用的通信需求,覆盖社交、娱乐、游戏、教育、电商、医疗等各行业场景,并打造出一系列中企出海最佳实践案例。 在全球范围内,融云构建了一张覆盖 245 个国家及地区的通信云网络,设立了多个海外数据中心以及数千加速节点,稳定互联,确保跨地域通信体验更加流畅。基于客户业务需求,融云可提供公有云、私有云、混合云等多种部署模式。 权威咨询机构“艾瑞咨询”数据报告显示,融云即时通讯云市场份额已连续多年稳居第一。
文章
187
粉丝
0
获赞
0