Android 深層連結技術指引:URI 配置

Alex Austin

2017-10-30

本文為 Android 深層連結四部篇技術指引的第一篇。下列文章將涵蓋 Chrome Intents, 「Android 應用程式連結」,以及 Google Play Referrer。

Android 是開發人員至今處理過最為分散的作業平台,原因在於 Google 強制規定裝置製造商必須負責移植作業系統、提供向下相容性,以及提供眾多受支援裝置的相關支援。此情況時常導致開發人員必須使用冗長的 if-else 陳述式,確保讓我們在正確內容中使用最佳方式。

Android devices deep linking

Android 深層連結亦毫無例外。長年以來,我們已見過太多必須根據使用者的各種狀況和內容而採用的技術要求。幸運的是,Branch 將上述所有實作方式繫結唯一,建立了一套可應付所有極端狀況的連結平台。Branch 連結專門並標準化處理這種複雜性,讓您無後顧之憂。強烈建議您選用我們提供的工具,而無須從頭嘗試重新建置,且所有工具皆為免費使用。

此系列將會摘述我們採用的各種完整深層連結機制,並說明這些機制的運作與實作方式。

您可透過 start.branch.io 入門,或是使用下方的按鈕。

Android URI 配置與用途篩選

在 Android 1.0 版中已建立 URI 配置深層連結機制。此機制可讓開發人員在應用程式安裝完成後,針對特定裝置在作業系統中登錄其應用程式的 URI (統一資源識別項)。URI 可為不具特殊字元的任何字串,例如 HTTP、pinterest、fb 或 myapp。登錄完成後,若您在尾端附加 :// (例如 pinterest://) 並按一下此連結,即會開啟 Pinterest 應用程式。若未安裝 Pinterest 應用程式,則會顯示「找不到頁面」錯誤。

使用 Android URI 配置的相關需求

  • 透過資訊清單中的用途篩選登錄「活動」,以回應 URI。
  • 必須安裝應用程式以供使用。若未安裝應用程式,則會傳回錯誤。

如何設定 Android URI 配置

您可輕鬆設定應用程式的 URI 配置。若要開始,您必須在觸發 URI 配置時想要開啟的應用程式中選擇一項「活動」,然後再為其登錄用途篩選。針對與您想要開啟之「活動」對應的資訊清單,在其中的 <activity /> 標籤內新增下列程式碼。

您可將 your_uri_scheme 變更為想要使用的 URI 配置。理想狀況下,此配置應為獨一無二。若其與另一個應用程式的 URI 配置重疊,則使用者在按一下連結時會看見 Android 選擇器。若您安裝了多個瀏覽器,則會時常看見此選擇器,因為這些瀏覽器皆已登錄 HTTP URI。

處理 Android 應用程式中的深層連結

若要處理應用程式中的深層連結,您僅須在透過按一下開啟的「活動」中,抓取用途資料字串。範例如下:

遺憾的是,在此之後您必須執行字串剖析以讀取 URI 配置的附加值。

Android URI 配置的實務應用

深層連結的 URI 方法限制過多,且不建議在未經大幅修改的情況下使用,因為其會在未安裝您的應用程式時顯示錯誤訊息。為了有效使用 URI 配置本身,您必須另外建置一組工具來處理各種重大狀況,例如當應用程式未安裝時。

為了確保讓點擊使用者在未安裝應用程式時仍可享有優異品質,您必須在可於瀏覽器執行的用戶端 Javascript 中包裝 URI 配置。您會在伺服器上主控此 JS,並將連結傳送至使用者。範例如下:

此程式碼會將 iFrame 來源設定至 URI 配置以嘗試開啟應用程式,然後在應用程式載入失敗時安全地切換回 Google Play Store

結論

請密切關注即將發佈的此 Android 深層連結系列文章。

Android 的複雜性超乎想像,且四處存在著各式各樣的極端狀況。您認為一切都會好轉,不過某天有位使用者向您抱怨其執行 Android 4.4.4 版,但其連結卻無法在 Facebook 上運作。因此,您應使用諸如 Branch 等工具,協助您擺脫此惡夢並確保連結在任何位置皆可順暢運作

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