UID:2049
A.MobileA发送消息时,会在自己的微信客户端上生成全球唯一的UniqueMsgID,并将该UniqueMsgID附带在即将发送的消息体中。B.MobileB收到消息时,将消息体存储起来,并展示该消息。C.MoblieA撤回消息时,MobleA知道自己已经发送的每一条消息体的UniqueMsgID,需要撤回哪一条,则将那一条消息的UniqueMsgID附带在撤回命令中。D.MoblieB收到撤回命令时,根据撤回命令中的UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。
A.信息发送后,若不设定撤回时间,对于一些已经发送出去很长时间的信息,则很可能接收方已经看到,发送方再撤回就会使双方关系更尴尬,甚至产生不必要的误会B.信息发送后,若撤回时间无限制,则发送方可以撤回任意一条历史消息,这将导致对话上下文不完整,影响用户体验。
若短于2分钟,则发布信息者本身可能都来不及意识到信息失误,就已经错过撤回的机会了;若长于2分钟,则信息被接受者阅读的概率大大提升,发送者也就没有再撤回的必要了。此外,撤回长时间以前发送的信息也会破坏上下文连贯性,严重影响对话体验和效果。