微信红包中使用的技术:AA收款+随机算法
除夕夜你领到红包了吗?有的说“我领了好几K!”“我领了几W!” 土豪何其多,苦逼也不少!有的说“我出来工作了,没压岁钱了,还要发红包”。那您有去抢微信红包吗?微信群中抢“新年红包”春节爆红。618微信抢红包啦
微信红包的玩法极为简单,它背后是腾讯财付通运营的名为“新年红包”的公众号,功能上可以实现发红包、查收发记录和提现。关注该帐号后,微信用户可以发两 种红包, 一种是“拼手气群红包”,用户设定好总金额以及红包个数之后,可以生成不同金额的红包;还有一种是普通的等额红包。目前最为流行的是前者。
那么微信红包中使用了哪些技术呢?AA收款+随机算法
从付款收款的模式上来看,微信红包与AA收款的逻辑十分类似。后者是2013年12月,财付通推出的一项服务,用户通过“AA收款”服务号可以在聚餐、娱乐等多种场合下通过微信支付实现AA收款。
这两者之间共同点就是,都是“一对多”的关系。如果收AA收款是一个人从多个人手中收钱,那么微信红包就是多个人从一个人手中收钱。因此,早先推出的AA收款功能就成了微信红包的技术基础。
实际上,设计之初,微信红包团队曾经想到的是“要红包”,即一个用户向其他用户讨要红包,这个逻辑更接近AA收款。但是要红包会让被索要者产生抗拒感,而抢红包则相对更符合人的心理活动。所以,最终上线的红包就从“要”转成了“抢”。
那么如何产生不同的收益金额?这是由一种随机算法产生的。
在如何分配红包时,最早团队也考虑过给用户一个吉利的数字,比如末尾为8,但是这势必造成另一些用户得到并不喜欢的数字组合。于是,就决定采用生成随机数字的方式,而这对技术团队来说并不陌生。
其实,在微信早期产品中就曾出现过两个互动小游戏,隐藏在了表情功能里。一个是石头剪子布,另一个是摇骰子。这两个游戏原本用于朋友之间通过随机事件做出决策,比如谁赢谁付款。
这种随机算法就被运用到了微信红包中,于是用户就看到了各种随机生成的红包“收益”,甚至由于份数被设定的足够多,也会产生0。01元的情况。
正是由于这样的技术积累,才使得微信红包能够在短期内迅速上线。不过,在技术的支持下,产品自身的用户体验同样重要。原文
微信红包中使用的技术:AA收款+随机算法的更多相关文章
- 腾讯技术分享:微信小程序音视频技术背后的故事
1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...
- 微信团队原创分享:iOS版微信的内存监控系统技术实践
本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀.对用户而言,表现跟crash一样. ...
- 微信红包店小程序开发过程中遇到的问题 php获取附近周边商家 显示最近商家
最近公司在做一个项目就是微信红包店.仿照的是微信官方在做的那个红包店的模式.客户抢红包,抢到以后到店消费,消费以后就可以拿到商家的红包了. 项目中的两个难点: 1通过小程序来发红包 这个之前在开发语 ...
- 【沙龙报名中】与微信&云开发官方团队零距离互动,揭秘爆款微信小游戏背后的技术!
有人说 微信小程序游戏的百花齐放 活像十几年前的4399小游戏称霸互联网的景象 " 歪,斗地主吗,三缺二, 不用下app,小程序就能玩,我保证不抢地主让你抢!" ...... &q ...
- android仿微信红包动画、Kotlin综合应用、Xposed模块、炫酷下拉视觉、UC浏览器滑动动画等源码
Android精选源码 仿微信打开红包旋转动画 使用Kotlin编写的Android应用,内容你想象不到 Android手机上的免Root Android系统日志Viewer 一个能让微信 Mater ...
- 腾讯大讲堂 微信红包系统设计 & 优化
http://djt.qq.com/article/view/1349 编者按:经过2014年一年的酝酿,2015微信红包总量创下历史新高,峰值1400万次/秒,8.1亿次每分钟,微信红包收发达10. ...
- 微信红包系统设计 & 优化
微信红包系统设计 & 优化 浏览次数:151次 腾讯大讲堂 2015年04月02日 字号: 大 中 小 分享到:QQ空间新浪微博腾讯微博人人网豆瓣网开心网更多0 编者按:经过2014年一年 ...
- (实用篇)php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中.内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI <?php class ...
- 对接微信红包时:CA证书出错,请登录微信支付商户平台下载证书
今天在对接微信支付的微信红包发放时,出现““CA证书出错,请登录微信支付商户平台下载证书”的错误,特此记录一下: 如果你也在对接微信红包,并且你也在这个页面上下载了demo,再就是你也参照了里面的文档 ...
随机推荐
- WPF MVVM 写一个健壮的INotifyPropertyChanged基类
当我们用MVVM的时候要实现INotifyPropertyChanged,如果你是基于.net4.5以下的framework(.net4.5已有新特性我这里就不说了) 你很可能会这么写 public ...
- 如何抛出未认证(Unauthorized=401)异常代码
throw new System.ServiceModel.Web.WebFaultException<string>("\"mes\":\"认证信 ...
- WCF入门(22)
前言 本还想写一集WCF入门教程的,心情实在不好,明天又还有面试,改天再写吧. 说一下今天遇到的入职坑.面试能坑,上班能坑,完全没想到入职也能坑.切身经历. 今年10月份想换工作,更新了一下简历,接到 ...
- JavaScript事件---事件对象
发文不易,若转载传播,请亲注明出处,谢谢! 内容提纲: 1.事件对象 2.鼠标事件 3.键盘事件 4.W3C与IE JavaScript事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开 ...
- 每天一个linux命令(42):crontab命令
前 一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的. Linux 系统上面原本就有非常多的计划性工作,因此 ...
- 如何在Oracle中导入dmp文件
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...
- localStorage和sessionStorage的区别
//在chrome测试的结果; 知识点1:localStorage和sessionStorage的区别; localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除local ...
- hdu1561 树形dp + 背包
#include<cstdio> #include<cstring> #include<iostream> #define INF 999999999 using ...
- Ibatis -- 一次执行多条SQL
<statement id="DeleteAccount" parameterClass="Account"> BEGIN DELETE FROM ...
- Tomcat tomcat-users.xml详解
conf/tomcat-users.xml <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rol ...