一文讀懂深度連結(deep linking)

這篇文章主要講解什麼是深度連結,好的深度連結是什麼樣的。前幾天筆者給一個客戶的運營人員講解深度連結時親自用記事本做了一個簡單的網頁,然後連結到支付寶的掃碼,測了一下是成功的。下面是小影片,將近600kb,載入可能會慢一點。此處檢視小影片。

什麼是深度連結

首先大家都知道什麼是連結,比如這就是一個連結,最常用SDK,這也是一個連結,小蜜蜂跨境主頁。但是前者屬於深度連結,後者不屬於深度連結,因為前者是內頁,而後者是主頁,其實就是這麼簡單,只不過把這一切放到了原生APP裡,APP之間相互連結或者網頁與APP,APP與網頁之間相互連結。

深度連結與移動APP

web連結不適用於本地移動應用,即原生應用。如果您使用移動裝置在Jet。com上開啟一雙鞋子的連結,則即使安裝了Jet應用程式,您也將被帶到Web瀏覽器中的目的地。 這就是一個問題,因為與移動版Jet。com相比,Jet應用程式具有更好的使用者體驗。

一文讀懂深度連結(deep linking)

一文讀懂深度連結(deep linking)

移動應用程式深度連結指向應用程式內的具體內容。 如果您想與朋友分享Jet的一雙鞋,可以傳送一個深度連結,將您的朋友直接帶到應用程式中的那雙鞋。 如果沒有深度連結,您的朋友將不得不在App Store或Play Store上找到Jet應用程式,將應用程式開啟到主頁,找到“搜尋”功能,然後嘗試找到與您相同的鞋子。

傳統的深度連結

只要開啟連結時已經安裝了應用程式,傳統的深度連結就可以將使用者引導至應用程式的具體內容。 這意味著如果使用者沒有該應用程式,則傳統的深度連結將不起作用,並且會顯示錯誤或後備頁面。如下圖,左面是已經安裝了目標APP的操作,右面是沒有安裝的。

一文讀懂深度連結(deep linking)

一文讀懂深度連結(deep linking)

延遲的深度連結

延遲的深層連結(稱呼深度連結和深層連線均可)可以將使用者轉移到內容,即使開啟連結時未安裝該應用程式也是如此。 連結將首先重定向到App Store或Google Play商店下載應用程式,然後在首次啟動後立即將使用者帶到特定的“延遲”內容。

一文讀懂深度連結(deep linking)

上下文深層連結

上下文深層連結具有延遲的深層連結的所有功能,以及更多其他功能。上下文深層連結儲存有關使用者要去的地方,單擊連結的位置,最初共享連結的人以及幾乎無限數量的自定義資料資訊。

上下文連結為應用程式開發人員和使用者增加了價值。除了簡單的內容連結,應用程式開發人員還可以構建強大的功能,包括個性化的歡迎(如果他們與您共享專案,您可以在應用程式中看到朋友的推薦)和推薦程式。應用程式使用者將從中受益,因為應用程式可以提供更好的體驗和更多相關資訊。

一文讀懂深度連結(deep linking)

自定義URL方案協議

自定義URI方案是移動應用程式深層連結的原始形式。 它們就像為您的應用程式建立一個“專用網際網路”,其連結類似於myapp:// path/to/content。 自定義URI方案的優點是易於設定,並且大多數應用程式已經擁有一個。 缺點是使用者的裝置僅在已安裝相應應用程式的情況下才知道此“專用網際網路”,並且預設情況下沒有優雅的後備選項。

與URI方案進行深度連結的變通辦法是使用傳統的http: //連結來啟動Web瀏覽器。 此連結包含JavaScript重定向到自定義URI方案,該重定向由網路瀏覽器執行以啟動應用程式。 如果由於未安裝應用而導致重定向嘗試失敗,則JavaScript會將使用者帶到App Store或Play商店。

這仍然是在Android上進行深度連結的主要方法,但是Apple於2015年透過釋出Universal Links開始在iOS上阻止了這種方法。

蘋果iOS通用連結

蘋果在iOS9中引入了Universal Links,以解決自定義URI方案深層連結中缺少優美的後備功能問題。通用連結是指向網站和應用程式內的一部分內容之標準Web連結(http://mydomain。com)。

開啟通用連結後,iOS會檢查該域是否已註冊任何已安裝的裝置

。 如果是這樣,該應用程式將立即啟動,而無需載入網頁。如果不是,則將Web URL(可以是到App Store的簡單重定向)載入到Safari中。如圖:左面是已經安裝了APP,右面是沒有安裝APP的。

一文讀懂深度連結(deep linking)

一文讀懂深度連結(deep linking)

安卓連結

Google將Android應用程式連結構建為等同於iOS通用連結的Android,並且它們的執行方式非常相似:一個標準的Web連結,它既指向網頁又指向應用程式中的一部分內容。 這樣可以帶來更流暢的使用者體驗,但是由於自定義URI方案仍受每個Android版本的完全支援,因此應用連結的普及率非常低。

Facebook APP連結

Facebook在2014年建立了App Links作為開放標準,以解決URI方案深層連結的侷限性。 FB APP應用連結有兩個主要組成部分:1。 一組元標記,新增到標準http://連結的網頁目標。 這些標記指定本機應用程式中相應內容的自定義URI方案位置,以及未安裝應用程式時應發生的行為。2。 在支援開啟連結的應用程式內部使用的路由引擎。 該引擎在開啟應用連結之前檢查其目標URL,然後啟動相應的應用或執行指定的後備行為。

App Links標準有一個嚴重的缺陷:它要求原始應用程式和目標應用程式同時工作。 儘管元標記元件得到了廣泛採用,但路由引擎的唯一主要實現是在核心Facebook和Messenger應用中。Facebook現在更喜歡將使用者保留在其平臺內,並且已從除主要Android應用程式之外的所有位置刪除了App Links路由引擎。 由於Facebook還阻止了iOS通用連結,因此沒有可靠的方法從Facebook或iOS上的Messenger中開啟第三方應用程式。 Branch已實施了一種解決方案來幫助解決這些限制。