开发 | 再不这样做,你的小程序就无法通过审核了!

小程序

2017-08-10 20:00

文 | 花叔

7 月 26 日,小程序官方发布了两个新变动,其中一个变动是关于「获取用户信息的授权机制」的。

这次变动的意义,其实比我们想象中大。虽然晚了点,知晓程序(微信号 zxcx0101)还是想给大家解读一下,这次的更新的具体内容。

关注「知晓程序」公众号,在微信后台回复「开发」,获取小程序开发技巧精选文章。

微信改动了什么?

官方对这次变动的概括为:

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

这是什么意思?简而言之就是说:以后能通过点击页面某个自定义按钮去触发用户信息授权弹框。

关注「知晓程序」微信公众号,回复「0807」,手把手教你用新方法获取用户资料。

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

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

会影响什么?

首先对已经在线的小程序来说,这个更新影响不大。因为官方说了「这个变动对目前在线的小程序不限制」。

但言外之意,是说:新上线的小程序就得这么做。也就是说,除非你的小程序从此不迭代了,不然你一定得接受这个改变。

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

确实如官方所说,用户体验会改善。因为在大部分场景下,「授权获取用户信息」的交互体验会变成「按需授权」。

什么意思?这是怎么体现出体验得到优化的?

在说明这个问题前,我们不妨看看目前大部分小程序的授权体验是怎样的。目前的小程序中,大体有两种请求获取授权的方式。

1. 直接弹授权确认弹框

包括 Nodes 在内的许多小程序,在首次进来的时候,不管需不需要用到用户信息,都统一直接就弹出一个授权弹框。

授权后,小程序会直接获取并存储用户的头像和昵称等信息,以便后续使用。

这种交互下,点击「允许」是不会有问题的。但个别小程序在用户拒绝授权后,不会做兼容处理。

也就是说,当用户拒绝授权时,有些小程序会直接报错,甚至没法用。(Nodes 很早意识到这个问题,早已做了兼容处理。)

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

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

在这种情况下,用户拒绝授权,就会进入一个循环。只有在用户授权后,小程序才能终止这个循环。

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

目前市面上做到类似交互的小程序并不多。这里介绍一下我们团队做的「王者荣耀赛事」小程序。

关注「知晓程序」微信公众号,回复「王者」,获取王者荣耀相关小程序推荐。

在小程序发布之初,我们已经考虑到了这点,也已经将「按需授权」实现了。

用户在这个小程序里,只有在评论的时候才需要进行授权(因为留言需要显示昵称),所以只有在点击「发送」按钮的时候,才需要调起授权操作。

当然了,是「一开始就调起用户授权」,还是「需要的时候再去调起」,这两种方式谁更好,我也不敢下定论,但是小程序官方目前认为,最好的是后者。

为什么要这么做?

那么问题又来了,「王者荣耀赛事」小程序很早就做了这个优化。也就是说,即使小程序官方不发布这次的新变动,用现成的方法,也能做到一样的效果。

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

我在这里斗胆猜测一下:微信团队发布这个变动,是希望规范市场。

小程序发布之初,好多事情很难面面俱到,有一些事情没想太清楚是情有可原的。

像用户获取信息的这个鉴权机制,其实一开始就有些问题,于是无意间会导致目前市面上的小程序,没有按照官方所认为是最好的体验方式出现。

当官方意识到问题、想要让所有小程序回归到他认为对的交互方式上时,它需要「一个台阶」和「一个手段」去纠正这个问题。

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

那么现在大家应该知道,解决这个问题的「一个台阶」是什么了吧。

是新组件的特性。通过它,微信团队可以从正面诱导开发者进行技术迭代,来纠正过错。

那么,「一个手段」又是什么?

可能有同学已经猜到了。没错,就是审核。

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

值得注意的是,在公告的末尾,有一段很重要的话:

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

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

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

官方很果断,很坚决,意思就是说:开发者们,你们赶紧切换交互吧,不然没法更新了。

然而,如果官方说的「初次打开小程序」包括从所有内页的打开,那么这个还是有一定工作量的。

所以这段话里,有一个不定条件:「我们约定在一段时间后」。花叔猜,官方应该是在看市场反应吧,毕竟这个改动可不小哦。

反正,作为开发者的我们,应该赶紧行动起来,换上新机制。毕竟这也确实是个必须纠正的错误。

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

我们也应该支持一下吧!

关注「知晓程序」公众号,在微信后台回复「开发」,获取小程序开发技巧精选文章。

zxcx_0208

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

小程序商店 minapp.com,一扫即用的小程序大全。微信公众号「知晓程序」,做中国最好的小程序报道。

本篇来自栏目

解锁订阅模式,获得更多专属优质内容