通用連結、URI 配置、應用程式連結以及深層連結:有何不同之處?

Shannon Wu

2017-10-30

過去數年來,「深層連結」、「通用連結」、「URI/URL 配置」和「應用程式連結」等技術皆為行動應用程式內部內容連結領域,帶來了徹底的改變。這讓眾多應用程式開發人員對於要實作哪些技術,以及適用於各項技術的業界最佳實務為何,感到困惑不解。

此外,行動深層連結領域仍有非常迅速的進化空間。一年前暢行無阻的策略做法,到了今時今日並不必然受用 (若其仍舊可行)。長年以來我們已看過太多過時的文章與誤導資訊,因此該是釐清一切誤解為行動深層連結領域提供全新面貌的時候了。

什麼是「深層連結」?

首先需要說明一些核心詞彙:「深層連結」簡單來說是一種概念。我們每天無時無刻都在使用深層連結 實際上,您可能就是藉由點選某個深層連結而來到此篇部落格文章。此詞語單純係指「直接連往一部分內容的任何連結」。若您點選諸如 https://example.com/my-awesome-content-page, 則系統不會將您引導至 https://example.com/ 而是會強制透過網站瀏覽以重新尋找 my-awesome-content-page。換言之,網路上的大部分連結實際上皆是「深層連結」,但我們不會如此稱呼這些連結。對於我們而言,它們就只是個「連結」。

行動應用程式的深層連結 更加複雜,但行動深層連結仍然是為應用程式使用者提供順暢內容體驗的最佳方式。行動深層連結是透過諸如「通用連結」、URI 配置以及「應用程式連結」等各種技術標準來運作,可讓您將使用者直接引導至應用程式中的內容。若您想要與朋友分享行動應用程式當中的每個頁面,深層連結即會將您朋友帶往正確的頁面。若無深層連結,您朋友就得麻煩地自行尋找正確的頁面,而時常迷失在應用程式商店 (即使已安裝應用程式亦然) 或行動網站當中。

實作行動深層連結的程序歷經長年演進,Andorid 與 iOS 皆各自具有專屬的解決方案。此狀況為各個應用程式開發社群造成了困擾,即使是經驗豐富的工程師,在毫無準備的危急狀況下亦必須更新連結,導致新進工程師對於在應用程式中實作深層連結的最佳途徑,感到困惑不解。.

以下逐一細說目前採用的各種行動深層連結標準:

備註:iOS 與 Android 共同掌控了 99.3% 的行動市場。因此,Branch 對於其他平台所能提供的支援極其有限,為了篇幅精簡起見在此略過不提。

當然,下述標準當中沒有任何一項受到所有平台或作業系統版本的全面支援:

Facebook 曾實際展現承諾針對開發原始碼深層連結標準投入開發心力,因此應受到特別肯定,但遺憾的是其隨後就徹底揚棄原本的做法:

讓我們一同更加深入地逐項探討這些標準。

什麼是 URI 配置?其與 URL 是否不同?

若您想在一群工程師面前引起騷動,可就程式碼縮排一事發起有關標籤與空格的辯論。或者亦可將「URI 與 URL」間的差異混為一談。 針對此問題曾撰述過相關論文加以探討,但我們僅需記住所有的 URL 皆是 URI。重點部分在本文開頭處:亦即「配置」。。您已熟悉 https:// 與 https:// 配置。您甚至可能還會遇到 ftp:// 或 feed://。這些配置皆表示目前要求的內容類型,而您的行動應用程式可登錄專屬自訂 URI 配置。例如:myapp://。

若您研究深層連結,可能已發現到有關 URI 配置的重要內容。在大部分的應用程式開發歷程當中,URI 配置皆是 iOS 與 Android 應用程式深層連結的主要方法。

URI 配置的限制

遺憾的是,自訂 URI 配置具有一些重大缺點,其中最為人詬病的即是無法輕鬆因應處理以下兩種狀況:

    1. 未安裝應用程式。
  1. 有多個應用程式嘗試宣告 myapp://。

URI 配置未內建備援選項,這表示若使用者在點選朋友分享的連結時未安裝應用程式,則會顯示錯誤頁面。此外其亦無集中登錄系統, 這表示可能會發生 URI 衝突 (據 Apple 的官方說法表示 「目前無相關處理程序」)。針對第一項問題,許多開發人員皆採用複雜的 JavaScript 重新導向設計建置因應措施,但其每當遇到新 iOS 發佈即會宣告破功。針對第二項問題則尚未找出解決方案。

由於存在以上限制,iOS 與 Android 皆各自開發第二代深層連結標準,分別稱為「通用連結」與「應用程式連結」。Apple 已針對 URI 配置封鎖 JavaScript 重新導向方式,因此必須使用「通用連結」來執行 iOS 深層連結。「應用程式連結」目前仍鮮少為人所用。

「通用連結」與「應用程式連結」有何差異

