男人最爱成人网,日本免费久久,欧美韩国一区二区,韩国三级一区

企億推信息網(wǎng)
專注網(wǎng)絡(luò)推廣服務(wù)

APP之間相互交互的原理-深圳APP開(kāi)發(fā)-沙漠風(fēng)網(wǎng)站建設(shè)公司

  APP之間相互調(diào)用并且傳輸數(shù)據(jù)經(jīng)常會(huì)出現(xiàn)在實(shí)際需求中,我們應(yīng)該對(duì)這樣的基本功能的實(shí)現(xiàn)原理有一個(gè)簡(jiǎn)單的認(rèn)識(shí),這樣也方便工作中和程序們的溝通。

  在產(chǎn)品設(shè)計(jì)中,經(jīng)常會(huì)遇到APP之間相互調(diào)用的功能設(shè)計(jì),比如:

  實(shí)現(xiàn)三方登錄。用QQ賬號(hào)快速登錄,如果安裝了QQ,那么應(yīng)用會(huì)調(diào)用QQ的快速登錄界面,確認(rèn)后,QQ會(huì)回調(diào)到原來(lái)的應(yīng)用,同時(shí)將登錄的狀態(tài)信息返回給了原應(yīng)用。

  實(shí)現(xiàn)分享。選擇應(yīng)用內(nèi)的可分享內(nèi)容,點(diǎn)擊分享,選擇朋友圈,于是微信的朋友圈被調(diào)起,并將這張圖片發(fā)了出去,并詢問(wèn)你是返回原應(yīng)用還是留在微信,如果你選擇了返回原應(yīng)用,那么原來(lái)的應(yīng)用又會(huì)被調(diào)起。

  實(shí)現(xiàn)第三方支付。選擇應(yīng)用內(nèi)要支付的內(nèi)容,選擇支付方式,一般會(huì)提供支付寶或微信,點(diǎn)擊后跳轉(zhuǎn)到支付寶或微信的付款頁(yè)面,完成支付后回到該應(yīng)用。

  實(shí)現(xiàn)手機(jī)網(wǎng)頁(yè)引導(dǎo)并打開(kāi)應(yīng)用功能。在推廣的H5頁(yè)面上,加入打開(kāi)APP的按鈕,點(diǎn)擊后直接調(diào)起我們的APP,并且可以根據(jù)參數(shù)信息,在本地應(yīng)用中還原用戶的瀏覽場(chǎng)景。

