无码日本H肉黄动漫魔乳密剑贴_无码中文字幕在线三区_无码中文字幕视频一区二区三区_无码中文字幕人妻丝袜美腿_无码中文字幕加勒比高清_无码中文字幕A∨在线_日本久久久久久久久久加勒比

歡迎來(lái)到深圳市來(lái)科信科技有限公司網(wǎng)站!
您當(dāng)前的位置:深圳APP開發(fā) > 新聞資訊 > APP開發(fā)資訊 >

已閱讀

APP原生開發(fā)如何與H5進(jìn)行交互

來(lái)源:lexintech.com ?? ?? 發(fā)布時(shí)間:2019-05-17
 
目前,越來(lái)越多的APP開發(fā)會(huì)選擇原生與H5混合的Hybrid App即混合模式APP。H5頁(yè)面很多時(shí)候都需要與原生 app 進(jìn)行交互、溝通(運(yùn)行在 webview中),比如微信的 jssdk,通過 window.wx 對(duì)象調(diào)用一些原生 app 的功能。下面我們就來(lái)聊一聊原生 app 與 H5交互的原理。
原生 app 與 H5交互的原理
原生 app 與H5的交互,本質(zhì)上說,就是兩種調(diào)用:
app 調(diào)用 h5 的代碼
h5 調(diào)用 app 的代碼
 
1. app 調(diào)用 h5 的代碼
因?yàn)?app 是宿主,可以直接訪問 h5,所以這種調(diào)用比較簡(jiǎn)單,就是在 h5 中曝露一些全局對(duì)象(包括方法),然后在原生 app 中調(diào)用這些對(duì)象。

2. h5 調(diào)用 app 的代碼
因?yàn)?h5 不能直接訪問宿主 app,所以這種調(diào)用就相對(duì)復(fù)雜一點(diǎn)。
這種調(diào)用常用有兩種方式:
由 app 向 h5 注入一個(gè)全局js對(duì)象,然后在 h5 直接訪問這個(gè)對(duì)象,
由 h5 發(fā)起一個(gè)自定義協(xié)議請(qǐng)求,app 攔截這個(gè)請(qǐng)求后,再由 app 調(diào)用 h5 中的回調(diào)函數(shù)。
 
(1)由 app 向 h5 注入一個(gè)全局js對(duì)象
這種方式溝通機(jī)制簡(jiǎn)單,比較好理解,并且對(duì)于 h5 來(lái)說,沒有新的東西,所以是比較推薦的一種方式。但這種方式可能存在安全隱患,詳細(xì)查看 你不知道的 Android WebView 使用漏洞。
(2)由 h5 發(fā)起一個(gè)自定義協(xié)議請(qǐng)求
這種方式要稍復(fù)雜一點(diǎn),因?yàn)樾枰远x協(xié)議,這對(duì)很多前端開發(fā)者來(lái)說是比較新的東西。所以一般不推薦這種方式,可以作為第一種方式的補(bǔ)充。
大致需要以下幾個(gè)步驟:
由 app 自定義協(xié)議,
在 h5 定義好回調(diào)函數(shù),
由 h5 發(fā)起一個(gè)自定義協(xié)議請(qǐng)求,
app 攔截這個(gè)請(qǐng)求后,進(jìn)行相應(yīng)的操作,獲取返回值
由 app 調(diào)用 h5 中的回調(diào)函數(shù)。

以上就是原生 app 與 H5交互的原理。
 
APP開發(fā) 網(wǎng)站開發(fā) 產(chǎn)品設(shè)計(jì) 微信公眾號(hào) APP開發(fā)公司 用戶體驗(yàn) APP運(yùn)營(yíng) 微信小程序 產(chǎn)品經(jīng)理 網(wǎng)站設(shè)計(jì)
怀宁县| 乐昌市| 固安县| 塔河县| 平谷区| 余江县| 三都| 云林县| 确山县| 景德镇市| 肇源县| 邯郸县| 华宁县| 清流县| 迁西县| 吴堡县| 义马市| 通化县| 保德县| 大关县| 读书| 新田县| 长治市| 宁安市| 伊吾县| 衡阳市| 灵石县| 和田县| 仁化县| 呼玛县| 增城市| 泰和县| 永平县| 林西县| 庆阳市| 钟山县| 玉树县| 嘉禾县| 沙雅县| 洞头县| 泰安市|