您好,欢迎访问本站博客!登录后台查看权限
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧
  • 网站所有资源均来自网络,如有侵权请联系站长删除!

产品经理小技术:二维码这把利刃,产品应该用到极致

CF黑号 admin 2025-09-09 23:03 3 次浏览 0个评论
网站分享代码

打开微信WAP官网了

So……明明是同一个URL啊,为毛它呈现出了5种截然不同的结果给我?

其实这里是微信利用User Agent信息,给你呈现了不同的结果而已。

User Agent简称UA,简而言之,就是你访问任何网站时,网站可通过你的UA得知你使用的操作系统、浏览器、浏览器内核等信息。这个信息最终是由你的浏览器传递给对方网站的(所以严格来讲你是可以修改的,看看你手机上第三方浏览器设置里的UA选项)。

上面的5个例子,除了第1个原理前面讲到了,后面4个,都是根据用户UA,判断是4个平台的用户,所以给他们各自跳转到了对应的地址,提供准确的服务(具体如何实现?那你得找开发蝈蝈了~反正你就跟他说我要这个功能呗)。

掌握了这个小知识,你就可以很灵活地针对潜在扫描用户做出不同对待了。最低级的利用是,我不希望以后还能看到这种下载宣传了:

很多很多产品在宣传时使用过两张二维码

四、二维码利刃:URL参数组合

又牵扯到另一个大话题了,先看下面两个链接,还是微博二维码格式:

http://weibo.cn/qr/userinfo?uid=1654762943

http://weibo.cn/qr/userinfo?uid=1639127253

分别点开,明显就是两个用户的微博主页。这时候你很容易想到:我把后面的uid=xxx随便替换,就可以查看不同的用户主页了吧?

没错。这里在一个URL中跟在“?”后面的类似“uid=12345678”的东西,称为参数。我们在浏览器访问

http://weibo.cn/qr/userinfo?uid=1654762943的过程,实际上是浏览器找到了

http://weibo.cn/qr/userinfo这个服务窗口,给它说:“嘿,接口同志!我取个信息,uid是1654762943。”userinfo这个服务窗口根据从海量数据里查到了uid=1654762943的信息,返回给浏览器。浏览器最后把整个信息展示给了用户。

继续举个例子,假如有这样一个URL:http://weibo.cn/register?name=bingfeng&sex=male&age=24,这里register是注册的意思。那如果在浏览器打开这个URL,过程就可以描述为:浏览器找到了http://weibo.cn/register这个注册专用服务台,给它说:“嘿,接口同志!我存个信息,它的名字是bingfeng,并且性别是男,哦对了,年龄是24岁。”register注册专用服务台拿走了这些信息,全部记录了下来,说“存好了你走吧”,浏览器回来给用户说:“存好了。”

上面讲了这么一大堆,就是为了说明一个原理:一旦涉及到动态产生大量二维码,就一定会用到URL参数。同一个参数值是不重复的,代表了特定的节点(某个用户、某篇文章等)。而产品就是通过扫描二维码后提取对应参数来实现查找的。例如微信二维码

http://weixin.qq.com/r/QeD64j-EGGJnrXuB97VT它的参数就是QeD64j-EGGJnrXuB97VT,只是看起来和“?”不太一样而已。

二维码参数实例一:APP下载URL+设备ID参数

这是我2年前在新浪做的第一个产品,也是新浪首次试水硬件/物联网的产品:新浪气象站,主要功能是通过App随时随地查看家里室内外的气象数据。在使用之前,用户必须要用微博账号绑定买到的这台设备,而绑定的过程,毫无疑问需要用到二维码。

那么问题来了:

1.用户首先需要安装“新浪气象站”APP;

2.一般人看到二维码的第一反应是:先用微信扫扫看;

3.我需要用户使用“新浪气象站”来扫描这个二维码完成绑定。

如何解决上面的问题呢?我们做了下面的二维码,并且印刷在了设备上:

你可以扫描下载此应用试试

这个二维码对应的文本是:

http://cdapp.sina.cn/weatherstation/web/down?deviceid=AC000W000000587。接下来,你分别用iPhone、Android和电脑浏览器打开看看,是否和微信一样,直接下载App了呢?因为这个URL本来就是根据用户UA,返回了不同的下载地址。

当用户安装打开气象站APP以后,会提示扫描该二维码,此时其必然使用气象站内的扫描功能,而这时我们将扫描到的内容解析,只提取“deviceid=AC000W000000587”这个参数,成功完成了绑定。

二维码参数实例二:一个二维码,支持多个APP扫描使用

这个描述不够清楚,产品需求其实是:微博与厂商合作推出的智能空调,其首次使用依旧需要扫描二维码绑定。但该空调特色是,既支持微博私信控制,又支持独立APP操作。当然,微博和APP的二维码扫描也都要支持。

这种情况下有一个最大的限制:微博二维码,它的形式是死的,就只能是

http://weibo.cn/qr/userinfo?uid=3869385534这样,否则微博客户端压根就不会处理。但在这个URL里,参数uid它只是对应的微博号,而如果我们空调APP要扫描,拿到了微博号是没用的,必须拿到设备号。于是,我们突发奇想,直接在原URL后又加了个参数deviceID:

http://weibo.cn/qr/userinfo?uid=3869385534&deviceID=ABCD987456。

这里的deviceID=ABCD987456,我们称为无效参数。由于微博压根就不需要这个参数,所以当向微博请求时,它认为这个没用直接忽略掉。但是在我们独立APP里,就可以专门去提取deviceID这个参数,从而得到自己最需要的信息。

这样,利用添加无效URL参数,实现了一个二维码为N个互不相同的客户端服务的目的。

五、二维码FAQ:

Q:二维码一定都是URL内容吗?

A:当然不是。但在实际应用中,由于人们习惯用微信和浏览器扫描,URL是最自然的形态。并且很多二维码是为了推广APP,URL一扫就下,最方便不过了。

Q:我想在微信里也能实现扫描二维码后跳转下载我的App(而不是被屏蔽),有办法吗?

A:有!你去找一找鲜城,看看怎么做的。

Q:二维码可能传播恶意病毒吗?

A:这是个被央视报道过很多次的话题,但可惜央视每次都是断章取义含糊其辞。二维码本质是字符串,所以唯一的可能就是这个字符串对应了一个Android平台的恶意程序,用户扫描后不做判断,直接安装并打开了这个应用,并且丝毫没察觉该应用与自己期望不一致。这就和过去几年淘宝购物时,随便点击来路不明的链接网银付款一个道理,你说二维码冤枉不?

Q:二维码防伪是什么?

A:理解成把过去防伪查询需要手动输入的串号,现在改自动输入。千万别因为很多产品印刷个小小的二维码就觉得“是正品”了。

Q:二维码都这么丑?

A:二维码算法具有一定兼容性,黑白块是最容易识别的,但其实完全可以做很多美化的。这在企业宣传设计上应该有很大的意义。参考让丑陋的二维码不再突兀,Visualead要让二维码“隐身”在品牌Logo之后

Q:为什么作者@牛冰峰 有“二维码情节”?

A:因为曾经看不下去国内对二维码的低效应用,一直想做一些事,可是一直没有真正行动起来。