韩国福利视频一区,日韩精品亚洲专区在线观看,国产精品13p,国产一区二区三区中文

企億推信息網
專注網絡推廣服務

APP之間相互交互的原理-深圳APP開發-沙漠風網站建設公司

  APP之間相互調用并且傳輸數據經常會出現在實際需求中,我們應該對這樣的基本功能的實現原理有一個簡單的認識,這樣也方便工作中和程序們的溝通。

  在產品設計中,經常會遇到APP之間相互調用的功能設計,比如:

  實現三方登錄。用QQ賬號快速登錄,如果安裝了QQ,那么應用會調用QQ的快速登錄界面,確認后,QQ會回調到原來的應用,同時將登錄的狀態信息返回給了原應用。

  實現分享。選擇應用內的可分享內容,點擊分享,選擇朋友圈,于是微信的朋友圈被調起,并將這張圖片發了出去,并詢問你是返回原應用還是留在微信,如果你選擇了返回原應用,那么原來的應用又會被調起。

  實現第三方支付。選擇應用內要支付的內容,選擇支付方式,一般會提供支付寶或微信,點擊后跳轉到支付寶或微信的付款頁面,完成支付后回到該應用。

  實現手機網頁引導并打開應用功能。在推廣的H5頁面上,加入打開APP的按鈕,點擊后直接調起我們的APP,并且可以根據參數信息,在本地應用中還原用戶的瀏覽場景。

APP之間相互交互的原理-深圳APP開發-沙漠風網站建設公司(圖1)網站建設公司" />

  這些過程實現的原理就是利用URLScheme。

  什么是URLScheme

  URLScheme就是一個可以讓app相互之間可以跳轉的協議。每個app的URLScheme都是不一樣的,如果存在一樣的URLScheme,那么系統就會響應先安裝那個app的URLScheme,因為后安裝的app的URLScheme被覆蓋掉了,是不能被調用的。

  應用之間跳轉原理

  一個應用能打開另一個應用的必然條件是,另一個應用必須配置一個scheme(協議),這樣應用程序才能根據協議找到需要打開的應用。

  APP應用在系統中通過注冊Scheme的方式注冊自己,常見的Scheme就是http:,聲明了這個Scheme的應用就是聲稱自己支持http協議,能夠打開網頁了。還有一些常見的Scheme比如file:(傳輸文本),tel:(通話)等。

  當然,APP應用不僅可以聲明這些標準的Scheme,也能聲明自己獨有的Scheme,比如微信的就是weixin:,QQ的是mqq:。

  如果多個應用都聲明相同的Scheme呢?比如應用a、b、c都聲明自己能發短信,這時系統會有一定的策略來保證公平性,比如在Android系統中,就會彈出支持的應用列表,讓用戶選擇,iOS則替用戶選擇近打開過的支持應用。

  應用之間傳遞數據

  了解了應用之間調用的方法,那么后面數據傳遞就簡單了,只需要在Scheme后面攜帶上需要傳遞的信息作為參數就可以了。

  比如,發起調用的是應用A,被調用的是應用B。yingyongB://action=sendmessage,message=”xxx”,后面的數據會帶到應用B中,但是應用B接到了信息不知道該信息是哪個應用發的,回信息給哪個應用。如何進行回調呢?發起調用的應用A在Scheme后面加一個參數backScheme=yingyongA:,這樣應用B就知道了需要返回信息給應用A,應用A和B這種自定義協議也可以叫做偽協議,只要雙方應用能識別處理就可以。

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

  后上一段iOS測試代碼:

  在被調用的APP中,就會監聽方法,對進入的頁面進行判斷。

  以上就是應用之間進行交互原理的簡單總結,不同平臺會有自己一些獨特的應用交互方式,用Scheme這種方式可以減少一些跨平臺開發適配的成本,同時也有利于網頁和Native之間的相互調用。

未經允許不得轉載:啟新網站SEO優化 » APP之間相互交互的原理-深圳APP開發-沙漠風網站建設公司
分享到: 更多 (0)
加載中~
主站蜘蛛池模板: 册亨县| 班戈县| 潍坊市| 澳门| 海淀区| 陵川县| 金沙县| 江陵县| 那曲县| 宁武县| 隆化县| 潮安县| 山东| 普陀区| 安远县| 繁昌县| 南华县| 门源| 玛纳斯县| 隆尧县| 通辽市| 阿尔山市| 玉田县| 房产| 咸阳市| 文成县| 巴林左旗| 乌苏市| 伊宁市| 开平市| 金坛市| 布拖县| 平湖市| 枣阳市| 花莲市| 深州市| 宁德市| 兰溪市| 涟水县| 宝清县| 巴林右旗|