微信红包中使用的技术: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,再就是你也参照了里面的文档 ...
随机推荐
- [译]Python编写虚拟解释器
使用Python编写虚拟机解释器 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环 ...
- HTML5 全屏特性
全屏功能是浏览器很早就支持的一项功能了,可以让你页面中的video, image ,div 等等子元素实现全屏浏览,从而带来更好的视觉体验,来看看怎么使用吧.先来看看有哪些API和事件支持. API ...
- 连贯接口(fluent interface)的Java实现及应用。
几年前在单元测试时使用mockito和junit(使用hamcrest提供的比较方法)的时候,就用到过这样类似的语法: mockito: when(mock.someMethod("some ...
- Thrift搭建分布式微服务(一)
一.Thrift是什么? 关于Thrift的基本介绍,参看张善友的文章Thrift简介. 二.为什么使用微服务? 在公司的高速发展过程中,随着业务的增长,子系统越来越多.各系统间又不同程度的在某些逻辑 ...
- node 学习笔记 - fs 文件操作
本文同步自我的个人博客:http://www.52cik.com/2015/12/03/learn-node-fs.html 最近看到群里不少大神都开始玩 node 了,我感觉跟他们步伐越来越大了, ...
- 『开源』Slithice 2013 服务器集群 设计和源码
相关介绍文章: <『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布> <『集群』001 Slithice 服务器集群 概述> <『集群』002 Sli ...
- 『随笔』WCF开发那些需要注意的坑
执行如下 批处理:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\svcutil.exe" http://127.0.0.1: ...
- 02.C#可空類型、默認參數、LINQ(一章1.3-1.4)
利用上班時間發個隨筆,不知領導會不會看到,可能會有同事看到也說不定啊:) 關于可空類型,在C#1中沒有這個概念,在C#3中引入的.那比如我們要實現一個表示人的類,人有名字和年齡兩個屬性,如何表示一個沒 ...
- angular-input
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 每天一个linux命令(44):ifconfig命令
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...