APP之間相互調(diào)用的功能

在產(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ā)了出去卫玖,并詢問你是返回原應(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)并打開應(yīng)用功能税肪。在推廣的H5頁(yè)面上,加入打開APP的按鈕榜田,點(diǎn)擊后直接調(diào)起我們的APP益兄,并且可以根據(jù)參數(shù)信息,在本地應(yīng)用中還原用戶的瀏覽場(chǎng)景串慰。

這些過程實(shí)現(xiàn)的原理就是利用URL Scheme偏塞。

什么是URL Scheme

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

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

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

APP應(yīng)用在系統(tǒng)中通過注冊(cè)Scheme的方式注冊(cè)自己,常見的Scheme就是 http:你画,聲明了這個(gè)Scheme的應(yīng)用就是聲稱自己支持http協(xié)議抵碟,能夠打開網(wǎng)頁(yè)了。還有一些常見的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則替用戶選擇近打開過的支持應(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质蕉,通過協(xié)議即可實(shí)現(xiàn)势篡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市模暗,隨后出現(xiàn)的幾起案子禁悠,更是在濱河造成了極大的恐慌,老刑警劉巖汰蓉,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绷蹲,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)祝钢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門比规,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拦英,你說(shuō)我怎么就攤上這事蜒什。” “怎么了疤估?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵灾常,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我铃拇,道長(zhǎng)钞瀑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任慷荔,我火速辦了婚禮雕什,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘显晶。我一直安慰自己贷岸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布磷雇。 她就那樣靜靜地躺著偿警,像睡著了一般。 火紅的嫁衣襯著肌膚如雪唯笙。 梳的紋絲不亂的頭發(fā)上螟蒸,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音崩掘,去河邊找鬼尿庐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛呢堰,可吹牛的內(nèi)容都是我干的抄瑟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼枉疼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼皮假!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起骂维,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤惹资,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后航闺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褪测,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡猴誊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侮措。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懈叹。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖分扎,靈堂內(nèi)的尸體忽然破棺而出澄成,到底是詐尸還是另有隱情,我是刑警寧澤畏吓,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布墨状,位于F島的核電站,受9級(jí)特大地震影響菲饼,放射性物質(zhì)發(fā)生泄漏肾砂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一宏悦、第九天 我趴在偏房一處隱蔽的房頂上張望通今。 院中可真熱鬧,春花似錦肛根、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至掺喻,卻和暖如春芭届,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背感耙。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工褂乍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人即硼。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓逃片,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親只酥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子褥实,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,756評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)裂允,斷路器损离,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • 應(yīng)用間相互跳轉(zhuǎn)簡(jiǎn)介 在iOS開發(fā)的過程中,我們經(jīng)常會(huì)遇到需要從一個(gè)應(yīng)用程序A跳轉(zhuǎn)到另一個(gè)應(yīng)用程序B的場(chǎng)景绝编。這就需要...
    優(yōu)雅地小男子閱讀 963評(píng)論 0 0
  • 確認(rèn)偏誤 確認(rèn)偏誤是說(shuō)我們過濾掉與我們的現(xiàn)有觀點(diǎn)相矛盾的新信息僻澎。舉個(gè)例子 董事會(huì)決定采取一個(gè)新戰(zhàn)略貌踏,于是預(yù)示這一戰(zhàn)...
    鴨梨山大哎閱讀 477評(píng)論 0 2
  • 全民雙十一終于結(jié)束了。我對(duì)淘寶的熱情反而越來(lái)越冷漠窟勃,除了給家里買了一些日常用品祖乳,別的也沒有消費(fèi)。在北京還沒有買房拳恋,...
    running_girl閱讀 355評(píng)論 0 1