解读小程序用户信息授权机制的变动,为官方点赞

话说,有同学又问我为什么没有去解读微信小程序最新发布的特性。实在不好意思,最近花叔有点儿忙,所以就耽误了。

但这变动的意义其实比我们想象中大,所以虽然晚了点,还是想给大家解读一下。

7月26日,小程序官方发布了两个新变动,其中一个变动是关于“获取用户信息的授权机制的”,官方对这次变动的概括为:

“为改善用户体验,现有小程序获取用户信息的方式将进行升级,开发者需在页面中放置按钮,用户主动点击后才可获取用户的头像昵称等信息。可提高用户授权成功率,同时支持用户多次点击重新授权。”

啥意思呀?

我把重点都标红标粗了,简而言之就是说:以后能通过点击页面某个自定义按钮去触发用户信息授权弹框。

这是获取用户资料方式的补充方案,但问题来了,为啥官方的描述是“需在页面中放置....”,为什么是“需”?是以后只能用这个新方案吗?

如果真是这样,那么事情就有点大了....

会发生什么事呢?

首先对已经在线的小程序来说,不会发生什么事,因为官方说了“这个变动对目前在线的小程序不限制”。

但言外之意是在说新上线的小程序就得这么做....

也就是说,除非你的小程序从此不迭代了,不然你一定得接受这个改变....呵呵...多么委婉的通告,让我想起一部电影:

电影《温柔地杀我》

那么这个不得不迎合的变动,到底会给现有小程序带来怎样的影响呢?

确实如官方所说,体验会变好,因为在大部分场景下,“授权获取用户信息”的交互体验会变成“按需授权”,什么意思?这是怎么体现出体验得到优化的?

在说明这个问题前,我们不妨看看目前大部分小程序的授权体验是怎样的,大体有两种常见交互:

一. 直接弹授权确认弹框

大部小程序跟Nodes一样,在首次进来的时候,不管需不需要用到用户信息,都统一直接就弹出一个授权弹框进而获取并存储用户的头像和昵称等信息,以便后续使用:

这种交互下,点击“允许”是不会有问题的,但个别小程序在点击“拒绝”后不会做兼容处理,也就是当用户拒绝授权时,有些小程序会直接报错,甚至没法用。(Nodes很早意识到这个问题,早已做了兼容处理)

二. 循环提示迫使用户授权

典型的例子是“腾讯投票”,它的做法是只要拒绝就跳到设置页,直到用户授权了才能继续往下操作:

这种交互下,会进入一个循环,只能在授权后才能终止这个循环。

显然,

小程序官方觉得这两种交互都不是最好的交互,在他们看来,授权获取用户资料最好的体验应该是:需要用户资料的时候才发起授权操作。

目前市面上做到类似交互的小程序并不多,这里不是做广告,但必须介绍一下我们团队做的“王者荣耀赛事”小程序里类似的做法,在小程序发布之初,我们已经考虑到了这点,也已经实现了:

用户在这个小程序里,只有在评论的时候才需要进行授权(因为要存储他的昵称),所以只有在点击“发送”按钮的时候才需要调起授权操作。

当然了,是“一开始就调起用户授权",还是"需要的时候再去调起”,这两种交互哪种好哪种坏,其实花叔也不敢下定论,但是小程序官方目前认为最好的是后者。

那么问题又来了,王者荣耀赛事小程序做的这个体验其实老早前就做了,也就是说,即使小程序官方不发布这次的新变动,理论上用现成的方法也是能做到一样的效果的。

于是,有同学可能就有疑问了,为啥官方还要这么做?

花叔斗胆猜测一下:发布变动是次要的目的,规范市场是主要的目的。

小程序发布之初,好多事情很难面面俱到,有一些事情没想太清楚是情有可原的,像用户获取信息的这个鉴权机制,其实一开始就有一点点问题,于是无意间会导致目前市面上的小程序没有按照官方所认为是最好的体验方式出现。

当官方意识到这个问题,想要让所有小程序回归到他认为对的交互方式上时,其实蛮困难的,它需要“一个台阶”和“一个手段”去纠正这个问题(注.这里的“手段”不是贬义词)。

所以,你们看到这里,应该知道为啥花叔在文章开头的时候就说了这个变动的意义很大,因为这体现了小程序官方在纠正错误时的态度以及执行力,真心点个赞。

那么现在大家应该知道,解决这个问题的“一个台阶”是什么了?

是“体验优化+新组件特性”,这样可以从正面诱导开发者进行技术迭代,来纠正过错。

那么,“一个手段”又是什么?

呵呵,可能有同学已经猜到了---审核。

