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