Package io.rong.imkit
Interface MessageInterceptor
-
- All Implemented Interfaces:
public interface MessageInterceptor消息拦截器
-
-
Method Summary
Modifier and Type Method Description abstract booleaninterceptReceivedMessage(Message message, int left, boolean hasPackage, boolean offline)接收实时或者离线消息拦回调。 注意: 1. abstract booleaninterceptOnSendMessage(Message message)准备发送消息的拦截回调。 abstract booleaninterceptOnSentMessage(Message message)发送消息成功后的拦截回调。 abstract booleaninterceptOnInsertOutgoingMessage(ConversationType type, String targetId, SentStatus sentStatus, MessageContent content, long sentTime)准备插入Outgoing消息的拦截回调。 abstract booleaninterceptOnInsertIncomingMessage(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)准备插入发送消息的拦截回调。 -
-
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- 发送方 idreceivedStatus- 接收状态 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处理
-
-
-
-