官方发公众号文章时内容仅仅只有10来行字,但你们不知道的是,其实在官方的开发者社区里,同步发一个公告:《获取用户信息方案介绍》

详细内容可待会点击“阅读全文”去看,这里我们关注一下公告的末尾,有那么一段很重要的话:

特别注意 为了给用户提供更好的小程序环境,我们约定在一段时间后(具体时间会做通知),若还出现以下情况(包括但不限于),将无法通过审核

  1. 初次打开小程序就弹框授权用户信息
  2. 未处理用户拒绝授权的情况
  3. 强制要求用户授权

已经上线的小程序不会受到影响。

官方很果断,很坚决,意思就是说:开发者们,你们赶紧切换交互吧,不然没法更新了。 然而,如果官方说的“初次打开小程序”包括所有内页的打开,那么这个还是有一定工作量的。

所以这段话里有一个不定条件“我们约定在一段时间后(具体时间会做通知)”,花叔猜,官方应该是在看市场反应吧,毕竟这个改动可不小哦。

反正,作为开发者的我们,建议赶紧行动起来换上新交互。 想想,这也确实是个必须纠正的错误。

微信小程序团队一直在很用心地规范整个市场,他们既服务于开发者也服务于普通用户,从这次举措可以看得出,他们想事情特别细心,也特别有条理。

我们也应该支持一下吧!

共勉~~ ps.最后说个题外话,腾讯云貌似不经意地干了一件“坏事”,早期它的统一小程序代码方案里,把“静默授权”和“用户信息获取授权”做到一块去了,现在要迎合这种改动,部分开发者可能要蒙圈。。。。

原文发布于微信公众号 - MinProgram(gh_0d2d5abccc20)

原文发表时间:2017-07-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SeanCheney的专栏

《Python分布式计算》 第8章 继续学习 (Distributed Computing with Python)前两章工具云平台和HPC调试和监控继续学习

这本书是一个简短但有趣的用Python编写并行和分布式应用的旅程。这本书真正要做的是让读者相信使用Python编写一个小型或中型分布式应用不仅是大多数开发者都能...

31340
来自专栏纯洁的微笑

电商系统之订单系统

订单系统作为电商系统的“纽带”贯穿了整个电商系统的关键流程。其他模块都是围绕订单系统进行构建的。订单系统的演变也是随着电商平台的业务变化而逐渐演变进化着,接下来...

42410
来自专栏企鹅号快讯

后端程序员都做些什么?

这个问题来自于QQ网友,一句两句说不清楚,索性写个文章。 我刚开始做Web开发的时候,根本没有前端,后端之说。 原因很简单,那个时候服务器端的代码就是一切:接受...

686170
来自专栏芋道源码1024

端游、手游服务端常用的架构是什么样的?

因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道具即可,所以实现往往使用简单的 HTTP服务器:

40520
来自专栏无原型不设计

Mockplus是如何节省你的原型时间的?

还在用老牌原型工具一点点绘制产品原型吗?还在为实现一个满意的交互而绞尽脑汁吗?还在为无法和用户高效沟通而发愁吗?朋友,现在是快速原型的时代了。时间不等人,当你...

28730
来自专栏web前端教室

前端工作师都能做什么?

这几年,前端开发确实是火的不行不行的, 工资也动辄十几K,几十K的, 而且前端入门的门槛确实也不高, 无非是三大块:html / css / js, 这三块里...

22170
来自专栏Android开发实战

Android 一直怎样在速度上追赶 iOS

一直以来人们都有这样的印象,认为搭载iOS系统的iPhone一定比搭载Android系统的安卓手机流畅。潜移默化中,不少果粉甚至是普通吃瓜群众都形成了这样的思维...

10020
来自专栏架构师小秘圈

揭秘大型网站架构进化之路

丁浪,非著名架构师。关注高并发、高可用的架构设计,对系统服务化、分库分表、性能调优等方面有深入研究和丰富实践经验。热衷于技术研究和分享。 声明:版权归丁浪作者本...

47550
来自专栏沃趣科技

All In One|沃趣QFusion v2.0.0 MySQL私有云平台重磅发布

沃趣科技QFusion v2.0.0 MySQL私有云平台重磅发布,产品不仅具备之前QFusion v1.0.0版本的企业级特性,在此基础之上重构整个IaaS和...

33990
来自专栏互联网数据官iCDO

【基础知识】现在很火的app上的deeplink技术,到底是什么?

主编前言: Deeplink,简单讲,就是你在手机上点击一个链接之后,可以直接链接到app内部的某个页面,而不是app正常打开时显示的首页。不似web,一个链接...

3.8K70

扫码关注云+社区

领取腾讯云代金券