成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章了解H5打開APP的諸多方案

開發(fā) 前端 Android
本文從介紹喚起APP的諸多方案入手,講述各個方案的優(yōu)缺,期望讀者能從全局的角度對H5喚起APP有一個系統(tǒng)的認識。

其實H5打開APP本來應該是一件很簡單的事,無非是在H5頁面上調(diào)用一個協(xié)議或者接口將APP打開嘛。但是因為技術方案的發(fā)展和某些流量APP的封鎖,喚起APP的方案就變得復雜了起來。本文從介紹喚起APP的諸多方案入手,講述各個方案的優(yōu)缺,期望讀者能從全局的角度對H5喚起APP有一個系統(tǒng)的認識。

1. 喚起APP的方案

如下圖,當前主要有三種打開APP的渠道:流量APP封裝渠道,原生的打開渠道以及一些奇技淫巧。

1.1 流量APP封裝渠道

微信、手Q和微博等流量入口為了保證流量不流失,對iOS和Android原生的喚起方案做了屏蔽和封裝。在這些APP中,使用原生喚起APP方案是無效的,只能用他們的方案或者位于白名單中的APP才能通過H5的喚起APP。

1.1.1 微信

微信最初喚起APP方案是WXJSBridge,后來變?yōu)榱薟X JS-SDK。這時候有人可能就要說了,你瞎說,我根本沒有看到JS-SDK上有關于喚起APP的相應接口。其實這些關于APP的接口都是有的,只不過沒有寫在文檔中。

要使用微信的喚起APP方案需要兩點:

  •  明確知道喚起APP的接口
  •  要喚起的APP本身就處于微信的白名單中

所以對于第三方APP,即使知道了接口的名字也不能用。

而JS-SDK和JSBridge的本質(zhì)實現(xiàn)都是一樣的,但是JS-SDK還要求使用者在自己的后臺全局緩存一個jsapi_ticket,如果是騰訊系單純想做喚起APP方面的邏輯的話,直接使用JSBridge無疑是個又快又好的做法。

1.1.2 手Q

手Q和微信一樣,也對喚起APP做了封裝,同樣又白名單的限制,所以也只有騰訊系的APP才能使用。

但是在微信中,喚起騰訊系APP使用schema是不行的,但是對于在手Q打開騰訊系APP,可以選擇使用schema而不是手Q的封裝方案MPP.

另外說一點,手Q的MPP喚起APP并傳遞參數(shù)的方法有點問題,文檔寫的也不完善,確實不如直接用schema喚起好用。

1.1.3 其他流量APP

主要是指微博,手機百度等APP,應該也是白名單的打開方式,平常用的不多,這里不做贅述。

2. 原生渠道

2.1 Schema

Schema是一種頁面內(nèi)跳轉(zhuǎn)協(xié)議,主要有以下幾部分組成[1]   

  1.  行為(應用的某個功能)   
  2.             |  
  3. scheme://[path][?query]  
  4.    |               |  
  5. 應用標識       功能需要的參數(shù) 

但是在Chrome25之后,iOS9以后,Android和iOS原生都不再支持這種協(xié)議,轉(zhuǎn)而轉(zhuǎn)變?yōu)樾碌姆桨窤pp Link和Universal Link。

對比起這種方案,Schema不能判斷出是否打開APP成功,也就不能針對沒有打開APP做一些處理(只能通過hack的手段,通過判斷頁面是否可見來達到這一點)。但是,Schema現(xiàn)在在除原生以外各大移動端瀏覽器上(如QQ瀏覽器,Chrome瀏覽器等)都有不錯的支持,而且使用schema不用客戶端做額外的處理,做一些簡單的邏輯還是可以用的。

2.2 Universal Link

Universal Link是iOS開發(fā)的一種無縫鏈接APP和Web的方式。當訪問一個鏈接時,如果安裝了APP,那么直接跳轉(zhuǎn)APP的相應頁面,如果沒有安裝APP,則跳轉(zhuǎn)相應的H5頁面。不過我們可以利用它的這種特性來喚起APP。

Universal Link有幾個缺陷:

  •  要喚起的APP要做相應的支持
  •  當前的頁面和喚起的域名一定要跨域才可以
  •  必須是Https

2.3 APP Link

APP Link的初衷和Universal Link一致,都是為了給用戶提供無縫的用戶體驗——如果安裝了APP則跳轉(zhuǎn)APP,沒有安裝APP就跳轉(zhuǎn)相應頁面,因此,我們也可以用它來做喚起APP。同樣的,它也需要APP做相應的設置。

不過APP Link是Android上提供的方案,它和Universal Link不同的是:不需要使用https協(xié)議

3. 其他渠道

3.1 應用寶渠道

應用寶渠道是應用寶借用自己騰訊系APP的能力,利用自己的權限來幫助其他APP在微信上喚起,換取其他推廣資源的行為。

不過這種方案已經(jīng)被微信給封殺了。所以當前,作為一個第三方APP,是沒有辦法在微信上喚起的。

4. 總結(jié)

本文泛泛的總結(jié)了市面上常見的H5喚起APP方案,羅列了它們的優(yōu)缺點。受限于騰訊系本身白名單的限制,沒有辦法給出一個***實踐,但是也希望能給大家對H5喚起APP提供一些幫助。

 

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2020-10-09 08:15:11

JsBridge

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平臺

2020-10-23 08:17:29

HTML5MathML語言

2023-07-11 15:34:02

2023-09-06 14:57:46

JavaScript編程語言

2020-12-08 08:09:49

SVG圖標Web

2021-05-18 08:30:42

JavaScript 前端JavaScript時

2021-06-24 09:05:08

JavaScript日期前端

2021-09-27 09:18:30

ListIterato接口方法

2021-01-26 23:46:32

JavaScript數(shù)據(jù)結(jié)構(gòu)前端

2021-03-05 18:04:15

JavaScript循環(huán)代碼

2021-03-09 14:04:01

JavaScriptCookie數(shù)據(jù)

2024-04-19 14:23:52

SwitchJavaScript開發(fā)

2023-07-28 07:14:13

2023-07-30 15:18:54

JavaScript屬性

2021-02-26 20:01:57

SVG濾鏡元素

2023-05-08 08:21:15

JavaNIO編程

2024-01-30 13:47:45

2020-11-10 10:48:10

JavaScript屬性對象
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜久久久久久久久久一区二区 | 亚洲精品乱码久久久久久9色 | 精品久久久av | 精品久久久久久久人人人人传媒 | 日韩精品在线网站 | 99re6在线视频精品免费 | 欧美精品一区二区三区在线 | 国产美女网站 | 国产综合视频 | 操操日| 日韩美女一区二区三区在线观看 | 久产久精国产品 | 精品国产一区久久 | 日日夜夜视频 | 欧洲尺码日本国产精品 | 久久精品视频一区二区 | 日本一区二区三区在线观看 | 国产精品免费高清 | 日韩一区二区三区精品 | 99久久婷婷国产综合精品电影 | 国产视频一区在线 | 日韩www | 国产一区二区中文字幕 | 欧美日韩综合 | 日本免费一区二区三区四区 | 欧美视频免费在线观看 | 天天搞天天操 | 免费一级片 | 精品在线播放 | 色香蕉在线 | 日本午夜一区二区三区 | 精品欧美一区二区中文字幕视频 | 国产美女福利在线观看 | 国产精品极品美女在线观看免费 | h视频在线观看免费 | 欧美国产日韩精品 | 久久大 | 欧美成人精品二区三区99精品 | 久久久成人网 | 天天干夜夜| 欧美一区免费在线观看 |