微信红包体系设计分析

上传人:wt****50 文档编号:44638699 上传时间:2018-06-14 格式:PDF 页数:20 大小:1.08MB
返回 下载 相关 举报
微信红包体系设计分析_第1页
第1页 / 共20页
微信红包体系设计分析_第2页
第2页 / 共20页
微信红包体系设计分析_第3页
第3页 / 共20页
微信红包体系设计分析_第4页
第4页 / 共20页
微信红包体系设计分析_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《微信红包体系设计分析》由会员分享,可在线阅读,更多相关《微信红包体系设计分析(20页珍藏版)》请在金锄头文库上搜索。

1、微信红包体系设计分析*说明:普通红包是指金额每份金额固定的红包包括群普通红包和个人普通红包,个人普通红包也就是红包个数为1的群普通红包。1 需求分析一个字:钱;两个字:消遣1.1用户为什么要发红包?(1)逗别人玩自己开心有些人发一些1分钱的红包,看到大家哄抢,自己觉得很爽;有些人自己发1个0.01的自己抢和别人比拼速度,这些无聊的人追求的是娱乐性,如同黑白快、2048等,满足无聊的人消耗时间就可以了。(2)成为焦点人物当你经常在群里发红包的时候,你就会成为群明星,让更多人认识你,和你说话,你有一种自己朋友遍天下的错觉,然而并没有什么卵用,人家是冲着你的钱来的。所以就有了【我发的红包总数】【红包

2、被抢提醒】(3)获得关注卖广告单纯发一个广告不但没有人看,而且会引起反感。但是你发个大红包,群里面的人会喜闻乐见,而且很亲切的问你项目的相关内容或者帮你填写调查问卷。不过后来小红包广告渐渐失去吸引力,因为大家的兴奋阈值提高了,而且重复的东西是不可能让用户持续高潮的,如同你xxoo的时候不能总是使用一个体位一样。因此对于服务号的摇一摇红包和关注红包,最少也有2元,而且还能裂变给你好友。2块钱是什么?官方的说法是一张彩票的价格,一份希望,2元彩票长期已经在广大群众心理建立了一个阈值,一份希望的阈值,万一实现呢?这种心理。而且这种希望还能传递给别人(裂变红包),何乐而不为呢?(4)纯粹是一种祝福有时

3、候是我们产品经理想太多了,人家可能仅仅是把传统的红包以微信红包这种新颖的方式发出来而已。以前只有结婚的人才能发红包,现在可以全民发,我也可以给朋友带去一份祝福。不过包多少呢?这个很让人纠结,太少不体面;给上层的人发红包,人家阈值高,太多支付不起。于是就有了【随机红包这个东西了】1.2 用户为什么要抢红包?(1)好玩刺激这个理由还是留给那些无聊的人,不解释,跟为什么要发红包?的第一点差不多。那个【最佳手气】,就刺激了人们玩红包接龙(不是某宝那个坑爹的红包接龙)(2)贪婪人类原始的欲望在法律和道德重重的压制下,深深地掩盖了人的本性,当有这种合法而且又光明正大的”抢钱”,即使是0.01,也足以让人们

4、压制的贪欲井喷,造就了微信红包的繁荣。虽然官方说,摇红包是为了让老一辈了解我们的世界,了解我们的生活,让我们过年回家能一起摇红包。可是从朋友圈,从新闻,大家在群里的反应,我一点都没感觉到红包让家人团聚在一起,不知道那是否是公关说辞,这里不作评价,而对人性的激发确是彻彻底底的。正如所有的自然科学最终都会回归到哲学问题上,所有的产品也终究要回归到对人性的思考上。(废话说太多了)(3)炫耀证明自己单身20年,哦!不对,应该是证明自己手速快(不都是一个意思嘛,废话真多!)有的人无聊到自己发自己抢,以此在炫耀自己的4G网络、光纤还有麒麟臂。(4)减少损失很多人发了拼手气红包觉得自己钱包大出血,于是自己又

