话说,有同学又问我为什么没有去解读微信小程序最新发布的特性。实在不好意思,最近花叔有点儿忙,所以就耽误了。
但这变动的意义其实比我们想象中大,所以虽然晚了点,还是想给大家解读一下。
7月26日,小程序官方发布了两个新变动,其中一个变动是关于“获取用户信息的授权机制的”,官方对这次变动的概括为:
“为改善用户体验,现有小程序获取用户信息的方式将进行升级,开发者需在页面中放置按钮,用户主动点击后才可获取用户的头像昵称等信息。可提高用户授权成功率,同时支持用户多次点击重新授权。”
啥意思呀?
我把重点都标红标粗了,简而言之就是说:以后能通过点击页面某个自定义按钮去触发用户信息授权弹框。
这是获取用户资料方式的补充方案,但问题来了,为啥官方的描述是“需在页面中放置....”,为什么是“需”?是以后只能用这个新方案吗?
如果真是这样,那么事情就有点大了....
会发生什么事呢?
首先对已经在线的小程序来说,不会发生什么事,因为官方说了“这个变动对目前在线的小程序不限制”。
但言外之意是在说新上线的小程序就得这么做....
也就是说,除非你的小程序从此不迭代了,不然你一定得接受这个改变....呵呵...多么委婉的通告,让我想起一部电影:
电影《温柔地杀我》
那么这个不得不迎合的变动,到底会给现有小程序带来怎样的影响呢?
确实如官方所说,体验会变好,因为在大部分场景下,“授权获取用户信息”的交互体验会变成“按需授权”,什么意思?这是怎么体现出体验得到优化的?
在说明这个问题前,我们不妨看看目前大部分小程序的授权体验是怎样的,大体有两种常见交互:
一. 直接弹授权确认弹框
大部小程序跟Nodes一样,在首次进来的时候,不管需不需要用到用户信息,都统一直接就弹出一个授权弹框进而获取并存储用户的头像和昵称等信息,以便后续使用:
这种交互下,点击“允许”是不会有问题的,但个别小程序在点击“拒绝”后不会做兼容处理,也就是当用户拒绝授权时,有些小程序会直接报错,甚至没法用。(Nodes很早意识到这个问题,早已做了兼容处理)
二. 循环提示迫使用户授权
典型的例子是“腾讯投票”,它的做法是只要拒绝就跳到设置页,直到用户授权了才能继续往下操作:
这种交互下,会进入一个循环,只能在授权后才能终止这个循环。
显然,
小程序官方觉得这两种交互都不是最好的交互,在他们看来,授权获取用户资料最好的体验应该是:需要用户资料的时候才发起授权操作。
目前市面上做到类似交互的小程序并不多,这里不是做广告,但必须介绍一下我们团队做的“王者荣耀赛事”小程序里类似的做法,在小程序发布之初,我们已经考虑到了这点,也已经实现了:
用户在这个小程序里,只有在评论的时候才需要进行授权(因为要存储他的昵称),所以只有在点击“发送”按钮的时候才需要调起授权操作。
当然了,是“一开始就调起用户授权",还是"需要的时候再去调起”,这两种交互哪种好哪种坏,其实花叔也不敢下定论,但是小程序官方目前认为最好的是后者。
那么问题又来了,王者荣耀赛事小程序做的这个体验其实老早前就做了,也就是说,即使小程序官方不发布这次的新变动,理论上用现成的方法也是能做到一样的效果的。
于是,有同学可能就有疑问了,为啥官方还要这么做?
花叔斗胆猜测一下:发布变动是次要的目的,规范市场是主要的目的。
小程序发布之初,好多事情很难面面俱到,有一些事情没想太清楚是情有可原的,像用户获取信息的这个鉴权机制,其实一开始就有一点点问题,于是无意间会导致目前市面上的小程序没有按照官方所认为是最好的体验方式出现。
当官方意识到这个问题,想要让所有小程序回归到他认为对的交互方式上时,其实蛮困难的,它需要“一个台阶”和“一个手段”去纠正这个问题(注.这里的“手段”不是贬义词)。
所以,你们看到这里,应该知道为啥花叔在文章开头的时候就说了这个变动的意义很大,因为这体现了小程序官方在纠正错误时的态度以及执行力,真心点个赞。
那么现在大家应该知道,解决这个问题的“一个台阶”是什么了?
是“体验优化+新组件特性”,这样可以从正面诱导开发者进行技术迭代,来纠正过错。
那么,“一个手段”又是什么?
呵呵,可能有同学已经猜到了---审核。
官方发公众号文章时内容仅仅只有10来行字,但你们不知道的是,其实在官方的开发者社区里,同步发一个公告:《获取用户信息方案介绍》
详细内容可待会点击“阅读全文”去看,这里我们关注一下公告的末尾,有那么一段很重要的话:
特别注意 为了给用户提供更好的小程序环境,我们约定在一段时间后(具体时间会做通知),若还出现以下情况(包括但不限于),将无法通过审核
已经上线的小程序不会受到影响。
官方很果断,很坚决,意思就是说:开发者们,你们赶紧切换交互吧,不然没法更新了。 然而,如果官方说的“初次打开小程序”包括所有内页的打开,那么这个还是有一定工作量的。
所以这段话里有一个不定条件“我们约定在一段时间后(具体时间会做通知)”,花叔猜,官方应该是在看市场反应吧,毕竟这个改动可不小哦。
反正,作为开发者的我们,建议赶紧行动起来换上新交互。 想想,这也确实是个必须纠正的错误。
微信小程序团队一直在很用心地规范整个市场,他们既服务于开发者也服务于普通用户,从这次举措可以看得出,他们想事情特别细心,也特别有条理。
我们也应该支持一下吧!
共勉~~ ps.最后说个题外话,腾讯云貌似不经意地干了一件“坏事”,早期它的统一小程序代码方案里,把“静默授权”和“用户信息获取授权”做到一块去了,现在要迎合这种改动,部分开发者可能要蒙圈。。。。