相信很多朋友遇到過有些網(wǎng)站,可以直接通過一個連接就能讓你的手機打開微信且跳轉(zhuǎn)到某個指定的頁面,許多程序員很好奇到底是怎么實現(xiàn)的,到處求這種方法的源碼,在文本中我會介紹及剖析這種跳轉(zhuǎn)實現(xiàn)的原理。
微信是個比較封閉的環(huán)境,至于為什么封閉,相信大家都了解,在一些應用場景中,我們要用到外部瀏覽器跳轉(zhuǎn)到微信內(nèi)部打開,比如添加好友、微信支付等,在微信內(nèi)部環(huán)境直接長按二維碼就能實現(xiàn),確實方便很多。
言歸正傳,所有可以喚起微信的地址最終都會被轉(zhuǎn)化為:“ weixin://...ticket=...”這種格式,其他的就是再怎么寫,最終都是會走到獲取 ticket 這一步,前面的“ weixin://...”是喚起微信的標準開頭,主要用于在外部環(huán)境喚起微信;
在這插一句嘴,有人問為什么微博或者貼吧等APP里不能用這種格式的鏈接喚起微信呢?很多人想研究這種跳轉(zhuǎn)的原理,其實沒有原理,就只是看你怎么拿到 ticket 而已。
道理很簡單,就像你問怎么開鎖一樣,不是開鎖技術牛逼,是他們能找到原配的鑰匙去配,等別人換了鎖,又得重新找鑰匙拿來配。
有需求就有利益,這就是產(chǎn)業(yè)鏈產(chǎn)生的雛形,很多人開始在網(wǎng)上叫賣微信跳轉(zhuǎn)服務,而且這行都是按月賣的,現(xiàn)在知道為什么嗎?因為懂行的都知道,說不定哪天就都不能用了,所以即使你口碑信用再好,破解被人封了,或者獲取 ticket 的來源沒有了,也沒辦法了,按月買,是比較保險的方式。
跳轉(zhuǎn)原理分析:
從手機瀏覽器等非微信環(huán)境,跳轉(zhuǎn)到微信,都是利用 weixin://dl/business/?ticket=ta428dhj739hg3efe6e 這種形式的微信 scheme。就是利用微信提供給這些商家的接口,把我們的鏈接轉(zhuǎn)換成對應的 ticket 鏈接。
在哪兒可以找到微信跳轉(zhuǎn)的接口呢?我們分析跳轉(zhuǎn)鏈接后,發(fā)現(xiàn)了接口的出處。