H5網頁喚醒App有哪些做法

  • 2019 年 10 月 8 日
  • 筆記

在這個流量為王的互聯網背景下,移動端的H5頁面顯然在導流上承擔著重要作用,在H5頁面上,我們對引流的需求有兩種:

  • 一是引導已下載用戶從H5頁面喚醒App並直達指定場景
  • 二是引導未下載用戶從H5頁面下載App,首次打開App時直達指定場景

從運營角度來看,引導已下載用戶打開App,能提高用戶粘性和活躍度,而用戶在App內的產品體驗自然也比H5頁面要好;引導未下載用戶下載App並進入指定頁面,顯然能給用戶更好的產品初體驗。

這裡其實就解釋了我們做H5喚醒App並直達指定頁面的必要性。

涉及哪些要素?

喚醒App這件事,在不同平台要採用不同的方法,主要是這三個:

  • URL Scheme
  • Universal Link
  • Android App Links

1、URL Scheme

URL Scheme是iOS、Android都兼容的機制,只需要原生App開發時註冊Scheme即可,用戶點擊此類鏈接時,會自動喚醒App,並藉助URL Router機制跳轉到指定頁面。

  • <scheme name> : <hierarchical part> [ ? <query> ] [ # <fragment> ]
  • <scheme name>:是scheme的名稱,代表著協議名稱。
  • <hierarchical part>:它包含 authority 和 path。
  • <query>:可選項目,隔開或&隔開的鍵值對<key>=<value>
  • <fragmentg> :可選項目包,其它額外的標識資訊

儘管URL Scheme兼容性高,但卻存在許多限制,比如:

  • 中國各個廠商瀏覽器差異很大,當要被喚醒的目標App未安裝時,這個鏈接很容易出錯。
  • 當註冊有多個Scheme相同的時候,目前是沒有辦法區分的。
  • 不支援從其他App中的UIWebView中跳轉到目標App。
  • 被部分主流平台禁止,微信、微博、QQ瀏覽器、手機百度中都已經被禁止使用。

正是由於這些限制的存在,蘋果和Android都不約而同發布了自己的第二套方案:iOS的Universal Link、Android的App Links。

2、Universal Link

Universal Link是iOS9後蘋果推出的通用鏈接技術,能夠方便的通過一個https鏈接來打開App指定頁面,不需要額外的判斷,如果沒有安裝App,可以跳轉到自定義地址。

相對Scheme的優勢在於,Universal Link是一個Web Link,因此少了很多麻煩:

  • 當用戶已安裝該App時,不需要載入任何頁面,能夠立即喚醒App,用戶未安裝App,則跳去對應的web link(自定義頁面)。
  • Universal Links支援從其他App中的UIWebView中跳轉到目標app。
  • 提供Universal Link給別的App進行App間的交流,然而對方並不能夠用這個方法去檢測你的App是否被安裝,具有比較好的隱私性。
  • 絕大多數平台都支援Universal Link,微信7.0.5版本也解除了對Universal Link的限制,同時也能被搜索引擎索引。

3、App Links

Android M以上版本可以通過App Links,讓用戶在點擊一個鏈接時跳轉到App的指定頁面,前提是這個App已經安裝並經過驗證。App Links的最大的作用,就是可以避免從頁面喚醒App時出現的選擇瀏覽器選項框,前提是必須註冊相應的Scheme,就可以實現直接打開關聯的App。

實際上App Links和Universal Links差異不大,但相對來說有不同的限制:

  • App links在中國的支援還不夠,部分Android瀏覽器並不支援跳轉至App,而是直接在瀏覽器上打開對應頁面。
  • 系統詢問是否打開對應App時,假如用戶選擇「取消」並且選中了「記住此操作」,那麼用戶以後就無法再跳轉App。

幾個方案的缺陷

這幾種方式無論哪種都無法解決這幾個問題:

  • 當用戶未安裝目標App時,無法保留用戶停留的上下文,也就是說,用戶下載完App後,無法在首次打開App時還原指定頁面。
  • Web目前無法監聽App是否已安裝,因此這幾個方案都需要一些其他方法兼容喚醒App,或者跳轉下載頁面。

那麼怎樣實現用戶安裝App後進入指定頁面呢?

眾所周知,蘋果出於用戶隱私的保護,設置了名為沙盒的機制:應用只能訪問它聲明可以訪問的資源,但沙盒也阻礙了應用間合理的資訊共享。

但也不是完全沒辦法,比如使用模糊匹配,儘可能收集設備的特徵,將Web和App上的資訊點配合演算法做一個匹配是可以做到的,但準確率和成功率就取決於演算法本身。如果App本身業務需求不高,那麼低精度的方案也可以滿足,但如果業務上需要一個能做到一對一精準匹配的方案,那麼精準度不夠高顯然會影響業務的開展。

第三方服務

如果嫌精準度不夠高或者實現難度太大的話,可以交給專業的第三方去做,畢竟這幾項技術是基於系統平台的,Android 及 iOS 每個系統版本的迭代後,配置方式都會有新的變化,且Android機型眾多,瀏覽器眾多等也會導致出現兼容問題,開發者自行研發的話,資源配置以及系統更新後的維護成本是比較高的,還要考慮各種各樣的跳轉場景問題。

直接採用第三方SDK的好處就是,資源配置、兼容方面的適配這些事情都可以交給它們去做,畢竟這些供應商本身就是專業做這項服務的,它們提供的服務在穩定性和精準度方面也是經受過市場檢驗的,至少在精準匹配方面,有些已經能在邀請分享方面做到一對一匹配,集成SDK也花不了多少時間,十幾分鐘就可以搞定。

中國外提供這項技術的第三方服務商:

中國有:openinstall

國外有:Branch