深度链接、延迟深度链接、App Links以及关于LinkedME实现深度链接的原理解析
開始之前,我們先介紹兩個概念:深度鏈接(Deep Linking)和延遲深度鏈接(Deferred Deep Linking)。
深度鏈接
我們通過例子來說明這個問題,比如說我們使用淘寶,看到一個寶貝很不錯,這時候呢我們會將寶貝的信息分享到朋友圈或者分享給朋友,我們的朋友點擊,在Android M系統之前呢一般會打開一個H5界面,界面中會有一個按鈕(像“打開手機淘寶”),如果手機上有淘寶的話會打開手機淘寶,而深度鏈接呢,不但要打開手機淘寶,還要跳轉到手機淘寶中該寶貝的展示界面。如果是Android M系統中,就不需要再打開一個H5界面而是可以點擊鏈接直接打開手機淘寶,因為Android M引入了App Links功能。
延遲深度鏈接
在深度鏈接的基礎上,并且手機上沒有指定的App,需要下載、安裝之后,在定位到App中特定的界面。
App Links
我們都知道從Android M(6.0)開始,Android系統實現了App Links功能:在系統中點擊URL會定位到指定的App進行處理,而不是像以前一樣打開瀏覽器。想了解App Links的具體實現可以參考下面這篇文章:
Android M App Links: 實現, 缺陷以及解決辦法
為了實現App Links,需要我們做如下配置:
1、我們需要在AndroidManifest.xml進行配置,如下:
這里配置的意思是,如果在系統中點擊“http[s]://youdomain.com”開頭的URL,系統會打開該activity進行處理。前提是通過驗證,驗證什么呢,客觀莫著急,我們下邊會解釋。android:autoVerify就是用來開啟驗證的,data是用來配置我們處理什么樣的URL.
2、驗證:當你請求成為某URL的默認處理App的時候,系統回去驗證,URL所屬的站點是否同意你來處理。系統會去站點的該地址https://yourdomain.com/.well-known/statements.json取一個文件,如果文件存在,并且通過驗證的話,以后在系統中,你的App就會成為此URL的默認處理App。statements.json的格式為下:
“package_name”填寫你App的包名;”sha256_cert_fingerprints”你App簽名文件的SHA256指紋.TIPS:現在Android驗證的時候,只支持https協議
LinkedME
從上邊的介紹大家應該都對App Links有了一定的了解,App Links具有一定的局限性:
(1)App Links只能在Android M以上使用;
(2)你得有自己的Web站點,并且Web站點支持Https協議
LinkME之類的服務可以幫助我們快速搭建深度鏈接,下邊是個人分析的LinkME原理:
總結
以上是生活随笔為你收集整理的深度链接、延迟深度链接、App Links以及关于LinkedME实现深度链接的原理解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用rsync来实现文件同步
- 下一篇: 代码也是有灵魂的