花叔漏夜把新功能更新到接口人和Nodes小程序里了。现已发布,说不定这是最早上线的小程序互跳功能案例,请叫我快男花。
先说说昨晚发生了什么:
话说,昨晚11点做微信小程序发布了三个新能力:
- 小程序之间的互相跳转
- 门店小程序可追加视频
- 追加门店管理的开发接口
第二点我觉得没啥好解读的,第三点的话就是走的公众号的套路,提供一些接口,让第三方更好地做托管平台实现批量管理,都不是新奇的东西。
倒是第三点“小程序之间的互相跳转”这个点应该更能引起大家注意,昨晚发文时,朋友圈就一窝蜂地转发了官方发文,而实际上大家了解多少呢?
花叔没有马上转发,而是因为第一时间就去研究它的实现细节去了,那这个“互跳”到底是什么鬼?
与其猜测不如看看实际案例:
实现的是接口人小程序与Nodes小程序的互跳,并进行了数据的转换,具体体验步骤如下下图演示:
你也可以通过直接访问接口人小程序,
然后新建几个接口人,并定义一些可重复的标签,然后点击“ ”号按钮下面的“生成Nodes思维导图”,那么就会直接跳转到Nodes小程序,此时会根据你在接口人小程序定义的接口人制作一个思维导图,是不是很酷?
看完演示,大家大概知道它是什么鬼了。
接下来谈谈关于“小程序互跳”的一些事情:
首先要给大家明确一下:其实小程序中老早就有互相跳转的功能了,具体可参考Nodes小程的“关于页”:
早在小程序码(菊花码)出现时,小程序内就可以通过预览小程序码图片、长按识别来跳转到别的小程序。
“小程序码互跳”的优缺点是:
- 优点:无限制范围,可跳转到任意一个小程序
- 缺点:交互入口深,只能是小程序码图片(传统二维码图片都不行),而且只能长按识别,用户体验一般
而自从昨天之后,6.5.9版本的微信就具备了“小程序互跳的API”,借助于该API,小程序内可实现链接跳转、按钮跳转甚至静默跳转:
总得来说就是想什么时候跳就什么时候跳,想怎么跳就怎么跳,然而按照微信“克制”的尿性,这功能一开始是不可能全面放开的。
所以虽然跳转交互超级灵活,但跳转目标范围却有所限制,官方规定:“在公众号绑定的同主体的10个小程序以及3个非同主体小程序之间可以互相跳转”。
说真的,这句话看起来让人觉得很懵逼,不知道要怎么理解,相信很多同学最关心的是:“到底一个小程序最多能跟多少个小程序发生互跳?”。
结论是:一个小程序目前最多能跟36个别的小程序进行互跳。
花叔解释一下为什么是36个,你把它理解成“只要能通过公众号找到某个小程序,那么就能跳过去”。这样就好理解了,理一下有下图:
36个就是这样的来的。
总结小程序互跳的API的优缺点:
- 优点:用户体验较好,跳转方式灵活多变
- 缺点:范围被限制,仅能最多在36个小程序之间跳转,但花叔猜测未来是会放开的
谈完功能,我们YY一下:
基于这个跳转API,其实有很大的想象空间的,它能延伸出怎样的生态或者需求形态,花叔抛砖引玉一下:
- 小程序自开放接口,小程序对外开放接口,供其他小程序调用,典型的例子是授权功能
- 互推广告,小程序抱团取暖,互通广告
- ....
由于精力有限,花叔没有细想,大家如果有什么别的见解,可以留言讨论。
接着,作为一个技术人,花叔说说大概的技术要点:
首先,大家要注意的是:跳转功能是需要双向开发配合,需要定义接口规范,在日常开发中必然存在较高的沟通成本。因为Nodes和接口人均是花叔所研发,所以就省去了这些成本。
然后,说说这个API的一些技术要点,只提关键字,开发的同学应该看了就懂:
- 来源方小程序调用navigateToMiniProgram方法,该方法的参数支持“对象”,是对象!不是url字符参数。
- 落地页通过app.js的onShow或者onLunch接收参数,onShow是每次都会被执行,onLunch只能首次被执行
技术点并不难,相信开发同学看看就懂。
最后,文章篇幅略长,花叔特意为大家理了要点(点击可看高清演示):
最后的最后,目前跳转后的落地页右上角的“回到首页按钮”点击时有Bug,该bug花叔已反映给相关同事,正在处理。
结束....