什么是Deeplink?以及Deeplink的原理
先說一個日常場景幫大家理解。最近雙十一、雙十二,不知道大家有沒有被親友們發的某寶、某東、或拼夕夕的各類信息輪番轟炸?小編的親友群、閨蜜群里常年有這類鏈接掛著,小紅薯的筆記分享,某寶的化妝品、衣服鏈接分享等等,這一個個的分享鏈接織成一張張網,真可謂是增加親友親密度,快速獲取優質好物的利器。
這背后有個特別容易忽視卻又極其重要的知識點。比如你在社交媒體上分享給翠花一個某App上的精選好店,翠花想要查看有幾種操作方式:
l 如果翠花已經安裝了該App,那她只要點開鏈接就可以跳轉到App;
l 如果翠花沒有安裝相關App,那就會跳轉到應用市場指引安裝
類型場景還有其他可能性:
l 短信,比如某寶上新發給翠花的短信,翠花可以點擊短信鏈接打開App
l 短信,比如翠花收到領英好友申請,她就需要通過短信打開瀏覽器,然后通過瀏覽器跳轉指定頁面
l 通過分享到微信中h5頁面,在微信中打開App(這個需要到微信開放平臺做配置)。
以上場景中的知識點:
l 在瀏覽器或者短信中喚起App,如果安裝了就能喚起,否則引導下載。對于Android而言,這里主要牽扯的技術就是Deeplink,也可以簡單看成scheme。
l 其實,AppLink就是特殊的Deeplink,只不過它多了一種類似于驗證機制,如果驗證通過,就設置默認打開,如果驗證不過,則退化為Deeplink,如果單從APP端來看,區別主要在Manifest文件中的android:autoVerify="true"。
l 還有在微信中,也可以作出這樣操作。如果用戶已經安裝App,點擊跳轉App則會通過應用寶,打開該應用并且跳轉到相應的頁面。這種也是一種AppLink。
所以究竟什么是Deeplink?
總結來說,Deeplink,又叫深度鏈接技術,是指在App/短信/廣告里點擊鏈接,用戶點擊后, 能直接跳轉到目標App具體位置的技術,深度鏈接打破了網站與App間的壁壘,成為實現網站與App相互跳轉的橋梁。開發者不僅可以通過Deeplink實現網站到App互相跳轉,也可以實現從多個平臺(QQ、微信、微博、Twitter、Facebook、短信、各大瀏覽器等)到App內指定頁的跳轉。例如用戶將電商App內的一個詳情頁鏈接通過短信形式發送給其他親友,用戶點擊短信內的鏈接就能打開對應的H5頁面,然后直接跳轉到電商App內的指定詳情頁,而不是App首頁。如果用戶并未安裝App,那么就會跳轉到App下載頁面。等用戶安裝打開App后仍然能跳轉到指定頁面。Deeplink技術不僅可以實現場景快速還原,縮短用戶使用路徑,更重要的是能夠用于App拉新推廣場景,降低用戶流失率。
不同操作系統的Deeplink技術
Deeplink技術是操作系統本身就有的能力,且發展歷史已經有很多年了。因此不同操作系統、不同版本都有著不同版本的Deeplink技術
1、URL Scheme——iOS9和安卓6以前
在iOS 9和安卓6(M)之前,移動端實現Deeplink的方式都是通過URL Scheme。URL,我們都很清楚,weixin://dl/moments就是一個 URL,也叫它鏈接或網址;Scheme,表示的是一個 URL 中最初始的位置,即://之前的那段字符,例如這個URL中的Scheme就是weixin。我們可以用Scheme來定位對應的App。例如淘寶的Scheme就是taobao、支付寶的Scheme就是alipay,新浪微博的Scheme是sinaweibo。
被打開的App可以向操作系統提前注冊一個 URL,開頭的Scheme用于從瀏覽器或其他App中拉起本App。移動操作系統提供解析Scheme的能力,判斷Scheme屬于哪個App,喚起并將參數傳遞給App。此外通過指定的 URL 中其他字段(如path等),可以讓App在被喚起后直接打開某些特定頁面,比如商品詳情頁、活動詳情頁等等。
1.2 URL Scheme協議格式
一般來說整段的URL Scheme是這種的形式:Scheme://host:port/path?query=xxxxxxx。其中path代表了想要跳轉的指定頁面,而query代表了想要傳遞的參數。
1.3 URL Scheme缺點
URL Scheme方式優點是開發簡單,但弊端也很明顯:
l 我們只能通過固定協議格式的鏈接來實現跳轉,而且打開H5頁面時,會出現一個提示框:“是否打開XXX”。用戶確認了才會跳轉到App中,增加了用戶流程
l 微信、QQ等把URL Scheme打開App這種方式給禁了,但是它們都各自維護著一個白名單,如果Scheme不在該白名單內,那么就不能在他們的App內打開這個App(如果被封鎖了那么用戶只能通過右上角瀏覽器內打開App)
2、Universal link——iOS 9以后
Universal link是蘋果公司在2015年推出的新一代Deeplink技術,iOS9及以上的用戶可以通過點擊一個https鏈接無縫的跳轉到一個App應用內的指定頁面,不需要讓用戶點擊“是否打開xx”。因為少了這個提示框,所以Universal link比URL Scheme方式體驗更好,更重要的優勢是目前微信和QQ已經支持Universal link這種形式了,因此我們更推薦開發者在iOS端使用這種方式喚起App。
微信目前已支持通過Universal link方式直接打開第三方App,要求SDK版本大于等于1.8.6.1。用戶主要需要配置以下幾步才能使用正常功能,詳情配置步驟可以參照微信Universal link文檔:
(1)首先按照蘋果官方文檔,配置Universal link。微信對Universal Links配置有以下要求:
Universal Links必須支持https
Universal Links配置的paths不能帶query參數
微信使用Universal Links拉起第三方App時,會在Universal Links末尾拼接路徑和參數,因此App配置的paths必須加上通配符/*
(2)然后向微信注冊自己的應用id和Universal Links。
此外QQ也已支持Universal link跳轉方式,要求SDK版本大于等于3.3.6.詳情配置步驟可以參考QQ配置文檔
3、App Link——AndriodM(6)以后
App Link是由安卓發布的,在Andriod M以后才能使用。用戶可以點擊一個H5鏈接時直接跳轉到 App 指定頁面,而不會讓用戶點擊”是否打開xx“。所以App Link比URL Scheme方式體驗更好。
注:因為目前App Link在中國大陸內使用必須要FQ,使用不便。所以國內的Top第三方如友盟+暫未支持AppLink這種方式,Andriod端只能使用URL Scheme這種方式。但據小編所知,后續友盟+會支持AppLink這種拉起App方式。
對于開發者而言,要不要接第三方Deeplink工具?
雖然開發者可以自己配置實現Deeplink技術,但是現實中還是會遇到很多問題。比如進行資源配置、兼容性適配、模糊匹配等事項時需要耗費大量的人力和維護成本,實現起來相當復雜。現在常用的方法,也是小編比較推薦的方式,即直接接入像友盟+這樣專業的第三方,這樣可以大大縮短開發時間,保障服務穩定性。更值得一提的是,比如友盟+還為開發者提供統計Deeplink帶來的回流新增數據,即這個鏈接帶來了多少的App打開次數和新增用戶,非常適合高效的團隊做直接接入。對此小編就不做贅述了,大家可以自行去了解~~
總結
以上是生活随笔為你收集整理的什么是Deeplink?以及Deeplink的原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果 watchOS 10.1 开发者预
- 下一篇: 四川宜宾叙洲区有没有黄家林这个地方?