5、抢了一把,希望自己抢到大一点的金额,相当于发少一点红包。1.3 为什么要晒红包?(1)炫富心理我发出的红包统计页面(2)攀比心理红包结果页面这里就不多作解释了,想想你为什么喜欢在朋友圈发东西就懂了。2 入口入口主要分为两大类:聊天窗口和微信钱包。2.1钱包在钱包添加红包入口,是因为用户首次使用时,一般是先收到别人的红包,自己要取钱,那么去哪里取呢?肯定是钱包,钱包需要集合所有跟钱有关的概念,给用户一个深刻的印象,类似于OmniFocis的透视功能(不知道就算了),需要把相关内容聚合到一个入口。所以钱包聚合了和钱相关的内容,比如信用卡还款、手机充值、理财通等,用户第一次进来收钱的时候,自然就看到

6、微信红包并进一步引导用户绑定信用卡和发红包。另外如果用户第一次使用红包不是收到别人红包,而是听说有红包这一功能或者看到别人发红包,他首先会想到钱相关的东西应该在红包里面。2.2 聊天窗口而这聊天窗口中加入红包入口则是更加简单粗暴,用户在过年或者平常使用会经常点开”+”发送图片,这就很容易会见到红包入口了,而且微信在过年的时候特意把红包按钮用红色高亮显示了,这就更加容易被用户发现,从而提高入口转换率。这里还有个逻辑,在单聊和群聊所进入的红包页面的不同的,如下图所示:群红包默认为拼手气群红包而不是定额红包,为什么要酱紫呢?先看看拼手气群红包的优势:1、金额随机,时大时小的金额能给用户惊喜;2、可以

7、看到其他用户抢了多少,引起攀比心理(这次抢得不爽,下次一定要抢个大大哒);3、产生很多新奇玩法,比如手气最佳的发3倍金额;4、由于可以看到谁抢了红包,所以群里面总是抢第一又不参与游戏的人基本上是使用外挂软件,群成员自发的要求群主踢掉这个人,这种众包式的”反外挂”比微信自己使用技术手段去解决更加节省成本和更加有效。至于拼手气群红包相对于普通红包的劣势就是需要大量的计算资源去计算红包的随机金额,不过对于腾讯那么厉害的架构师和财力,这些计算资源算不了什么,反而消耗这些资源去拉起微信群的活跃度和拉高同时在线人数让财报好看点更加划算。2.3 摇一摇微信在春节前还额外的增加了摇一摇的红包入口,给一直被认为

8、”约炮神器”的摇一摇洗白(哈哈,开玩笑啦!)。加速度传感器也很具有互动性,却一直隐藏在手机里面,使用率不如摄像头和话筒。摇一摇红包很好的利用了每个人手机里面”雪藏”的硬件。在”红包肯定是要发的”和”摇一摇功能的代码本来就有”的两大前提下,增加摇一摇红包这功能并不会增加多少开发量和成本,因为既然红包要发,无论用什么形式发,后台的负载均衡和高并发分流是肯定要做的,摇一摇的代码在约pao的时代就已经很完善了基本上不用改,接入红包的逻辑就可以了,所以机会成本很低。那为什么一定要发红包呢?因为上一年已经带坏头了,示范效应导致支付宝也来分一杯羹,微信能不发吗?3 界面3.1发红包页面在单人聊天窗口进入的普

9、通(定向)红包的页面只需要输入红包金额和祝福语,点击【塞钱进红包】,如果已经绑定银行卡,则调起对话框浮层【输入密码】;如果未绑定银行卡则跳转到零钱支付页面,点击按钮【使用零钱支付】即可,无需输入密码,在这个过程中,如果零钱不足,则会跳转到输入银行卡号的页面,点击【下一步】之后需要接着输入姓名、银行预留手机号和短信验证码,填写完成后即可用银行卡支付。这里不得不提的是一个非常人性化的设计,当点击”改完普通红包”,从群手气红包切换到普通红包的过程中,已经输入的内容不会丢失,红包个数不变,此时的单个金额EditView(安卓UI控件)中的值会由 总金额/红包个数 得出并自动填充;当点击”改为群手气红包

