差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 后一修订版 两侧同时换到之后的修订记录 | ||
im:other:integrationcases:revokemessages [2019/06/27 06:21] she |
im:other:integrationcases:revokemessages [2019/07/02 04:31] jk [消息撤回] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== 消息回撤 ====== | + | ====== 消息撤回 ====== |
---- | ---- | ||
- | 消息回撤可实现的场景例如,当A用户发消息给B用户后,可以在一段时间内将消息回撤。 | + | 消息撤回可实现的场景例如,当A用户发消息给B用户后,可以在一段时间内将消息撤回。 |
{{ :im:other:integrationcases:image020.png?nolink |消息回撤过程}} | {{ :im:other:integrationcases:image020.png?nolink |消息回撤过程}} | ||
- | A用户发消息给B用户,当需要回撤的时候,将要回撤消息的id通过扩展消息发送给B,B检测到回撤的透传消息后,将对应 messageid 的消息从数据库删除。 | + | A用户发消息给B用户,当需要撤回的时候,将要撤回消息的id通过扩展消息发送给B,B检测到撤回的透传消息后,将对应 messageid 的消息从数据库删除。 |
- A用户发送消息。 | - A用户发送消息。 | ||
行 15: | 行 15: | ||
注:“扩展消息”指透传消息,它是一种特殊类型的消息,收发双方不会存数据库,同时用户离线时也不会有推送,比较适合配合业务来处理一些功能。 | 注:“扩展消息”指透传消息,它是一种特殊类型的消息,收发双方不会存数据库,同时用户离线时也不会有推送,比较适合配合业务来处理一些功能。 | ||
- | ===== 发送要回撤的透传消息 ===== | + | ===== 发送要撤回的透传消息 ===== |
=== Android示例 === | === Android示例 === | ||
行 49: | 行 49: | ||
<code objc> | <code objc> | ||
- | // 发送回撤的透传消息 | + | // 发送撤回的透传消息 |
- (void)revokeMessageWithMessageId:(NSString *)aMessageId | - (void)revokeMessageWithMessageId:(NSString *)aMessageId | ||
conversationId:(NSString *)conversationId | conversationId:(NSString *)conversationId | ||
行 72: | 行 72: | ||
} | } | ||
</code> | </code> | ||
- | ===== 接收透传信息,删除要回撤的消息 ===== | + | ===== 接收透传信息,删除要撤回的消息 ===== |
=== Android示例 === | === Android示例 === | ||
行 93: | 行 93: | ||
--删除消息来表示撤回-- | --删除消息来表示撤回-- | ||
conversation.removeMessage(msgId); | conversation.removeMessage(msgId); | ||
- | // 如果需要,可以插入一条“XXX回撤一条消息” | + | // 如果需要,可以插入一条“XXX撤回一条消息” |
} catch (EaseMobException e) { | } catch (EaseMobException e) { | ||
// TODO Auto-generated catch block | // TODO Auto-generated catch block | ||
行 124: | 行 124: | ||
messageId:revokeMessageId]; | messageId:revokeMessageId]; | ||
if (isSuccess) { | if (isSuccess) { | ||
- | // update ui,如果需要,可以插入一条“XXX回撤一条消息” | + | // update ui,如果需要,可以插入一条“XXX撤回一条消息” |
} | } | ||
} | } |