IM应用的初学者们,在补全了各种基础技术知识后(如果您仍不具备这些知识,建议马上阅读《新手入门一篇就够:从零开发移动端IM》),在动手编码实践时,很多时候纠结的并不是功能该如何实现,而是这个功能该实现成什么样(没有经验,我特玛能找谁问问?)。
比如,最常见的纠结有以下这些:
嗯,这些问题,老板认为并不是问题,因为可以“参考微信”啊!
然而,微信又不会亲口说出来它的这些规则到底是多少?难不成要一个一个去试?那太扯了!
本文将根据微信官方目前已公开的资料,将它的一些常用功能参数和逻辑规则资料进行了汇总整理,希望能助力你的IM开发!(本文已发布于:http://www.52im.net/thread-3008-1-1.html)
学习交流:
- 即时通讯/推送技术开发交流5群:215477170[推荐] - 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》
本文已同步发布于“即时通讯技术圈”公众号:
本文中整理的所有内容均来自微信官方知识库,如果存在不全或不准确的情况,请在评论中回复,我会逐条核实并修订。
* 特别申明:本文内容仅供研究和学习使用,请勿用作其它用途。如有不妥之处,请指出,我会及时处理。
本文适合作为新老IM开发者的备查资料。本文不适合不懂技术的普通用户阅读,因为所有内容都尽量以技术人员的视解整理和表述。
移动端IM产品中,微信是标杆,也是事实的用户体验标准。所以,无论是被老板或产品经理怼,直接说“微信也这样”,能省去很多口水仗(经验啊)。这也是整理本文的初衷,以及价值所在。
《微信本地数据库破解版(含iOS、Android),仅供学习研究 [附件下载]》(* 推荐研究)
《仿微信的IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]》
有效期限为 3 天。
* 补充规则:微信的好友验证请求只保存在手机本地,当卸载重装后,好友请求会消失且无法找回。
微信通讯录分组、好友排序,是根据微信通讯录朋友昵称的首字母(或首个汉字拼音首字母)由A-Z排序。
* 补充规则:如果好昵称是特殊符号、数字或Emoji表情(比如爱心、气球等),将会归到#类中。
* 补充规则:如果不想被他人添加好友时搜索到,微信中可以设置关闭“微信号/手机号/QQ号”等搜索方式。
1)搜索加好友:
输入对方的微信号/QQ号/手机号搜索添加即可,但不支持搜索昵称。
* 补充规则:如果对方将关闭了“通过QQ/手机号/微信号搜索到我”,则没有办法通过此种方法添加好友。
2)雷达加朋友:
当被添加者物理距离很近时,一起按住手机,就可以添加对方为朋友。
3)扫二维码加朋友:
扫描对方的二维码名片,就可以添加对方为朋友。
4)手机联系人:
绑定手机联系人的微信帐号,可以查看到手机通讯录联系人已开通了微信的朋友,并直接添加对方为微信好友。
微信最多可以添加 5000 个好友。
将对方加入黑名单后,与对方的关系逻辑如下:
当好友将你删除或加入黑名单后,你给他发消息时,微信将出现以下提示。
对方将我加入黑名单后,我发消息时的微信提示:
对方把我删除后,我发消息时的微信提示:
微信群相当于QQ中的讨论组,所以没有QQ里的群号码这种东西。
群的创建者默认是群主。
* 补充规则:当创建者退出该群时,群成员列表中的第一位(也就是建群以来第2个加群的人)将自动成为新群主(好奇葩的规则!)。
另外:当原群创建者(即原群主)再次加群时,身份将会是普通群员。
群成员可以拉其他人加入群,群主不能取消普通群员的这个能力。
* 补充规则:群主可以设置邀请需确认,即需群主确认后才可以让被邀请的好友加到群内。
每个人(不只是群主)都可以修改群名称。
* 补充规则:当群超过 100 人时,只有群主可以修改群名称。
只有群主可编辑群公告。
* 补充规则:群公告字数限制为最大 2000 个字(即4000字节)。
微信群需要手动添加到通讯录才会永久保存,否则它只会保存在本地,一旦你卸载APP后,它就会消失。除非有群内成员发送消息,你才能再次看到,除次之外,你没有别的方法可以找回它。
微信群最大上限为 500 人。而且,100 人以上的微信群只有已通过实名验证的微信用户才能加入。
微信没有像QQ那样的“一键解散群”功能。
可以通过中列方法实现解散群或退出群的能力:
1)如果是群主(创建者或群成员列表第一位),可以将群成员全部删除;
2)如果是普通群员,可以退出群聊。
微信群的二维码有效期为 7 天(从二维码生成时开始计算),失效后的2维码扫描时将提示“该二维码已过期”。
微信没有屏蔽群聊消息的功能,如果要达到这样的效果,你只能设置不提醒新消息或退出此群。
如果关闭了朋友圈更新提醒,当好友有发布新的朋友圈动态时,“发现”按钮上将不会再出现红点提示,否则将提示。
当你未作任何权限设置的情况下:
发新朋友圈时,可以设置回避的人(即设置“谁可以/不可以看”):
可以允许或禁止陌生人查看:
可以允许或禁止陌生人(可能来自扫码但未添加好友、附近的人、摇一摇、群聊时)看到10张最近发的照片。
可以设置朋友圈查看时间范围:
可选择允许好友查看朋友圈最近三天、最近半年或者全部的内容。
可以关闭朋友圈功能:
之前通过朋友圈发表的照片,可在个人相册里查看。但好友仍可以看到。
1)陌生人查看十张照片:
当禁止“允许陌生人查看十张照片”时,陌生人将看不到你发布的任何朋友圈动态。微信默认是允许。
2)不看他(她)的朋友圈(即屏蔽好友的朋友圈):
在您的朋友圈中不会显示对方发送的朋友圈消息。
3)不让他(她)看我的朋友圈(即内容不更新给好友):
对方查看您的朋友圈显示是空白的,不会显示您发送过的任何朋友圈消息。
点评:这里有份完整的微信本地数据库样本,可以用来研究和学习:《微信本地数据库破解版(含iOS、Android),仅供学习研究 [附件下载]》。
给对方发送消息后,对方在 10 秒内回复才可以看到该提示。
微信的规则是可以撤回2分钟内发送的消息。
微信不支持已读回执功能。微信认为已读或未读状态属于个人隐私,不希望打破这种自由沟通的感觉。
点评:如果你的IM中,语音文件大大超过微信的这个数据量,就表达存在较大优化空间,可以从采样率等方面进行设置。
点评:如果你的IM中,短视频文件大大超过微信的这个数据量,就表达存在较大优化空间,可以从采样率等方面进行设置。
微信限制最大可以上传的文件大小为 25 MB。
点评:这里有一份仿微信的聊天界面时间显示规则代码,可以下载用一用:《仿微信的IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]》。
当距离很近的两个同时“摇一摇”时,不一定能摇到对方。因为微信的“摇一摇”没有距离限制,而且是由服务器随机匹配。
微信电脑端,可以发送文字、默认表情、符号表情、动画表情(兔斯基表情)、截图、图片消息,并能同步手机上已收藏的表情并发送。
可以接收文字、默认表情、emoji表情、动画表情、图片、文件、语音、视频、公众号消息、名片类型消息、小视频、地理位置消息、转账消息、合并转发的聊天记录消息。
红包消息、AA收款消息(收到此类消息会提示请在手机上查看)。
微信电脑端,上传文件大小最大为 100 MB,一次最多可以选择10个文件同时发送。
* 补充规则:如果发送的是视频,则文件大小不能超过 25 MB。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有