10、”,从普通红包切换到群手气红包的过程中,已经输入的内容不会丢失,红包个数不变,此时的总金额EditView中的值会由 单个金额*红包个数 计算出并自动填充,不用用户重新输入,非常贴心。这也是微信”将用户体验做到极致”的地方之一。3.2红包抢页面聊天窗口会显示出红包样式的聊天消息,点击红包后会出现拆的页面。3.3红包拆页面点击按钮【拆】之后,那坨黄色的东西会转(用几帧图片切换形成的动画,在IOS上比Android上运行起来更加流畅),那坨东西转完之后页面会跳转到【红包结果页面】。值得一提的是安卓最新版本中将Html版本的红包换成了安卓原生红包界面,为什么这么做呢?一是微信惯用的牺牲客户端资源(C

11、PU、内存、储存卡容量)去换取服务器端的稳定和减少资源投入的策略,页面资源放在本地,这样子web前端服务器容量就可以减少投入,同时也可以减少客户端对资源服务器的访问量。类似的,微信的聊天记录是默认不存储在服务器端的,而是将各种图片语音小视频全部塞到你手机的内存里面,微信表情在6.0版本之前也是不保存到服务器的。二是以往基于web的红包页面经常会出现”妈的页面还在loading红包就没了”红包来了却连不了网是怎样一种体验”等等的用户抱怨,而原生的页面因为放在本地不需要远程加载,只需要传输简单的红包ID,发送者等少量信息即可通知客户端显示红包页面,可以减少联网时间和降低网络状况对抢红包的体验流畅度

12、,让用户抢不到红包都不会觉得是因为微信没优化好,而是自己太幸福 (没单身的手速慢,哈哈)。下图为几种红包”拆”页面(大家来玩找不同,嘻嘻):那这四个页面分别会在什么时候出现呢?在5.2中会做详细的介绍。3.4红包结果页面红包结果页面会显示抢到红包的人的列表,其中金额最大的为手气最佳。当有两个或者以上金额相同的时候,以时间最早的一个为最佳手气。页面还会显示发红包的人极其昵称、你自己领到的金额(如果没领到就不会显示),零钱入口和转发该红包的入口、我的红包记录入口。红包结果页面也有很多种,详见本文的5.3部分.3.5摇一摇红包摇一摇红包和企业红包的随机方法和群手气红包大同小异,由于没有接触过企业红包

13、的发放流程,这里不多说。为什么要有剩余红包个数呢?引用鹏飞在人人都是产品经理举办的产品经理大会广州站上说的一句话”给用户一个预期,现在还有没有红包,还有多少,而且这个数字必须准确,不能忽悠用户。有些朋友和我说,他们就是在最后几秒摇到的。所以,要让用户为希望而摇,为了希望,把手摇断,又算什么!”。没错,这个数字是”准确”的,但是他并不是实时的。因为过于频繁刷新的数字少量减少,不仅用户没有感知,不停的访问数据库剩余红包数对于服务器也是极大压力,所以推测微信是采用这种策略:每减少1个单位(比如说50W)的红包数量,自动将这个值写入缓存服务器,用户摇红包的时候都直接访问缓存,而且不是每次摇都访问剩余数

14、,而是摇n次之后(比如摇了5次)才去请求一次剩余红包数,这样就把传递到服务器的压力减少n倍。上图最后那个页面你没见过?微信官方说,当服务器压力过大的时候,唤起让用户休息一下这个页面。这里我提出另外一种策略,也许微信也采用了这种策略:当用户摇一摇请求红包时,服务器压力过大,网络阻塞或者队列已满等异常情况下,会直接通知客户端”你没有抢到”,也就是直接返回那个摇红包的页面进行下一次的摇一摇动作,这样子永远也不会显示那个”休息一下”的页面。4后台4.1数据库以下关系型数据库设计的字段是基于少量请求下,我们模拟红包系统的可行方案,并没有考虑高并发、分库分表以及缓存的情况,关于这部分内容可以查看本文4.4

15、部分整理一些大神的回答作为了解。(1)用户信息数据表user_infouserID、红包ID、祝福语、红包类型、红包个数、红包金额、超时(2)用户钱包数据表user_walletuserID、money、银行卡ID等其他字段(3)发送红包数据表red_send红包ID、senderID、红包个数、红包金额、祝福语、最佳手气、发出时间(4)接收红包数据表red_receive红包ID、receiver、接收时间、接收金额4.2随机算法很多人说红包序列是预先在手机发出去的时候已经产生好随机序列,其实这样会产生大量的数据库读写操作,内存读的速度以DDR3-2400为例,能达到17G/s,写的速度达到18G/s(参考文献:http:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号