在以往的认知中,一个二维码代表的内容是唯一的,如果这个二维码是一个url,扫描这个二维码打开的应该是唯一的一个页面。这次,我们看一个不一样的二维码,用不同的APP扫码会打开不同的东西。
一个二维码的思考
来跟大家聊一个有意思的东西,先从一个二维码开始,大家可以打开手机里的微信 和其他APP 分别扫一下这个二维码。

操作完之后,会惊喜地发现用微信 扫描二维码的结果是打开了一个微信小程序 ,而用其他APP 扫描出来的结果是一个H5页面 。虽然是两种展示方式,但是整个项目的体验是高度一致的。(上面二维码对应的应用目前只支持微信小程序和H5版本)
如何实现?
这样效果背后的原理不复杂,要实现这样的效果,需要满足几个条件:
-
每个平台(比如微信,支付宝,头条)能将二维码的内容和各自平台内的应用(小程序)关联起来;
-
我们需要在多个平台开发多个应用(H5、小程序),或者有一个工具可以让我们的代码自动生成多个平台的应用;
-
H5作为一个兜底服务,要做好兼容性服务,将H5版本的url链接地址用来生成二维码。
第一个条件,其实多个国内支持小程序的APP都已经支持了,比如微信小程序、支付宝小程序、 百度智能小程序,头条小程序和QQ小程序暂不支持。
第二个条件,如果要手动去为每个平台专门写,开发成本会比较高,这种方案可以放弃了。目前,市面上已经有一些开源框架可以做到一套代码生成多个平台代码的应用,比如Taro,Chameleon ,MPX(小程序增强框架)等。
第三个条件,也是第二个条件的延伸。H5服务作为一个兜底的方案,要保证H5服务是稳定的,用H5版本的url链接地址生成二维码,并在上述几个小程序平台配置扫普通二维码打开小程序 的设置。就可以实现不同APP扫码自动打开小程序或H5页面的功能。
最后,把整个流程梳理如下:

思考
跨平台支持的框架,可以让我们用一套代码就可以覆盖多个小程序平台,在这些小程序平台中优先使用小程序版本的应用可以更好地利用原生应用的特性,发挥小程序的体验优于H5页面的优势。
对于一些比较注重交互体验的应用,使用这种方案,可以最大程度地利用现有平台的能力将应用的体验发挥到最大,再使用H5作为兜底服务提供主要功能,最大化地保证应用在多个平台上的体验和覆盖度。
- The End -
