您需要了解的有關移動深層鏈接的所有信息

已發表: 2017-02-14

目錄

說到深度鏈接,沒有多少人知道它是什麼。 它是科技界的無名英雄。 然而人們每天都在使用它而沒有意識到它的存在,或者可能不知道它有一個名字。 在這篇文章中,您將獲得一些關於什麼是深度鏈接以及它如何在移動設備上應用的基本概念。

什麼是深層鏈接?

深度鏈接是一種通過鏈接啟動本機移動應用程序的方法。

深層鏈接正如它所說的那樣:通過鏈接將用戶深入到網站/應用程序中。 在桌面上,深度鏈接是使用超鏈接鏈接到網站內的特定內容(例如,“http://example.com/path/page”),而不是網站的主頁(例如,“http:/ /example.com/”)。 在移動設備上,深度鏈接使用統一資源標識符(URI) 鏈接到移動應用程序中的特定位置,而不僅僅是啟動應用程序。 在本系列中,我們只關注移動深度鏈接。

因此,您正在手機上瀏覽互聯網。 您在 Google 上搜索“Facebook”,第一個結果指向 Facebook 的主頁。 您點擊該鏈接,您的手機上的 Facebook 應用程序不會被重定向到 Facebook 的主頁,而是會打開。 這基本上就是移動深度鏈接的工作原理。

移動深層鏈接

為移動應用程序啟用深度鏈接將允許您調用深度鏈接以打開應用程序並在應用程序中啟動特定的、定義的屏幕,例如主頁、產品頁面和購物車,就像在網站上一樣。
深度鏈接對於促銷活動特別有用,因為它允許您和任何第三方在單擊鏈接時打開應用程序,而不是開車到網站或您的應用程序在 iOS App Store 或 Google Play 上的列表。

3種深度鏈接

1. 傳統深度鏈接

傳統深度鏈接

只要在打開鏈接時已經安裝了應用程序,傳統的深層鏈接就可以將用戶引導至應用程序內容。 這意味著如果用戶沒有應用程序,傳統的深層鏈接將不起作用,並且會顯示錯誤或後備頁面。

2.延遲深層鏈接

延遲深層鏈接

即使在打開鏈接時未安裝應用程序,延遲的深層鏈接也可以將用戶路由到內容。 該鏈接將首先重定向到 App Store 或 Play Store 以下載應用程序,然後在首次啟動後立即將用戶帶到特定的“延遲”內容。

3. 上下文深層鏈接

上下文深層鏈接具有延遲深層鏈接的所有功能,以及更多功能。 上下文深層鏈接存儲有關用戶想去哪裡、點擊鏈接的位置、最初共享鏈接的人以及幾乎無限量的自定義數據的信息。

上下文鏈接為應用程序開發人員和用戶增加了價值。 應用程序開發人員可以構建強大的功能,而不僅僅是簡單的內容鏈接,包括個性化的歡迎(如果您的朋友與您分享項目,您會在應用程序中看到他們的推薦)和推薦計劃。 應用程序用戶受益,因為應用程序可以提供更好的體驗和更相關的信息。

URI 方案

自定義 URI 方案是移動應用程序深度鏈接的原始形式。 它們就像為您的應用程序創建一個“私人互聯網”,鏈接看起來像myapp://path/to/content 。 自定義 URI 方案的優點是它們易於設置,並且大多數應用程序已經有了。 缺點是用戶的設備只有在已經安裝了相應的應用程序的情況下才知道這個“私人互聯網”,並且默認情況下沒有優雅的回退選項。

使用 URI 方案進行深度鏈接的解決方法涉及使用傳統的http://鏈接來啟動 Web 瀏覽器。 此鏈接包含指向自定義 URI 方案的 JavaScript 重定向,由 Web 瀏覽器執行以啟動應用程序。 如果由於未安裝應用程序而導致重定向嘗試失敗,則 JavaScript 會將用戶帶到 App Store 或 Play Store。

這仍然是 Android 上深度鏈接的主要方法,但Apple 於 2015 年隨著 Universal Links 的發布開始在 iOS 上阻止這種方法

Apple iOS 通用鏈接

Apple 在 iOS 9 中引入了通用鏈接,作為自定義 URI 方案深度鏈接缺乏優雅回退功能的解決方案。 通用鏈接是標準的 Web 鏈接 (http://mydomain.com),它指向網頁和應用程序內的一段內容。 打開通用鏈接時,iOS 會檢查是否有任何已安裝的設備已註冊到該域。 如果是這樣,應用程序會立即啟動,而無需加載網頁。 如果沒有,Web URL(可以是簡單的重定向到 App Store)在 Safari 中加載。

對 Branch 平台上數千個應用的研究發現,Universal Links 將打開的轉化率提高了 40%。

安卓鏈接

Google 將 App Links 構建為與 iOS Universal Links 等效的 Android,它們以非常相似的方式運行:一個標準的 Web 鏈接,它既指向網頁也指向應用程序內的一段內容。 這會帶來更流暢的用戶體驗,但由於每個版本的 Android 仍然完全支持自定義 URI 方案,因此應用鏈接的採用率非常低。

Facebook 應用程序鏈接

Facebook 在 2014 年創建了 App Links 作為開放標準,以解決 URI 方案深度鏈接的限制。 應用鏈接有兩個主要組件:

  1. 添加到標準http://鏈接的網頁目標的一組元標記。 這些標籤指定原生應用內相應內容的自定義 URI 方案位置,以及在未安裝應用時應發生的行為。
  2. 用於在支持打開鏈接的應用程序內部使用的路由引擎。 該引擎在打開之前檢查應用鏈接標籤的目標 URL,然後啟動相應的應用或執行指定的回退行為。

http://applinks.org/documentation/

App Links 標準有一個嚴重的缺陷:它需要源應用程序和目標應用程序的工作。 雖然元標籤組件得到了廣泛採用,但路由引擎的唯一主要實現是在核心 Facebook 和 Messenger 應用程序中。

Facebook 現在更喜歡將用戶留在其平台內,並已從除主要 Android 應用程序之外的所有地方刪除了 App Links 路由引擎。 由於 Facebook 還阻止了 iOS 通用鏈接,因此無法通過 iOS 上的 Facebook 或 Messenger 打開第三方應用程序。 Branch 實施了一個解決方案來幫助解決這些限制。

深層鏈接結構

深層鏈接的功能很像網頁上的傳統超鏈接。 它由構成統一資源標識符 (URI) 的獨立元素組成。 URI 包含所有信息,這些信息在被調用時會啟動具有特定屏幕的移動應用程序。

在考慮深度鏈接結構時,最佳做法是實現一個具有唯一方案名稱和路由參數(路徑和查詢字符串)的 URL,這些參數表示要在應用程序中執行的自定義操作。 除非您有非常特殊的需求,否則我們建議使用簡單的 URL 結構,如下例所示:

 mobiledeeplinkingprojectdemo://path?query_string

其中mobiledeeplinkingprojectdemo是方案名稱,路徑和查詢字符串是路由參數,用於進一步將用戶路由到應用程序中的特定體驗。

對於方案名稱:

  • 選擇方案名稱時,必須為您的品牌選擇一個唯一的名稱,以避免不同應用程序之間的方案衝突
  • 目前沒有中央機構來管理與方案名稱的衝突
  • 最佳做法是讓方案名稱引用您的品牌(例如 mobiledeeplinkingprojectdemo)。 方案名稱的另一種建議模式是使用反向域名表示法(例如 org.mobiledeeplinking),但這並未被廣泛遵循

對於路由參數(路徑和查詢字符串):

  • 路由參數是可選的,但強烈推薦。 路由參數使您可以進一步控制將用戶路由到應用程序的特定屏幕或傳遞其他參數
  • 查詢字符串是可選的,如果您需要傳遞特定參數(例如產品 ID),可能會使用該查詢字符串
  • 第三方可能會在路由參數中附加額外的元數據,因此您的應用程序必須能夠處理此用例(第 2 部分中討論的 iOS 和 Android 庫對此進行了說明)
  • 如果移動應用有對應的網站,建議移動應用的路由參數語法與網站上的URL結構匹配

以下是 iOS 上流行應用的深度鏈接示例:

開發商深層鏈接——例如目的
推特推特://時間線打開 Twitter 應用程序並鏈接到用戶的時間線
Facebook fb://個人資料打開 Facebook 應用程序並鏈接到用戶的個人資料
喊叫喊叫:// 打開 Yelp 應用程序(注意:此示例不包含任何路由參數)

深度鏈接實施

無論您是否選擇使用 MobileDeepLinking 庫,實施深度鏈接都需要您:

  • 選擇您將使用的 URI 方案,並在應用程序的清單中聲明它(下面將詳細討論)。 如第 1 部分所述,方案名稱對於您的應用程序必須是唯一的,否則可能會與其他應用程序發生衝突
  • 使用深層鏈接定義要啟動的操作。 確保這些操作符合您選擇的 URI 語法。 如第 1 部分所述,強烈建議使用 URL 語法(例如schemename://path?query_string

完成後,您可以開始實現將處理 URL 的路徑和查詢字符串部分的代碼以啟動預期的操作。

建議您使用 MobileDeepLinking 庫,但如果您希望直接實現移動深度鏈接,高級流程如下 -

iOS

iOS 應用程序是獨立的實體。 應用程序中只有一個入口點:AppDelegate。 當啟動到您的應用的深層鏈接時,它將使用深層鏈接元數據調用 AppDelegate。

在提供所需體驗的同時保持應用程序中的一致狀態非常重要。 在任何應用程序狀態下都可能隨時觸發深度鏈接,您有責任使應用程序保持穩定狀態。

例如,這可能意味著允許用戶返回您的應用程序的主屏幕。 為此,您必須推送適當的視圖控制器以將用戶發送到應用程序的所需部分,同時仍保持正確的視圖層次結構。

當應用程序打開時,您可以恢復用於啟動它的 URL,並根據您的需要進行處理。

您可以在此處找到有關 AppDelegate 的參考文檔。

安卓

Android 應用程序由一組活動組成。 如果這樣配置,這些活動中的每一個都可以被其他應用程序調用。 根據您的應用程序和深層鏈接的結構,您可以選擇使用一個或多個中心端點。

在提供所需體驗的同時保持應用程序中的一致狀態非常重要。 Android Activity 將在當前上下文之上啟動,您有責任確保維護適當的視圖層次結構。 此外,在為用戶加載 Activity 時,為 Activity 準備好必要的數據也很重要。

當應用程序打開時,您可以恢復用於啟動它的 URL,並根據您的需要進行處理。

您可以在此處找到有關 Android 深度鏈接的參考文檔。

用例

1. 將網絡用戶轉化為應用用戶

如果您在構建漂亮的原生應用程序之外還構建了一個出色的移動網站,但請注意您在原生應用程序中的轉化率比在網絡上更好。 在這種情況下,將移動網絡用戶轉化為下載您的應用程序可能會促進您的業務發展。 雖然將它們從一個移動到另一個可能具有挑戰性,但深度鏈接使其變得容易。 借助移動深度鏈接,您可以將用戶從您的移動網站無縫過渡到您的應用程序中的等效內容。 而且由於鏈接在應用程序安裝過程中仍然存在,即使是新用戶也可以在您的移動網站上繼續他們離開的地方,而不會錯過任何一個節拍。

移動深度鏈接

2. 社交、電子郵件和短信活動

使用適用於任何平台的鏈接發送促銷優惠。 當前和未來的用戶可以兌換您的優惠,無論他們使用 iOS、Android 還是網絡瀏覽器,也無論他們是否已經安裝了您的應用程序。

移動深層鏈接

3. 用戶間共享

讓新用戶安裝您的應用程序的最有效方法之一是讓您的用戶與他們的朋友分享您的應用程序中的內容。 使用移動深度鏈接,您可以創建出色的用戶對用戶共享體驗:從朋友那裡收到內容推薦的用戶可以單擊鏈接並直接轉到您應用中的共享內容,即使他們必須去App Store 或 Google Play Store 先安裝您的應用程序。

深層鏈接

4. 真實世界的應用推廣

使用 QR 碼或條形碼對物理顯示器中的深層鏈接進行編碼,以在活動和場所宣傳您的應用程序。 用戶可以使用手機攝像頭掃描二維碼/條形碼並重定向到您的應用程序中的目標內容,或者如果他們沒有安裝您的應用程序,則會被提示先安裝。

深層鏈接

從營銷人員的角度來看,以上 4 個用例只是深度鏈接如何幫助您的業務的一些示例。 當然,您還可以通過許多其他方式在應用中使用移動深度鏈接來提高銷量和參與度。

結論

深度鏈接只是一種識別、定位和傳輸用戶到應用程序中特定內容的方法。 雖然方便(且必要),但它們並沒有那麼革命性或令人興奮。 深度鏈接的未來價值在於我們如何使用它們——它們之上有什麼,以及它們將帶來的新的消費者體驗。

這將包括發現您擁有的應用程序的深層鏈接的新穎方法,通過可深層鏈接的相關內容和服務發現新應用程序,以及通過鏈接本身傳輸更多智能。 就像超鏈接一樣,改變世界的不是機制,而是我們使用它們將網絡連接在一起的方式。