龙空技术网

移动端应用相互跳转的 16 种路径详解

人人都是产品经理 3202

前言:

而今你们对“js怎么实现跳转”大约比较珍视,兄弟们都想要知道一些“js怎么实现跳转”的相关内容。那么小编在网络上搜集了一些关于“js怎么实现跳转””的相关知识,希望姐妹们能喜欢,大家快快来学习一下吧!

本文详细讲解一下小程序、公众号文章、H5 页面,以及其他 APP 之间的跳转路径都是怎样的,一起来看看~

移动时代,我们手机里的东西越来越多,占用的时间也越来越多。有时候要用 APP,有时候要在微信里跳来跳去,有时候又要打开浏览器,每天忙得不亦乐乎。

作为普通用户,我们只能按照产品的指引去使用,无法选择我们的使用路径。而作为产品经理,我们则需要清楚究竟哪些路径可以使用,而哪些跳转方向,只是一厢情愿。

这里,我们不讨论类似下载二维码图片到手机,再识别二维码这种间接路径;也不考虑类似公众号资料页进入小程序这种低频入口。我们只讨论那些高频常用的,或者可以带参数统计用户行为的路径跳转。这些路径,才是我们最常用也是最应该关注的。

下面,我就详细讲解一下小程序、公众号文章、H5 页面,以及其他 APP 之间的跳转路径都是怎样的。

(1)小程序 -> 公众号文章

小程序跳转到公众号文章,目前是实现不了的。确切地说,只能叫打开公众号文章。所谓“打开”其实是在小程序的框架内支持了叫做 web-view 的组件,你可以理解为就是一个内置浏览器,后面会提到 APP 也有这种组件。

那么,这里的打开就相当于在这个内置浏览器里浏览公众号文章了。不过,既然是在小程序环境,那也必然是在微信环境内,所以这个文章还是可以点赞和评论的,但是由于小程序 web-view 功能限制,暂时是不能赞赏作者的。

此外,这里打开的公众号文章也只能是小程序绑定的公众号文章,小程序可以被 500 个公众号绑定,做个文章合集也是可以的。

结论:通过 web-view 打开绑定的公众号文章,可以点赞评论,不能赞赏。

(2)公众号文章 -> 小程序

公众号文章嵌入小程序,大家应该都见过了。主要是文章内嵌的小程序卡片和文字链接等,可以直接打开绑定的小程序。注意:这里几次都提到了绑定关系,许多能力的前提都要有绑定关系先,或者是业务域名白名单,后面还会再提到。

文章嵌入小程序的好处非常明显,可以放在文章的任意位置,还可以准备一张自定义的海报,并且可以带参数。这点非常重要,我们可以直接指定跳转到小程序某个页面的某种状态,并可以通过参数来统计来源渠道等数据。

结论:文章可以嵌入小程序卡片,公众号自定义菜单可以跳转小程序,都可以带参数。

(3)小程序 -> H5 页面

同 1 小节一样,也不存小程序跳 H5 页面的路径。同样只是通过 web-view 内打开业务域名白名单内的页面而已,功能受限,比如:不能支付。具体可参考微信小程序开发文档,里面有详细的 API 列表。

值得一提的是,如果小程序里面打开的 H5 页面又使用了公众号网页授权接口,会是什么效果呢?

很简单,跟在微信里直接打开 H5 是一样的,如果是获取用户信息的授权,则会弹出授权确认界面。这里是个独立的空间,跟外面的小程序是否授权已经没有关系了。

当然,如果小程序和小程序的 web-view 打开的 H5 授权用的公众号绑定了同一个 unionid,那么两个场景都是可以拿到这个 unionid 用来识别用户,可以达到识别同一用户的目的。

结论:通过 web-view 打开 H5 页面,功能受限,若有网页授权,与微信内置浏览器表现一致。

(4)H5页面 -> 小程序

这个真没有,甚至 H5 页面可能都打不开微信。但是,对于已经在小程序的 web-view 中打开的 H5 页面,由于本身在小程序框架内,所以是可以返回“外层”的小程序的,但是不能直接跳转到其他小程序。

结论:普通 H5 页面无法跳转到小程序,web-view 中的 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,可以通过一种叫做 url schema 的跳转协议实现,但是这种协议不是所有浏览器都支持,所以你经常会见到有些产品在微信里会提示你点右上角用 safari 打开。这就是引导你利用 safari 对 url schema 的支持,再跳到其他的 APP 去。

如果是在微信内置浏览器中,目前是支持自家的应用宝应用的,会引导用户跳转到应用宝,再在应用宝界面下载 APP 并打开。

