您好,登錄后才能下訂單哦!
這篇文章主要講解了“H5打開APP的方案有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“H5打開APP的方案有哪些”吧!
1. 喚起APP的方案
如下圖,當前主要有三種打開APP的渠道:流量APP封裝渠道,原生的打開渠道以及一些奇技淫巧。
1.1 流量APP封裝渠道
微信、手Q和微博等流量入口為了保證流量不流失,對iOS和Android原生的喚起方案做了屏蔽和封裝。在這些APP中,使用原生喚起APP方案是無效的,只能用他們的方案或者位于白名單中的APP才能通過H5的喚起APP。
1.1.1 微信
微信最初喚起APP方案是WXJSBridge,后來變為了WX JS-SDK。這時候有人可能就要說了,你瞎說,我根本沒有看到JS-SDK上有關于喚起APP的相應接口。其實這些關于APP的接口都是有的,只不過沒有寫在文檔中。
要使用微信的喚起APP方案需要兩點:
明確知道喚起APP的接口
要喚起的APP本身就處于微信的白名單中
所以對于第三方APP,即使知道了接口的名字也不能用。
而JS-SDK和JSBridge的本質實現都是一樣的,但是JS-SDK還要求使用者在自己的后臺全局緩存一個jsapi_ticket,如果是騰訊系單純想做喚起APP方面的邏輯的話,直接使用JSBridge無疑是個又快又好的做法。
1.1.2 手Q
手Q和微信一樣,也對喚起APP做了封裝,同樣又白名單的限制,所以也只有騰訊系的APP才能使用。
但是在微信中,喚起騰訊系APP使用schema是不行的,但是對于在手Q打開騰訊系APP,可以選擇使用schema而不是手Q的封裝方案MPP.
另外說一點,手Q的MPP喚起APP并傳遞參數的方法有點問題,文檔寫的也不完善,確實不如直接用schema喚起好用。
1.1.3 其他流量APP
主要是指微博,手機百度等APP,應該也是白名單的打開方式,平常用的不多,這里不做贅述。
2. 原生渠道
2.1 Schema
Schema是一種頁面內跳轉協議,主要有以下幾部分組成[1]
行為(應用的某個功能) | scheme://[path][?query] | | 應用標識 功能需要的參數
但是在Chrome25之后,iOS9以后,Android和iOS原生都不再支持這種協議,轉而轉變為新的方案App Link和Universal Link。
對比起這種方案,Schema不能判斷出是否打開APP成功,也就不能針對沒有打開APP做一些處理(只能通過hack的手段,通過判斷頁面是否可見來達到這一點)。但是,Schema現在在除原生以外各大移動端瀏覽器上(如QQ瀏覽器,Chrome瀏覽器等)都有不錯的支持,而且使用schema不用客戶端做額外的處理,做一些簡單的邏輯還是可以用的。
2.2 Universal Link
Universal Link是iOS開發的一種無縫鏈接APP和Web的方式。當訪問一個鏈接時,如果安裝了APP,那么直接跳轉APP的相應頁面,如果沒有安裝APP,則跳轉相應的H5頁面。不過我們可以利用它的這種特性來喚起APP。
Universal Link有幾個缺陷:
要喚起的APP要做相應的支持
當前的頁面和喚起的域名一定要跨域才可以
必須是Https
2.3 APP Link
APP Link的初衷和Universal Link一致,都是為了給用戶提供無縫的用戶體驗——如果安裝了APP則跳轉APP,沒有安裝APP就跳轉相應頁面,因此,我們也可以用它來做喚起APP。同樣的,它也需要APP做相應的設置。
不過APP Link是Android上提供的方案,它和Universal Link不同的是:不需要使用https協議
3. 其他渠道
3.1 應用寶渠道
應用寶渠道是應用寶借用自己騰訊系APP的能力,利用自己的權限來幫助其他APP在微信上喚起,換取其他推廣資源的行為。
不過這種方案已經被微信給封殺了。所以當前,作為一個第三方APP,是沒有辦法在微信上喚起的。
感謝各位的閱讀,以上就是“H5打開APP的方案有哪些”的內容了,經過本文的學習后,相信大家對H5打開APP的方案有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。