熱門標簽
- 薩瑪達網(wǎng)站開發(fā)
- 庫爾楚園藝場做網(wǎng)站
- 梅里斯街道SEO
- 大觀樓網(wǎng)站開發(fā)公司
- 武當路網(wǎng)頁設(shè)計
- 廿里鋪網(wǎng)站建設(shè)制作
- 南臺高端網(wǎng)站建設(shè)
- 沿山網(wǎng)站建設(shè)
- 大澤山網(wǎng)絡(luò)營銷
- 樓底制作網(wǎng)頁
- 陶瓷概念設(shè)計網(wǎng)站
- 巴胡塔蘇木網(wǎng)頁制作
- 蠻漢網(wǎng)站開發(fā)公司
- 張佳坊網(wǎng)站建設(shè)公司
- 官廳網(wǎng)絡(luò)推廣
- 永豐路網(wǎng)站制作
- 常興高端網(wǎng)站建設(shè)
- 將官池網(wǎng)頁設(shè)計
- 航城做網(wǎng)站
- 桑洲網(wǎng)站設(shè)計制作
APP之間相互交互的原理-深圳APP開發(fā)
2017/12/30 11:19:00 來源:網(wǎng)站建設(shè)公司
內(nèi)容摘要:APP之間相互調(diào)用并且傳輸數(shù)據(jù)經(jīng)常會出現(xiàn)在實際需求中,我們應該對這樣的基本功能的實現(xiàn)原理有一個簡單的認識,這樣也方便工作中和程序們的溝通。
APP之間相互調(diào)用并且傳輸數(shù)據(jù)經(jīng)常會出現(xiàn)在實際需求中,我們應該對這樣的基本功能的實現(xiàn)原理有一個簡單的認識,這樣也方便工作中和程序們的溝通。
在產(chǎn)品設(shè)計中,經(jīng)常會遇到APP之間相互調(diào)用的功能設(shè)計,比如:
實現(xiàn)三方登錄。用QQ賬號快速登錄,如果安裝了QQ,那么應用會調(diào)用QQ的快速登錄界面,確認后,QQ會回調(diào)到原來的應用,同時將登錄的狀態(tài)信息返回給了原應用。
實現(xiàn)分享。選擇應用內(nèi)的可分享內(nèi)容,點擊分享,選擇朋友圈,于是微信的朋友圈被調(diào)起,并將這張圖片發(fā)了出去,并詢問你是返回原應用還是留在微信,如果你選擇了返回原應用,那么原來的應用又會被調(diào)起。
實現(xiàn)第三方支付。選擇應用內(nèi)要支付的內(nèi)容,選擇支付方式,一般會提供支付寶或微信,點擊后跳轉(zhuǎn)到支付寶或微信的付款頁面,完成支付后回到該應用。
實現(xiàn)手機網(wǎng)頁引導并打開應用功能。在推廣的H5頁面上,加入打開APP的按鈕,點擊后直接調(diào)起我們的APP,并且可以根據(jù)參數(shù)信息,在本地應用中還原用戶的瀏覽場景。
這些過程實現(xiàn)的原理就是利用URL Scheme。
什么是URL Scheme
URL Scheme就是一個可以讓app相互之間可以跳轉(zhuǎn)的協(xié)議。每個app的URL Scheme都是不一樣的,如果存在一樣的URL Scheme,那么系統(tǒng)就會響應先安裝那個app的URL Scheme,因為后安裝的app的URL Scheme被覆蓋掉了,是不能被調(diào)用的。
應用之間跳轉(zhuǎn)原理
一個應用能打開另一個應用的必然條件是,另一個應用必須配置一個scheme(協(xié)議),這樣應用程序才能根據(jù)協(xié)議找到需要打開的應用。
APP應用在系統(tǒng)中通過注冊Scheme的方式注冊自己,常見的Scheme就是http:,聲明了這個Scheme的應用就是聲稱自己支持http協(xié)議,能夠打開網(wǎng)頁了。還有一些常見的Scheme比如file:(傳輸文本),tel:(通話)等。
當然,APP應用不僅可以聲明這些標準的Scheme,也能聲明自己獨有的Scheme,比如微信的就是weixin:,QQ的是mqq:。
如果多個應用都聲明相同的Scheme呢?比如應用a、b、c都聲明自己能發(fā)短信,這時系統(tǒng)會有一定的策略來保證公平性,比如在Android系統(tǒng)中,就會彈出支持的應用列表,讓用戶選擇,iOS則替用戶選擇近打開過的支持應用。
應用之間傳遞數(shù)據(jù)
了解了應用之間調(diào)用的方法,那么后面數(shù)據(jù)傳遞就簡單了,只需要在Scheme后面攜帶上需要傳遞的信息作為參數(shù)就可以了。
比如,發(fā)起調(diào)用的是應用A,被調(diào)用的是應用B。yingyongB://action=sendmessage,message=”xxx”,后面的數(shù)據(jù)會帶到應用B中,但是應用B接到了信息不知道該信息是哪個應用發(fā)的,回信息給哪個應用。如何進行回調(diào)呢?發(fā)起調(diào)用的應用A在Scheme后面加一個參數(shù)backScheme=yingyongA:,這樣應用B就知道了需要返回信息給應用A,應用A和B這種自定義協(xié)議也可以叫做偽協(xié)議,只要雙方應用能識別處理就可以。
同樣,我們也可以實現(xiàn)跳轉(zhuǎn)到指定頁面的功能。想要跳轉(zhuǎn)到指定界面,必定是上一個app告訴下一個app(被跳轉(zhuǎn)的app)需要跳轉(zhuǎn)到哪個界面,而如何告訴它這里便涉及到兩個app的通信。兩個app之間的跳轉(zhuǎn)只需要配置一個Scheme,通過協(xié)議即可實現(xiàn)。
后上一段iOS測試代碼:
在被調(diào)用的APP中,就會監(jiān)聽方法,對進入的頁面進行判斷。
以上就是應用之間進行交互原理的簡單總結(jié),不同平臺會有自己一些獨特的應用交互方式,用Scheme這種方式可以減少一些跨平臺開發(fā)適配的成本,同時也有利于網(wǎng)頁和Native之間的相互調(diào)用。
http://ywxrmy.cn/jianzhanzhishi/6545.html APP之間相互交互的原理-深圳APP開發(fā)
特別聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:0755-85297058;郵箱:2295772445#qq.com (#替換成@)。