手机浏览器跳转微信app解决方案[微信跳转]

手机浏览器跳转微信app解决方案[微信跳转]
相信很多朋友遇到过有些网站,可以直接通过一个连接就能让你的手机打开微信且跳转到某个指定的页面,许多程序员很好奇到底是怎么实现的,到处求这种方法的源码,在文本中我会介绍及剖析这种跳转实现的原理。

微信是个比较封闭的环境,至于为什么封闭,相信大家都了解,在一些应用场景中,我们要用到外部浏览器跳转到微信内部打开,比如添加好友、微信支付等,在微信内部环境直接长按二维码就能实现,确实方便很多。

言归正传,所有可以唤起微信的地址最终都会被转化为:“ weixin://…ticket=…”这种格式,其他的就是再怎么写,最终都是会走到获取 ticket 这一步,前面的“ weixin://…”是唤起微信的标准开头,主要用于在外部环境唤起微信;
在这里插入图片描述在这插一句嘴,有人问为什么微博或者贴吧等 APP 里不能用这种格式的链接唤起微信呢?道理很简单,因为他们在制作 APP 的时候没有加这个唤起指令,换句话说,他们不想让用户跳到微信去,(都是流量 APP,不想自己的流量外流也是正常的),现在基本上大部分浏览器都支持这个唤起微信的指令,所以内嵌有浏览器的 APP 基本都能唤起微信,就可以支持微信跳转了。

再说下后面的 ticket,这里是关键,链接传到微信后,微信会判断是不是要让你在里面打开,就是用的这个 ticket 参数,,微信识别是否合法,都是判断 ticket,正常情况下,跟微信合作的大平台,微信会放给他们请求和分配合法 ticket 的接口。

市面上大部分公司或个人是没有这个待遇的,但也有这样的需求,怎么办呢?就是用各种手段从那些合作平台那“借用 ticket ”,严格来说,一个 ticket 产生后,有效时间只有 5 分钟,过了 5 分钟,会重新分配一个新的,所以有一个 ticket 也是没用的,必须要能对接其实时获取的接口,这就是为什么很多人奇怪为什么第一次能打开,过几分钟就失效打不开了,那是因为 ticket 的时间过期了。

猜你喜欢

转载自blog.csdn.net/qq_42982297/article/details/83781937