人有失“口”,马有失蹄,不得不说微信和QQ的消息撤回功能在用户日常聊天中作用巨大,是一个解决痛点的功能。那么这个功能是如何做到的呢?目前,微信官方以微信的消息撤回功能为例,详解了背后的技术原理。
微信介绍称,“MobileA发送消息时,会在自己的微信客户端上生成全球唯一的UniqueMsgID,并将该UniqueMsgID附带在即将发送的消息体中。”而当消息撤回时,“MobleA知道自己已经发送的每一条消息体的UniqueMsgID,需要撤回哪一条,则将那一条消息的UniqueMsgID附带在撤回命令中。MoblieB收到撤回命令时,根据撤回命令中的UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。”也就是说,在这个过程中,记录每条消息唯一性的UniqueMsgID起到了非常重要的作用。
这样,当你在聊天时候一不小心嘴上以糊涂,说了不该说的话,也就能够有后悔药吃了。
至于为何发送出去超过两分钟的消息就不能撤回了,微信解释称,根据统计,2分钟是从接收到阅读一条信息的平均时长。如果更久之前的消息撤回了,对方很可能已经看过了,再撤回会造成尴尬,另外,这也是为了保证消息历史的完整性。而若短于两分钟,很可能让用户失去撤回消息的机会。
另外,为什么撤回消息的时候会在聊天记录里有提示呢?这让很多想悄悄撤回消息的用户很苦恼,而微信解释为:“微信的消息撤回有点像邮件的撤回。在发出去的那一刻,其实已经在锁屏处“通知“到对方了,所以很难做到无痕。”
古人有云,“一言既出,驷马难追”,可人总有说错话的时候,这时微信、QQ等聊天软件的“撤回”功能就很有必要了。
微信QQ消息都撤回了 为啥还要留下文字提示?
不过让很多人纳闷的是,既然撤回信息给用户提供了一种后悔药,为啥吃完后还要留下“某某撤回了一条消息“的提示呢?这个设计简直分分钟逼死处女座。
对此,腾讯团队表示,微信、QQ的消息撤回有点像邮件的撤回。在发出去的那一刻,其实已经在锁屏处“通知“到对方了,所以很难做到无痕。
以苹果手机为例,只要把微信的“通知显示详情“打开,并允许手机显示微信”通知“,那么即使对方撤回的信息,也可以在苹果”通知“上查到:
微信QQ消息都撤回了 为啥还要留下文字提示?
既然人人都不是有特异功能的都教授,那么信息发布会一定会留有痕迹,如果接收者收到通知但打开后发现没消息,以为丢失消息,反而要发送者重发一下,这会让双方更加尴尬。
另外,在一些商务谈判或者借贷等特定场合,如果撤回信息无文字提示,则将会导致对方利益收到损失。
比如知乎网友提到的借贷问题:
微信QQ消息都撤回了 为啥还要留下文字提示?
从功能开发角度来说,撤回功能的诞生是为打错别字或者发错人等正常使用场景考虑的。对于那些特殊的场景(比如勾搭妹子、情侣吵架等等),用户在信息发出前还是尽量克制情绪,避免“冲动行事”,以免错过撤回时间,不幸酿成“杯具”。
自古以来,破镜重圆,覆水难收,我们也要对自己的言行负责。
所以微信设置文字撤回提示,不仅为接收者留下一丝遐想,更时刻提醒着那些“爱撤回”的使用者,相比过度滥用功能,更要敢于对自己说出的话语负责呀。