APP之間相互交互的原理-深圳APP開(kāi)發(fā)-沙漠風(fēng)網(wǎng)站建設(shè)公司(圖1)網(wǎng)站建設(shè)公司" />

  這些過(guò)程實(shí)現(xiàn)的原理就是利用URLScheme。

  什么是URLScheme

  URLScheme就是一個(gè)可以讓app相互之間可以跳轉(zhuǎn)的協(xié)議。每個(gè)app的URLScheme都是不一樣的,如果存在一樣的URLScheme,那么系統(tǒng)就會(huì)響應(yīng)先安裝那個(gè)app的URLScheme,因?yàn)楹蟀惭b的app的URLScheme被覆蓋掉了,是不能被調(diào)用的。

  應(yīng)用之間跳轉(zhuǎn)原理

  一個(gè)應(yīng)用能打開(kāi)另一個(gè)應(yīng)用的必然條件是,另一個(gè)應(yīng)用必須配置一個(gè)scheme(協(xié)議),這樣應(yīng)用程序才能根據(jù)協(xié)議找到需要打開(kāi)的應(yīng)用。

  APP應(yīng)用在系統(tǒng)中通過(guò)注冊(cè)Scheme的方式注冊(cè)自己,常見(jiàn)的Scheme就是http:,聲明了這個(gè)Scheme的應(yīng)用就是聲稱自己支持http協(xié)議,能夠打開(kāi)網(wǎng)頁(yè)了。還有一些常見(jiàn)的Scheme比如file:(傳輸文本),tel:(通話)等。

  當(dāng)然,APP應(yīng)用不僅可以聲明這些標(biāo)準(zhǔn)的Scheme,也能聲明自己獨(dú)有的Scheme,比如微信的就是weixin:,QQ的是mqq:。

  如果多個(gè)應(yīng)用都聲明相同的Scheme呢?比如應(yīng)用a、b、c都聲明自己能發(fā)短信,這時(shí)系統(tǒng)會(huì)有一定的策略來(lái)保證公平性,比如在Android系統(tǒng)中,就會(huì)彈出支持的應(yīng)用列表,讓用戶選擇,iOS則替用戶選擇近打開(kāi)過(guò)的支持應(yīng)用。

  應(yīng)用之間傳遞數(shù)據(jù)

  了解了應(yīng)用之間調(diào)用的方法,那么后面數(shù)據(jù)傳遞就簡(jiǎn)單了,只需要在Scheme后面攜帶上需要傳遞的信息作為參數(shù)就可以了。

  比如,發(fā)起調(diào)用的是應(yīng)用A,被調(diào)用的是應(yīng)用B。yingyongB://action=sendmessage,message=”xxx”,后面的數(shù)據(jù)會(huì)帶到應(yīng)用B中,但是應(yīng)用B接到了信息不知道該信息是哪個(gè)應(yīng)用發(fā)的,回信息給哪個(gè)應(yīng)用。如何進(jìn)行回調(diào)呢?發(fā)起調(diào)用的應(yīng)用A在Scheme后面加一個(gè)參數(shù)backScheme=yingyongA:,這樣應(yīng)用B就知道了需要返回信息給應(yīng)用A,應(yīng)用A和B這種自定義協(xié)議也可以叫做偽協(xié)議,只要雙方應(yīng)用能識(shí)別處理就可以。

  同樣,我們也可以實(shí)現(xiàn)跳轉(zhuǎn)到指定頁(yè)面的功能。想要跳轉(zhuǎn)到指定界面,必定是上一個(gè)app告訴下一個(gè)app(被跳轉(zhuǎn)的app)需要跳轉(zhuǎn)到哪個(gè)界面,而如何告訴它這里便涉及到兩個(gè)app的通信。兩個(gè)app之間的跳轉(zhuǎn)只需要配置一個(gè)Scheme,通過(guò)協(xié)議即可實(shí)現(xiàn)。

  后上一段iOS測(cè)試代碼:

  在被調(diào)用的APP中,就會(huì)監(jiān)聽(tīng)方法,對(duì)進(jìn)入的頁(yè)面進(jìn)行判斷。

  以上就是應(yīng)用之間進(jìn)行交互原理的簡(jiǎn)單總結(jié),不同平臺(tái)會(huì)有自己一些獨(dú)特的應(yīng)用交互方式,用Scheme這種方式可以減少一些跨平臺(tái)開(kāi)發(fā)適配的成本,同時(shí)也有利于網(wǎng)頁(yè)和Native之間的相互調(diào)用。

未經(jīng)允許不得轉(zhuǎn)載:啟新網(wǎng)站SEO優(yōu)化 » APP之間相互交互的原理-深圳APP開(kāi)發(fā)-沙漠風(fēng)網(wǎng)站建設(shè)公司
分享到: 更多 (0)
加載中~
主站蜘蛛池模板: 普安县| 增城市| 视频| 呼和浩特市| 固镇县| 陇川县| 金坛市| 腾冲县| 贵南县| 黄陵县| 府谷县| 南宁市| 仪征市| 泰来县| 茶陵县| 偃师市| 迁西县| 环江| 横峰县| 东乡县| 龙胜| 龙口市| 曲水县| 岚皋县| 丰台区| 五莲县| 平安县| 扎兰屯市| 三亚市| 莎车县| 鄯善县| 马公市| 怀来县| 洛浦县| 祁阳县| 华容县| 浏阳市| 满城县| 泾阳县| 乌鲁木齐县| 蓝山县|