public interface MessageQoSEvent
当前MobileIMSDK的QoS机制支持全部的C2C、C2S、S2C共3种消息交互场景下的消息送达质量保证.
MobileIMSDK QoS机制的目标是:尽全力送达消息,即使无法送达也会通过回调告之应用层,尽最大可能避免因网络的不可靠 性而发生消息黑洞情况(何为黑洞消息?即消息发出后发送方完全不知道到底送达了还是没有送达,而MobileIMSDK的QoS机制 将会即时准确地告之发送方:“已送达”或者“没有送达”,没有第3种可能)。
限定符和类型 | 方法和说明 |
---|---|
void |
messagesBeReceived(java.lang.String theFingerPrint)
消息已被对方收到的回调事件通知.
|
void |
messagesLost(java.util.ArrayList<net.x52im.mobileimsdk.server.protocal.Protocal> lostMessages)
消息未送达的回调事件通知.
|
void messagesLost(java.util.ArrayList<net.x52im.mobileimsdk.server.protocal.Protocal> lostMessages)
lostMessages
- 由MobileIMSDK QoS算法判定出来的未送达消息列表(此列表中的Protocal对象是原对象的
clone(即原对象的深拷贝),请放心使用哦),应用层可通过指纹特征码找到原消息并可以UI上将其标记为”发送失败“以便即时告之用户Protocal
void messagesBeReceived(java.lang.String theFingerPrint)
目前,判定消息被对方收到是有两种可能:
theFingerPrint
- 已被收到的消息的指纹特征码(唯一ID),应用层可据此ID来找到原先已发生的消息并可在UI是将其标记为”已送达“或”已读“以便提升用户体验Protocal