MessageQoSEvent Protocol Reference
Conforms to | NSObject |
---|---|
Declared in | MessageQoSEvent.h |
Overview
@protocol MessageQoSEvent MobileIMSDK的QoS质量保证机制的回调事件接口.
当前MobileIMSDK的QoS机制支持全部的C2C、C2S、S2C共3种消息交互场景下的消息送达质量保证.
MobileIMSDK QoS机制的目标是:尽全力送达消息,即使无法送达也会通过回调告之应用层,尽最大可能避免因UDP协议天生的不可靠性而发生消息黑洞情况(何为黑洞消息?即消 息发出后发送方完全不知道到底送达了还是没有送达,而MobileIMSDK的QoS机制将会即时准确地告之发送方:“已送达”或者“没有送达”,没有第3种可能)。
@author Jack Jiang(http://www.52im.net/thread-2792-1-1.html)) @version 1.0
– messagesLost:
required method
消息未送达的回调事件通知.
- (void)messagesLost:(NSMutableArray *)lostMessages
Parameters
lostMessages |
由MobileIMSDK QoS算法判定出来的未送达消息列表(此列表中的Protocal对象是原对象的clone(即原对象的深拷贝),请放心使用哦),应用层可通过指纹特征码找到原消息并可以UI上将其标记为 ”发送失败“以便即时告之用户 |
---|
Discussion
消息未送达的回调事件通知.
Declared In
MessageQoSEvent.h
– messagesBeReceived:
required method
消息已被对方收到的回调事件通知.
目前,判定消息被对方收到是有两种可能:
1) 对方确实是在线并且实时收到了;
2) 对方不在线或者服务端转发过程中出错了,由服务端进行离线存储成功后的反馈(此种情况严格来讲不能算是“已被收到”,但对于应用层来说,离线存储了的消息原则上就是已送达了的
消息:因为用户下次登陆时肯定能通过HTTP协议取到)。
- (void)messagesBeReceived:(NSString *)theFingerPrint
Parameters
theFingerPrint |
已被收到的消息的指纹特征码(唯一ID),应用层可据此ID来找到原先已发生的消息并可在UI是将其标记为”已送达“或”已读“以便提升用户体验 |
---|
Discussion
消息已被对方收到的回调事件通知.
目前,判定消息被对方收到是有两种可能:
1) 对方确实是在线并且实时收到了;
2) 对方不在线或者服务端转发过程中出错了,由服务端进行离线存储成功后的反馈(此种情况严格来讲不能算是“已被收到”,但对于应用层来说,离线存储了的消息原则上就是已送达了的
消息:因为用户下次登陆时肯定能通过HTTP协议取到)。
Declared In
MessageQoSEvent.h