Package io.rong.imkit

Interface MessageInterceptor

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract boolean interceptReceivedMessage(Message message, int left, boolean hasPackage, boolean offline) 接收实时或者离线消息拦回调。 注意: 1.
      abstract boolean interceptOnSendMessage(Message message) 准备发送消息的拦截回调。
      abstract boolean interceptOnSentMessage(Message message) 发送消息成功后的拦截回调。
      abstract boolean interceptOnInsertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, long sentTime) 准备插入Outgoing消息的拦截回调。
      abstract boolean interceptOnInsertIncomingMessage(ConversationType type, String targetId, String senderId, ReceivedStatus receivedStatus, MessageContent content, long sentTime) 准备插入Incoming消息的拦截回调。
      boolean )>interceptOnInsertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, long time, ResultCallback<Message> callback) 准备插入发送消息的拦截回调。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • interceptReceivedMessage

         abstract boolean interceptReceivedMessage(Message message, int left, boolean hasPackage, boolean offline)

        接收实时或者离线消息拦回调。

        注意: 1. 针对接收离线消息时,服务端会将 200 条消息打成一个包发到客户端,客户端对这包数据进行解析。 2. hasPackage 标识是否还有剩余的消息包,left 标识这包消息解析完逐条抛送给 App 层后,剩余多少条。 如何判断离线消息收完: 1. hasPackage 和 left 都为 0; 2. hasPackage 为 0 标识当前正在接收最后一包(200条)消息,left 为 0 标识最后一包的最后一条消息也已接收完毕。

        Parameters:
        message - 接收到的消息对象
        left - 每个数据包数据逐条上抛后,还剩余的条数
        hasPackage - 是否在服务端还存在未下发的消息包
        offline - 消息是否离线消息
        Returns:

        true 用户拦截此次消息,sdk不再做任何分发处理,false,交由sdk处理

      • interceptOnSendMessage

         abstract boolean interceptOnSendMessage(Message message)

        准备发送消息的拦截回调。

        Parameters:
        message - 准备发送的消息
        Returns:

        true 用户拦截此次消息,sdk不再做后续处理,false,交由sdk处理

      • interceptOnSentMessage

         abstract boolean interceptOnSentMessage(Message message)

        发送消息成功后的拦截回调。

        Parameters:
        message - 准备发送的消息
        Returns:

        true 用户拦截此次消息,sdk不再做后续处理,false,交由sdk处理

      • interceptOnInsertOutgoingMessage

         abstract boolean interceptOnInsertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, long sentTime)

        准备插入Outgoing消息的拦截回调。

        Parameters:
        type - 会话类型。
        targetId - 会话 id。比如私人会话时,是对方的 id; 群组会话时,是群 id; 讨论组会话时,则为该讨论组的 id。
        sentStatus - 发送状态 Message.
        content - 消息内容。如TextMessageImageMessage 等。
        sentTime - 消息的发送时间 getSentTime 。
        Returns:

        true 用户拦截此次消息,sdk不再做后续处理,false,交由sdk处理

      • interceptOnInsertIncomingMessage

         abstract boolean interceptOnInsertIncomingMessage(ConversationType type, String targetId, String senderId, ReceivedStatus receivedStatus, MessageContent content, long sentTime)

        准备插入Incoming消息的拦截回调。

        Parameters:
        type - 会话类型。
        targetId - 会话 id。比如私人会话时,是对方的 id; 群组会话时,是群 id; 讨论组会话时,则为该讨论组的 id。
        senderId - 发送方 id
        receivedStatus - 接收状态 Message.
        content - 消息内容。如 TextMessageImageMessage等。
        sentTime - 消息的发送时间 getSentTime 。
        Returns:

        true 用户拦截此次消息,sdk不再做后续处理,false,交由sdk处理

      • interceptOnInsertOutgoingMessage

         boolean )>interceptOnInsertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, long time, ResultCallback<Message> callback)

        准备插入发送消息的拦截回调。

        Parameters:
        type - 会话类型。
        targetId - 会话 id。比如私人会话时,是对方的 id; 群组会话时,是群 id; 讨论组会话时,则为该讨论组的 id。
        sentStatus - 发送状态 Message.
        content - 消息内容。如TextMessageImageMessage 等。
        time - 消息的发送时间 getSentTime 。
        callback - 1,拦截图片消息时,此方法return true,并且此callback返回需返回onError,处理业务侧拦截图片消息逻辑。 2,图片消息设置消息扩展时,此方法return true,构建message将可扩展属性设置为ture,并调用callback.
        Returns:

        true 用户拦截此次消息,sdk不再做后续处理,false,交由sdk处理