结论:在支持的浏览器中通过 url schema 打开; 微信内支持应用宝链接跳转打开。

(10) APP -> H5页面

前面提到过,同小程序类似,APP 也可以打开 web-view。并且,由于 APP 也是自己开发的,所以可以给 web-view 放开全部可能的权限,在 APP 支持的基础上,是不会再人为限制 web-view 的能力了。而对于支付部分,可以嵌入微信或支付宝的 SDK,跳转到微信或支付宝进行支付。

此外,APP 还可以支持更多功能,比如:监听 web-view 内的页面跳转,并拦截符合某些规则的页面,进行其他操作。也可以像微信给其内置浏览器提供的 JSSDK 一样,为你自己的 APP 内嵌入的 H5 提供附加的 JSAPI,实现更多能力。

结论:通过 web-view 打开 H5页面,原则上没有功能限制,支付可以跳转到微信或支付宝等。

(11)公众号文章 -> APP

这两个没有直接联系,可以参照第 7,9 小节,通过公众号文章打开 H5 页面,再打开 APP 实现。

结论:真没有,可以先打开 H5页面,走 H5 跳 APP流程。

(12)APP -> 公众号文章

同样通过 web-view 打开公众号文章,与浏览器打开相同,由于不在微信环境内,也不能点赞评论赞赏等。可以作为信息展示,比如:帮助文档,活动规则等信息的展示。

结论:和打开 H5 类似,但只能作为信息展示,没有其他能力。

(13)小程序 -> 小程序

那么,你以为同样的环境就一定能跳吗?

当然不是,前面提到过,许多跳转都依赖绑定关系,那么小程序之间的跳转也是。

这里说的绑定,是指小程序绑定到某个公众号,只要两个小程序都绑定到了相同公众号,那么它们之间就是可以互相跳转的。每个公众号可以绑定相同主体的 10 个小程序,不同主体的 3 个小程序;每个小程序可以被 500 个公众号绑定。

所以,如果你的小程序想跳到某个小程序,就要先绑定。如果不是你的小程序,就要跟那个小程序的所有者联系申请绑定关系,并且你还要准备一个有坑位的,且已经绑定了你自己小程序的公众号,用来绑定这个小程序。

结论:存在绑定关系的小程序才可相互跳转。

(14)公众号文章 -> 公众号文章

早期,公众号文章只有阅读原文可以添加外链,所以有引用别人的文章的时候,也要放到阅读原文,跟前面的嵌入 H5 是一样的。从 2017 年 06 月开始,公众号支持插入自己帐号和其他公众号已群发文章链接的能力。

也就是说,你完全可以做一个优秀文章导航,每天只推送搜集到的好文章列表。但是,链接是可以有,但是跳出去以后就是别人的公众号了,回不回来就难说了。

结论:可以跳转自己帐号和其他公众号已群发的文章。

(15)H5 页面 -> H5 页面

这个就相当自由了,页面都是自己做的,想怎么跳就怎么跳。唯一需要注意的是,我们有些 H5 页面可能使用了微信网页授权接口,但是忘记了判断微信环境。那么可能产生的结果就是,在浏览器里跳转几下,忽然提示请在微信内打开。

此外,如果是在小程序的 web-view 里面跳来跳去的话,要注意是否所有跳转链接都在小程序的业务域名白名单内,否则也是无法打开的。

结论:浏览器里随便跳,小程序在白名单里跳。

(16)APP -> APP

APP 之间的跳转大体跟前面提到的 H5 页面打开 APP 类似,通过 url schema 来实现。技术上是没什么限制的,只有公司和业务冲突,导致互相之间强制不允许跳转,就不举例了。

因为这些人造墙的存在,就出现了许多,比如:口令啊,识别二维码啊什么的路子,或者想分享内容的时候,不直接打开其他 APP,而是引导用户保存内容,再手动打开其他 APP 继续操作。

结论:没有技术障碍,只有人造墙。

好了,到这里 16 种路径就讲完了。这 16 种路径重点还是围绕微信场景的延伸,没有涉及诸如轻应用、支付宝小程序,百度小程序等。原理大同小异,如果有需要可以多参考官方文档,结合上文提到的基本原理,应该可以弄清楚了。

作者:姬小光,微信公众号“姬小光(ID:hi-laser)”

本文由 @姬小光 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

标签: #js怎么实现跳转 #js当前页面跳转 #h5可以在任意浏览器中打开嘛 #h5页面内跳转 #h5添加图片路径