URI 配置是您應用程式的專屬內容「類型」,而「通用連結」與「應用程式連結」僅是同時指向網頁與應用程式中部分內容的一種標準網頁連結 (https://example.com)。當開啟「通用連結」或「應用程式連結」時,裝置會檢查是否已針對該網域登錄任何已安裝的應用程式。若已完成安裝,則系統會立即啟動應用程式而無須載入網頁。若尚未安裝,則會在預設網頁瀏覽器中載入網頁 URL (其可逕行重新導向至 App 或 Play Store)。

若您全程參與進行測量與分析工作,可能會留意到以下問題:「立即啟動應用程式」表示適用於網路和電子郵件行銷的傳統追蹤方法 (這些所有方法皆以重新導向鏈結為基礎) 已不再奏效。這可能是個重大問題,因為無論是「通用連結」或「應用程式連結」標準目前皆缺乏任何解決方案。您只能在應用程式開啟後追溯測量點擊。

「通用連結」是適用於 iOS 的現行標準,但其具有缺點。

「通用連結」實際上並非如此「通用」。 在諸如 Facebook 和 Twitter 等主要平台,「通用連結」完全不受支援,而透過畫面右上角外型平實的按鈕,亦無從得知其為基本「核心選項」。因此,訪客無須特別瞭解即可意外輕鬆地停用「通用連結」。停用後,一般使用者將完全無法得知如何還原此程序,而只會認定您的應用程式已損毀。

Yelp Screenshot

更糟的是,「通用連結」的推展狀 況漏洞百出,而 Apple 甚至未提供驗證工具,使得測試團隊面臨艱鉅挑戰。

URL/URI 配置是否已過時?

據 Apple 的看法確實如此。Apple 自 iOS 9.2 不再針對深層連結提供 URI 配置官方支援,而開發人員必須強制實作「通用連結」才能在 iOS 上取得同等功能。

但實際狀況並非如此完美。「通用連結」看似優異,但在許多情況下您仍然必須使用 URI 配置做為備援,且若您單獨仰賴它們,則會明顯產生大量流量。Android 生替系統由於太過分散,因此甚至考慮在不久後的未來揚棄 URI 配置。

延後深層連結

還有一項重要概念我們尚未深入討論:亦即延後深層連結。標準深層連結 (透過 URI 配置、「通用連結」或「應用程式連結」實作) 僅在裝置已安裝應用程式時才會運作。若未安裝應用程式,其會「盡力」將您的使用者傳送至 App 或 Play Store。不過,若您希望即使在使用者必須先安裝應用程式的情況下,將他們傳送至應用程式內部的正確位置,此時該怎麼做?延後深層連結可實現此目標,其會透過安裝程序保留特定的內容部分,並在安裝完成後將使用者引導至正確位置。

其他深層連結標準

您可能還會遇到其他兩項較不常見的深層連結標準:Chrome Intents 與「Facebook 應用程式連結」。

Chrome Intents

Chrome 團隊已針對自訂 URI 配置, 建置專屬自製的延伸功能,以在未安裝應用程式時提供備援行為。Chrome Intents 是一項高明的基本問題解決方案,但其僅支援 Chrome 瀏覽器的 Android 版本以及一些實用的第三方應用程式。這表示每次的深層連結實作皆會增加複雜度,因為您現在必須同時支援標準技術與 Chrome 特定替代方案。

Facebook 應用程式連結

Facebook 在 2014 年建立了「應用程式連結」開放式標準,以解決 URI 配置深層連結的限制。「應用程式連結」具有兩大主要元件:

    1. 一組新增至標準 https:// 連結網頁目的地的中繼資料標籤。這些標籤會指定原生應用程式中對應內容的自訂配置位置,以及當未安裝應用程式時所應發生的行為。
  1. 一個支援開放連結且供應用程式內部使用的路由引擎。此引擎會在開啟前檢查「應用程式連結」標籤的目的地 URL,然後再啟動對應的應用程式或執行指定備援行為。

https://applinks.org/documentation/

「應用程式連結」標準具有一項重大限制:其必須由原始與目的地應用程式同時運作。由於中繼資料標籤元件廣受採用,因此路由引擎的主要實作範圍僅限於核心 Facebook 與 Messenger 應用程式。Facebook 現希望使用者能夠持續駐留在其專屬平台作業,且除了主要 Android 應用程式外,已自所有位置移除「應用程式連結」路由引擎。由於 Facebook 亦封鎖了「iOS 通用連結」,因此目前已無法採用任何可靠方式,在 iOS 上透過 Facebook 或 Messenger 開啟第三方應用程式。Branchi已實作解決方案協助因應解決這些限制。

2017 年的「通用連結」、「URI 配置」和「深層連結」

行動應用程式深層連結領域仍然極度分散。我們尚未找出一套適用於整個產業的泛用標準。不過,這並不是迫使客戶承受不良使用體驗的拖拖藉口。

您需要運用深層連結以及所有各自不同的標準贏得客戶支持。Branch 延後深層連結採用 URI 配置、「通用連結」、「應用程式連結」、Chrome Intents 和「Facebook 應用程式連結」等技術。我們涵括了以上所有技術,讓您無須費神。

您是否想要實作深層連結處理上述所有不同的標準,無須從事任何額外作業即可提供統整的分析與歸屬資料?點選以下按鈕開始入門。

现在订阅每周博客摘要,其中包含移动增长技巧,行业更新和产品公告!
shares