本文详细讲解一下小程序、公众号文章、H5页面,以及其他APP之间的跳转路径都是怎样的,一起来看看 移动时代,我们手机里的东西越来越多,占用的时间也越来越多。有时候要用APP,有时候要在微信里跳来跳去,有时候又要打开浏览器,每天忙得不亦乐乎。 作为普通用户,我们只能按照产品的指引去使用,无法选择我们的使用路径。而作为产品经理,我们则需要清楚究竟哪些路径可以使用,而哪些跳转方向,只是一厢情愿。 这里,我们不讨论类似下载二维码图片到手机,再识别二维码这种间接路径;也不考虑类似公众号资料页进入小程序这种低频入口。我们只讨论那些高频常用的,或者可以带参数统计用户行为的路径跳转。这些路径,才是我们最常用也是最应该关注的。 下面,我就详细讲解一下小程序、公众号文章、H5页面,以及其他APP之间的跳转路径都是怎样的。 (1)小程序公众号文章 小程序跳转到公众号文章,目前是实现不了的。确切地说,只能叫打开公众号文章。所谓打开其实是在小程序的框架内支持了叫做webview的组件,你可以理解为就是一个内置浏览器,后面会提到APP也有这种组件。 那么,这里的打开就相当于在这个内置浏览器里浏览公众号文章了。不过,既然是在小程序环境,那也必然是在微信环境内,所以这个文章还是可以点赞和评论的,但是由于小程序webview功能限制,暂时是不能赞赏作者的。 此外,这里打开的公众号文章也只能是小程序绑定的公众号文章,小程序可以被500个公众号绑定,做个文章合集也是可以的。 结论:通过webview打开绑定的公众号文章,可以点赞评论,不能赞赏。 (2)公众号文章小程序 公众号文章嵌入小程序,大家应该都见过了。主要是文章内嵌的小程序卡片和文字链接等,可以直接打开绑定的小程序。注意:这里几次都提到了绑定关系,许多能力的前提都要有绑定关系先,或者是业务域名白名单,后面还会再提到。 文章嵌入小程序的好处非常明显,可以放在文章的任意位置,还可以准备一张自定义的海报,并且可以带参数。这点非常重要,我们可以直接指定跳转到小程序某个页面的某种状态,并可以通过参数来统计来源渠道等数据。 结论:文章可以嵌入小程序卡片,公众号自定义菜单可以跳转小程序,都可以带参数。 (3)小程序H5页面 同1小节一样,也不存小程序跳H5页面的路径。同样只是通过webview内打开业务域名白名单内的页面而已,功能受限,比如:不能支付。具体可参考微信小程序开发文档,里面有详细的API列表。 值得一提的是,如果小程序里面打开的H5页面又使用了公众号网页授权接口,会是什么效果呢? 很简单,跟在微信里直接打开H5是一样的,如果是获取用户信息的授权,则会弹出授权确认界面。这里是个独立的空间,跟外面的小程序是否授权已经没有关系了。 当然,如果小程序和小程序的webview打开的H5授权用的公众号绑定了同一个unionid,那么两个场景都是可以拿到这个unionid用来识别用户,可以达到识别同一用户的目的。 结论:通过webview打开H5页面,功能受限,若有网页授权,与微信内置浏览器表现一致。 (4)H5页面小程序 这个真没有,甚至H5页面可能都打不开微信。但是,对于已经在小程序的webview中打开的H5页面,由于本身在小程序框架内,所以是可以返回外层的小程序的,但是不能直接跳转到其他小程序。 结论:普通H5页面无法跳转到小程序,webview中的H5页面可以回到外层小程序。 (5)小程序APP 在某些特定的场景下,微信是允许小程序跳转APP的,但是需要用户主动触发。即,你只能引导用户来点这个按钮,而不能替用户直接打开APP。这些特定场景,主要是APP分享消息卡片,或APP打开小程序。简单来说,就是从哪个APP来的,就有能力回到哪个APP。 结论:哪来的回哪去。 (6)APP小程序 与5小节相对应的,当APP侧嵌入了微信提供的OpenSDK后,就可以实现前面提到的APP分享到小程序,或者APP打开小程序了。 结论:嵌入SDK后可分享到小程序或直接打开小程序。 (7)公众号文章H5页面 公众号文章本身也可以当做一个网页,但是,只有经过微信认证的服务号才能添加外链。普通的订阅号和服务号只能通过被动回复给用户某个H5链接,算不上直接跳转。或者通过文章底部的阅读原文添加外链,但是入口比较隐蔽,故转化率也很低。 结论:认证服务号可添加外链,非认证的通过阅读原文,自定义菜单,模板消息,被动回复等实现。 (8)H5页面公众号文章 H5链接到公众号就简单了,只是在网页上增加一个普通链接而已。具体文章打开的样式,要看这个H5是在PC浏览器、PC微信客户端、手机浏览器、手机微信客户端中的哪一个环境打开。不同的环境表现不一样,在微信的环境内就可以评论点赞,非微信环境就只能看。PC和H5主要是布局不同,其他差异不大。 如果是在微信环境,那么H5里面嵌入的二维码图片是可以直接长按识别的,也算是一步跳转。那么这个二维码,就可以是文章页、群二维码、小程序、历史记录(资料页)、会话界面(已关注)等等玩法。 结论:直接插链接即可,具体长相看环境。长按识别二维码可以有更多玩法。 (9)H5页面APP H5跳转到APP,可以通过一种叫做urlschema的跳转协议实现,但是这种协议不是所有浏览器都支持,所以你经常会见到有些产品在微信里会提示你点右上角用safari打开。这就是引导你利用safari对urlschema的支持,再跳到其他的APP去。 如果是在微信内置浏览器中,目前是支持自家的应用宝应用的,会引导用户跳转到应用宝,再在应用宝界面下载APP并打开。 结论:在支持的浏览器中通过urlschema打开;微信内支持应用宝链接跳转打开。 (10)APPH5页面 前面提到过,同小程序类似,APP也可以打开webview。并且,由于APP也是自己开发的,所以可以给webview放开全部可能的权限,在APP支持的基础上,是不会再人为限制webview的能力了。而对于支付部分,可以嵌入微信或支付宝的SDK,跳转到微信或支付宝进行支付。 此外,APP还可以支持更多功能,比如:监听webview内的页面跳转,并拦截符合某些规则的页面,进行其他操作。也可以像微信给其内置浏览器提供的JSSDK一样,为你自己的APP内嵌入的H5提供附加的JSAPI,实现更多能力。 结论:通过webview打开H5页面,原则上没有功能限制,支付可以跳转到微信或支付宝等。 (11)公众号文章APP 这两个没有直接联系,可以参照第7,9小节,通过公众号文章打开H5页面,再打开APP实现。 结论:真没有,可以先打开H5页面,走H5跳APP流程。 (12)APP公众号文章 同样通过webview打开公众号文章,与浏览器打开相同,由于不在微信环境内,也不能点赞评论赞赏等。可以作为信息展示,比如:帮助文档,活动规则等信息的展示。 结论:和打开H5类似,但只能作为信息展示,没有其他能力。 (13)小程序小程序 那么,你以为同样的环境就一定能跳吗? 当然不是,前面提到过,许多跳转都依赖绑定关系,那么小程序之间的跳转也是。 这里说的绑定,是指小程序绑定到某个公众号,只要两个小程序都绑定到了相同公众号,那么它们之间就是可以互相跳转的。每个公众号可以绑定相同主体的10个小程序,不同主体的3个小程序;每个小程序可以被500个公众号绑定。 所以,如果你的小程序想跳到某个小程序,就要先绑定。如果不是你的小程序,就要跟那个小程序的所有者联系申请绑定关系,并且你还要准备一个有坑位的,且已经绑定了你自己小程序的公众号,用来绑定这个小程序。 结论:存在绑定关系的小程序才可相互跳转。 (14)公众号文章公众号文章 早期,公众号文章只有阅读原文可以添加外链,所以有引用别人的文章的时候,也要放到阅读原文,跟前面的嵌入H5是一样的。从2017年06月开始,公众号支持插入自己帐号和其他公众号已群发文章链接的能力。 也就是说,你完全可以做一个优秀文章导航,每天只推送搜集到的好文章列表。但是,链接是可以有,但是跳出去以后就是别人的公众号了,回不回来就难说了。 结论:可以跳转自己帐号和其他公众号已群发的文章。 (15)H5页面H5页面 这个就相当自由了,页面都是自己做的,想怎么跳就怎么跳。唯一需要注意的是,我们有些H5页面可能使用了微信网页授权接口,但是忘记了判断微信环境。那么可能产生的结果就是,在浏览器里跳转几下,忽然提示请在微信内打开。 此外,如果是在小程序的webview里面跳来跳去的话,要注意是否所有跳转链接都在小程序的业务域名白名单内,否则也是无法打开的。 结论:浏览器里随便跳,小程序在白名单里跳。 (16)APPAPP APP之间的跳转大体跟前面提到的H5页面打开APP类似,通过urlschema来实现。技术上是没什么限制的,只有公司和业务冲突,导致互相之间强制不允许跳转,就不举例了。 因为这些人造墙的存在,就出现了许多,比如:口令啊,识别二维码啊什么的路子,或者想分享内容的时候,不直接打开其他APP,而是引导用户保存内容,再手动打开其他APP继续操作。 结论:没有技术障碍,只有人造墙。 好了,到这里16种路径就讲完了。这16种路径重点还是围绕微信场景的延伸,没有涉及诸如轻应用、支付宝小程序,百度小程序等。原理大同小异,如果有需要可以多参考官方文档,结合上文提到的基本原理,应该可以弄清楚了。