问题描述
/*! @method @brief 发送一个"已读消息"(在UI上显示了或者阅后即焚的销毁的时候发送)的回执到服务器 @discussion @param message 从服务器收到的消息 @result */- (void)sendReadAckForMessage:(EMMessage *)message;/*! @method @brief 把本条消息标记为已读/未读 @discussion 非此conversation的消息不会被标记 @param aMessageId 需要被标记的消息ID @param isRead 已读或未读 @result 是否成功标记此条消息 */- (BOOL)markMessageWithId:(NSString *)aMessageId asRead:(BOOL)isRead;以上两个方法有什么区别?
解决方案
仔细看注释,sendReadAckForMessage是“发送一个"已读消息"(在UI上显示了或者阅后即焚的销毁的时候发送)的回执到服务器”,对方会有已读的回调接口回调。markMessageWithId是“本条消息标记为已读/未读”。不一样的,具体实现可以看下demo。
解决方案二:
我说的意思是“markMessageWithId”这个是只更新本地数据库,还是同时给对方一个回执?
解决方案三:
sendReadAckForMessage该方法是给消息发送方回执一个消息已读的状态,使消息发送方将消息置为已读;消息发送方会执行didReceiveHasReadResponse回调方法,markMessageWithId该方法是将消息置为已读,消息置为已读都没有回执的。
时间: 2024-11-08 19:47:52