短信验证码:iOS和安卓端系统的设计方案差异和

发布时间:

  登录动作往往伴随着验证码,这在iOS和安卓端的实现上存在差异,笔者以此为题进行了分析并提出了相应建议。

  大家好,我是chamon,本期的研究社主要研究一下验证码系统在iOS和安卓端的实现差异,还有如何选择设计方案比较合理。

  去年6月iOS12发布,苹果系统支持了一键填充验证码的功能。而这个功能在之前的安卓系统就已经存在。

  安卓甚至可以实现更方便的“自动读取短信并填充验证码”,不用点击“一键复制验证码”,但是这个实现需要获取短信授权。这个授权其实是一个高风险的授权,涉及信息安全和个人隐私问题(第三方应用可以通过短信授权访问你的短信内容,包括一些隐私和涉及财产安全的短信,所以我自己一般是不允许的)。

  经过亲测,几乎很少应用会需要获取我的短信授权,量级比较大的应用仅仅只有百度贴吧。

  可能是这也跟2017年6月1日实施的《网络安全法》41条上面规定的“网络运营者不得收集与其提供的服务无关的个人信息”也有一定的关系。

  对于iOS12新出的一键填充验证码功能,我个人是觉得非常方便的。先来分析一下用户的操作路径,传统的获取短信验证码需要经过:

  切换程序点击收到的短信复制/记住验证码切换程序5 输入/黏贴验证码

  而优化后的iOS系统操作路径,只需要做1步:点击系统键盘上面“From Message”的验证码。

  点击收到短信的“一键复制按钮”(3-5秒有效)点击输入框长按/双击点击粘贴选项

  其实很多安卓手机都默认用自带的第三方输入法,例如百度输入法、搜狗输入法。这些输入法都有粘贴板,所以上面的路径“长按/双击”就可以替换成“点击输入法的粘贴板一键粘贴”(粘贴板的体验各异,搜狗输入法没有时间限制、百度输入法有3秒左右限制)。

  因为iOS在收到验证码之后,会弹出系统的键盘,并且获取短信。系统获取短信就不用担心第三方应用嗅探短信造成个人隐私或财产安全漏洞。而且无论用什么第三方应用,用什么第三方输入法,体验都是一致的。

  不知道从什么时候开始,一些App就把填写手机号码和填写验证码拆开分成两步。

  再然后就是把验证码的输入框按数位拆分,拆成独立的下划线或者是独立的格子。

  虽然只是很简单的改变,但是里面包含的体验却是有了很大的提升。分两步填写的设计相比起同一个页面填写有以下这些好处:

  而把验证码的输入框按数位拆分,在显示上变得更清晰,更容易校对,减少出错率。管家婆彩图杀肖

  但是随着系统层级上的交互改变,原本体验极好的设计方案,体验也会有所变化。

  按数位拆分的设计方案早期常见于银行卡号和支付密码的填写。注意,这里是填写,填写需要的是清晰、准确、有填入感。所以,在填写验证码系统用拆分数位的设计方案简直就是再好不过的体验。

  但当iOS系统的一键复制粘贴验证码出来之后,之前的清晰、准确、有填入感的优势基本上就消失了。

  而在安卓系统上,由于一键复制粘贴验证码因授权问题受到限制的时候,拆分数位的设计方案很可能会让用户崩溃。

  辛辛苦苦复制了一串6位的验证码字符,最后却只给了我一个的格子进行粘贴,这很反人类,还有点便秘的感觉。

  部分App在点击第一格的时候,App并不给我显示点击反馈,我都不知道自己是否已经点中并开始触发长按。

  当我习惯了这种手动粘贴体验之后,App最后竟然让我只能复制第一个字符到第一个格子;剩下的我又要重新去切换程序到短信内容,重新看一遍,记住并填写(当时真的很想卸载App,某些App的体验Bug,图找不到了)。

  有些App可以通过系统粘贴进行粘贴,有些App则完全没有反应(在关闭了系统的验证码的高级安全设置前提下)。

  也许有人会问:我们平时使用安卓系统是有一键复制和一键粘贴,为什么要去手动粘贴这么low?

  上面说过了这跟授权问题有关,我去查过meterial design的规范,并没有找到一键粘贴的,只找到了复制和粘贴。也请教过安卓朋友,确认原生系统是没有所谓的一键粘贴的。你

  看到的只不过是第三方输入法弹出的粘贴板贴心功能。在默认的系统输入法,只能通过双击或者长按进行粘贴。

  至于用户修改需要返回上一步耗费的时间成本,既然是用户在降低出错率都能粗心造成的错误,由用户承担一定的修改时间成本也是理所当然的,而且最重要的是,修改并不是高频的行为。

  iOS当然还是用拆分数位设计比较好,虽然一键粘贴之后,这种方案变得鸡肋。但是当需要去填写的时候,拆分数位的设计方案还是最优的。

  而安卓由于太多限制,包括上面提到过的短信授权,还有信息设置里面的验证码安全设置,都能够让你不能顺利好好粘贴验证码。但是我体验了大部分采用不拆分数位设计方案的App,都没有上面无法粘贴的问题。

  不拆分数位不代表不能变大变清晰,可以通过间距和字号大小来做达到拆分数位的效果(下图仅供参考)。

  确实,拆分并不是拆成6个小输入框,其实还是一个完整的,只是视觉上是6个独立的

  安卓很多输入法(包括厂商预装的)会提供一键粘贴验证码的功能,虽然也要授权读取短信,但更容易接受

  授权读取你的短信内容,大多数人不会设置的,除非没仔细看就同意授权的,这对隐私十分不好

  2019年十大骗局:私域流量、区块链、下沉市场

  人人都是产品经理(是以产品经理、运营为核心的学习、交流、分享平台,集媒体、培训、社群为一体,全方位服务产品人和运营人,成立9年举办在线+期,线+场,产品经理大会、运营大会20+场,覆盖北上广深杭成都等15个城市,在行业有较高的影响力和知名度。平台聚集了众多BAT美团京东滴滴360小米网易等知名互联网公司产品总监和运营总监,他们在这里与你一起成长。