iOS 9.2 更新:URI Schemes 的衰退及 Universal Links 的崛起

此篇主要是 Branch Metrics 對開發者說明他們因應 iOS 9.2 所做的改變。Branch 的核心是一套可以產生 contextual deep links 的開發套件 (SDK) ,讓開發者能將參數在 mobile web 和 app 之間傳遞 – 即使是在 app 沒有被安裝的前提下,進而提升使用者轉換率和參與度。
評論
評論

此篇 原文 是 Branch Metrics 對開發者說明他們因應 iOS 9.2 所做的改變。Branch 的核心是一套可以產生 contextual deep links 的開發套件(SDK),讓開發者能將參數在 mobile web 和 app 之間傳遞 – 即使是在 app 沒有被安裝的前提下,進而提升使用者轉換率和參與度。更多資訊請參考:branch.io。作者 Will Lindemann 在 Branch Metrics1 擔任 Director of Growth、譯者 Anny Hsu2 是 Branch Metrics Ambassador。

自從 iOS 9.2 在上個月釋出後,代表 Apple 正式結束了以 URI Schemes 為基礎的重新導向流程。在過去七年中,以 URI Scheme 為基礎的重新導向流程一直都是 deep linking 的核心。而現在,Apple 決定以 Universal Links 作為未來的準則。

iOS 9.2 Universal Links

基本上,你花了這麼多心血導入的 URI Scheme-based deep linking 現在已經不被支援了。如果你對 deep linking 還算熟悉的話,以下這種 deep link 的形式是你再也無法使用的:imdb://title/tt3569230

在 iOS 9.2 中,URI Schemes 到底有了什麼改變?

傳統上,如果要使用 URI Scheme,你必須手動處理沒有安裝 app 時的情況。典型的流程是將 window.location 設定成你想要連結的 URI 路徑,以 JavaScript 嘗試開啟 app。

window.location = “imdb://title/tt3569230”; 

但是,這裡有個大家常常都會碰到的問題:當這個 app 沒有被安裝時,系統就會跳出「無法開啟頁面」的錯誤。這是 deep link 最大的痛點。在美好的 iOS 7 和 iOS 8 時期,這個問題是可以被繞過的,但是那段黃金時期已經過去了。

image00-5

所以,為了要避免這個問題,你必須在你的網頁上加入一段 JavaScript 的程式碼使它能在發生錯誤時重新導至 App Store。如此一來,使用者就不會看到錯誤視窗。

當 app 已被安裝時,系統會以這個形式問使用者是否想要開啟這個 app。你可以看到以下的例子正在嘗試開啟 Twitter app:

image02-2

而現在在 iOS 9 中的問題是,Apple 把「開啟 App」的機制從 JavaScript blocking modal 改成了 non-blocking modal。當你試著開啟 app 時,這個機制再也不會阻止 JavaScript 的執行,也就是說,在使用者能點擊「開啟 app」之前,預設重新導向(fallback redirect)至 App Store 的機制已經立即執行了。

這個影片是在 iOS 9.2 中,當 app 已被安裝時:

這意味著在 app 沒有被安裝的情況下,要順利的從 Safari 試著開啟 app 是不可能的了。由於這是個非常糟糕的使用者經驗,URI Schemes 從現在開始似乎已經沒有任何用處了。

那麼,我的 Branch Links 還能正常運作嗎?

在 iOS 9.2 中,唯一可見的不同是,除非你已經設定好 Universal Links,否則你的 app 不會在你點擊 branch link 後立即開啟。它將會 100% 的重導至 App Store – 即使你已經在手機上安裝了那個 app。所以,如果使用者已經安裝了你的 app,他們將會看到「開啟」的按鍵而不是「取得」。

請注意:Branch 的主要功能 – deep linking through install、傳遞 app 參數、所有依附的資訊及分析 – 是不會受影響的。

我應該做什麼呢?

別害怕!問題的反面總是有解決方案的。Apple 釋出了 Universal Links 來應付開啟已安裝 app 和預設重新導向至你選擇的路徑(行動版網頁, App Store, 或 DeepView)。Branch 把啟用 Universal Links 的步驟變得非常容易。你只需要將 ’bnc.lt’ 和你自訂的網域加進你的 app 中並在我們的 Dashboard 上勾選這個選項。

image03-2

這裡有更詳細的說明文件:https://dev.branch.io/recipes/branch_universal_links/ios/

如果你目前使用 URI Schemes 來處理 deep linking,可以參考這篇文章:Transitioning to Universal Links

我們強烈建議你花五分鐘來做這項更新,因為它能大大改善 Branch links routing 在 iOS 9.2 中和之後版本的表現。

iOS 9.2 更新了,Branch 接下來會怎麼應對呢?

我們必須假定這不是個意外,而是 Apple 真的要讓 URI Schemes 消失。

以下是一些 Branch 所作的改變:

  • /a/branch_key 連結中對 Universal Links 的支援
  • aliased link 中對 Universal Links 的支援
  • 針對 Universal Links 改善既有的分析機制
  • 驗證 Universal Links configuration 的簡單工具

為什麼我要使用 Branch 作為 Universal Links 的工具呢?

這裡有個簡單的示意圖:

how_branch_improves_universal_links

使用 Branch,你將可以得到所有基本的 Universal Link routing 以及獲得新用戶流程中的預設 deep linking 和 install attribution。這就是為什麼針對 mobile app 的成長,Branch 是你能使用的好工具。你可以閱讀我們的設置 Universal Links 指南 或 Universal Links 最佳實踐 以獲得更多資訊。

當然,如果你的 app 還沒有行動版網頁,只要簡單地勾選一個選項,Branch 也能提供你 apple-app-site-association 檔案以及 Universal Link 的科技。


  1. Branch Metrics 是一家位在加州 Palo Alto 的新創公司,提供免費的 deep-linked 產品,可用於內容分享、廣告、邀請、推薦獎勵機制和 email 行銷,並附有完整的分析機制。公司的核心為 mobile app growth,幫助 app 增加使用者數和參與度、改善黏著度,並提供更好的使用者經驗。
  2. Anny Hsu,University of California, Davis 讀 Computer Science 的大學生,目前正在 University College London 交換。因緣際會下成為了 Branch 在台北及倫敦的小尖兵,目前在倫敦的 startup scene 中打滾,也協助定期舉辦 Mobile Growth Meetup,邀請業界人士一起來探討時下最熱門的議題 – growth hacking。

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

精選熱門好工作

Brand Management

樂購蝦皮股份有限公司
臺北市.台灣

獎勵 NT$15,000

[TW] 客服專員

Deliveroo 戶戶送
臺北市.台灣

獎勵 NT$15,000

BD 商務開發

WeMo Scooter
臺北市.台灣

獎勵 NT$15,000

評論