移動開發(fā)DeepLink簡介

ec1fcc63f6c1ed06e4c0402680fdb84b_b.jpg

轉(zhuǎn)載至:https://zhuanlan.zhihu.com/p/20694818缓熟,如侵權(quán)請聯(lián)系刪除

DeepLink是我一直想聊的話題梢卸,但是一直沒下筆走诞,因為Deeplink技術(shù)的線索太多,太亂低剔,太雜速梗,就像《費加羅的婚禮》和《瘋狂的石頭》一樣,多條線索交織前進(jìn)襟齿,有生態(tài)為目的巨無霸姻锁,有商業(yè)化為目的創(chuàng)業(yè)公司,有體驗為目的系統(tǒng)開發(fā)商猜欺。這些線索都是以深度鏈接(DeepLink)為基礎(chǔ)位隶,各打各的牌,各下各的棋开皿。

昨天再讀《國家為什么會失敗》涧黄,重溫國家的興榮可以簡化到2個維度來分析,我突然有點靈感赋荆,把DeepLink分為三層來介紹笋妥,希望能把DeepLink講清楚。

移動用戶86%的時間 (Flurry 2015數(shù)據(jù))都是在各個APP中窄潭。然而春宣,各個移動App就像大海中的一座座島嶼,雖然都生活在一個海洋中(Android系統(tǒng)或iOS)嫉你,但是他們之間通常是老死不相往來月帝。舉例來說,在微信應(yīng)用中幽污,用戶基本上就沒有機(jī)會打開第三方應(yīng)用APP嚷辅,只能通過Web/瀏覽器方式提供受限的互通。

真實的用戶需求是什么樣的呢距误? 例如簸搞,用戶在朋友圈中,看到關(guān)于一個飯店文章的時候准潭,用戶可以很方便打開大眾點評應(yīng)用看評論攘乒,直接打開美團(tuán)查看折扣券,直接打開叫車軟件前往該地點惋鹅。 在信息流看到推薦的商品则酝,能夠直接打開淘寶/京東App查看寶貝詳情。但是很不幸,目前這些應(yīng)用孤島之間都是通過Web進(jìn)行連接的沽讹,通過瀏覽器的WebView般卑,進(jìn)行內(nèi)容跳轉(zhuǎn),缺少原生App體驗爽雄。

那么問題來了蝠检,為什么各個應(yīng)用之間,為啥不能支持方便的自由穿梭呢挚瘟? 這里有2個原因叹谁,一個是經(jīng)濟(jì)原因,另外一個是技術(shù)原因乘盖。

經(jīng)濟(jì)原因比較簡單焰檩,目前各個應(yīng)用開發(fā)者的核心目標(biāo)是把用戶"滯留"在自己的應(yīng)用中,用戶離開(哪怕短期離開)被認(rèn)為是需要醫(yī)治的病订框。應(yīng)用做的越來越大析苫,越來越粘人。舉例來說穿扳,本來瀏覽器是一個系統(tǒng)工具軟件衩侥,但越來越多的瀏覽器軟件集成了更多的功能模塊,例如新聞矛物,小說茫死,視頻,音樂等履羞。大家都希望用戶在自己的APP中峦萎,沉溺的時間越長越好。

另外一個就是技術(shù)原因了吧雹,也是今天想聊的主題。所謂DeepLink(深度鏈接)就是支持在移動App自由跳轉(zhuǎn)的技術(shù)涂身,在PC的Web時代雄卷,這個問題簡化一個HTTP地址。到了移動時代蛤售,這個問題變得復(fù)雜起來丁鹉,移動操作系統(tǒng)有多家,各家處理應(yīng)用間跳轉(zhuǎn)的底層技術(shù)都不一樣悴能,調(diào)用方式揣钦、代碼都不同,支持的力度也不同漠酿。目前也沒有任何行業(yè)協(xié)會致力于解決這個問題冯凹,沒有像W3C組織解決Web的規(guī)范化。

1 總結(jié)篇

今天炒嘲,我從三個層次來介紹移動DeepLink相關(guān)技術(shù)和產(chǎn)品宇姚,包括系統(tǒng)基礎(chǔ)技術(shù)匈庭,巨頭產(chǎn)品,創(chuàng)新產(chǎn)品浑劳,圖示如下阱持。

image

簡單解釋一下:

1. 底層:系統(tǒng)級別對于DeepLink技術(shù)支持

a) 基礎(chǔ)的App調(diào)起技術(shù),通過代碼實現(xiàn)魔熏,步驟較為復(fù)雜

b) 增強(qiáng)的App調(diào)起技術(shù)(App Links)衷咽,通過HTTP(S)調(diào)用(Android 6.0和iOS9以上)

2. 中間層:移動巨無霸公司在應(yīng)用間調(diào)轉(zhuǎn)的技術(shù)和思路

在APP時代,搜索公司無法索引到APP內(nèi)部的數(shù)據(jù)蒜绽,因此搜索公司希望能夠建立Web和APP之間的關(guān)系的索引镶骗,因此它對于Deep Link是一個擁抱的態(tài)度。谷歌/百度/蘋果都提供技術(shù)和接口滓窍,讓APP開發(fā)者提交Web和APP直接的映射關(guān)系卖词,對于有映射的WEB結(jié)果,用戶有機(jī)會直接打開APP吏夯,提高用戶體驗此蜈。對于搜索廣告商而言,除了Web形式的落地頁之外噪生,他們也可以提交對應(yīng)的APP地址裆赵,例如谷歌App Indexing, 百度APP Link, 必應(yīng) App Linking。

3. 高層:基于DeepLink的創(chuàng)新機(jī)會

由于底層DeepLink技術(shù)的復(fù)雜性跺嗽,巨無霸企業(yè)的規(guī)范各自為政的背景下战授,DeepLink的應(yīng)用層面還是一個《列王的紛爭》的感覺,這種混沌的狀態(tài)也吸引了很多創(chuàng)業(yè)小公司桨嫁,利用DeepLink技術(shù)植兰,找到一個業(yè)務(wù)突破點。不少公司獲得較高的估值璃吧,例如URX(估值4000萬美元), DeepLink.me, BUTTON楣导,豌豆莢等。

第二部分 底層:基礎(chǔ)技術(shù)篇

這一部分介紹畜挨,基礎(chǔ)的系統(tǒng)調(diào)用筒繁,如何打開第三方應(yīng)用

第一類,基礎(chǔ)DeepLink調(diào)用方式:

打開APP發(fā)起者需要處理所有的容錯巴元,版本檢查毡咏,參數(shù)非標(biāo)準(zhǔn)傳遞等所有事項。下面是各個系統(tǒng)的DeepLink實現(xiàn)的具體技術(shù)

Android 系統(tǒng): 創(chuàng)建一個Intent逮刨,并且指定目標(biāo)應(yīng)用的包名(例如com.twitter等)和參數(shù)等呕缭,既可以打開目標(biāo)應(yīng)用。

iOS系統(tǒng):使用openURL("twitter://userid/1234"), canOpenURL

Windows Phone:使用UriMapper ,例如Uri:"/Music/song123"

JavaScript:使用Intent Schema,使用新窗口打開臊旭,但是很多瀏覽器/應(yīng)用并不支持這些JS的執(zhí)行落恼,或者有白名單列表。

第二類:增強(qiáng)的DeepLink調(diào)用篇(App Links/Universal Links, Since 2015)

Android 和 iOS其實是鼓勵各個應(yīng)用之間進(jìn)行交互和集成离熏,提高用戶體驗佳谦,為了就解決基礎(chǔ)調(diào)用方式的復(fù)雜性。2015年滋戳,Android 和iOS依次推出了方便開發(fā)者得App Links技術(shù)钻蔑,谷歌叫做App Links(Android 6.0),蘋果叫做Universal Links(iOS9.0)奸鸯,基本想法就是把打開應(yīng)用的地址咪笑,統(tǒng)一為使用HTTP(S)方式,系統(tǒng)通過攔截和解析HOST地址娄涩,與系統(tǒng)注冊的HOST進(jìn)行匹配窗怒,如果發(fā)現(xiàn)就可以直接打開APP。(注意蓄拣,谷歌的APP Links技術(shù)和App Indexing沒有半毛錢關(guān)系扬虚。)

簡單介紹一下Google App Links技術(shù),

image

以Android App Links為例(蘋果的Universal Links整個過程也很類似)

1. App 開發(fā)者使用AppLinks(Android 6.0)

a)在App Manifest中聲明App Links球恤,打開Intent Filter

b)在HOST服務(wù)器創(chuàng)建statements.json配置辜昵,包含打開包名和數(shù)字簽名

2.系統(tǒng)的調(diào)用DeepLink過程

系統(tǒng)如果發(fā)現(xiàn)http://HTTPS://HOST請求,系統(tǒng)將檢查App Links咽斧,如果發(fā)現(xiàn)注冊的APP堪置,就會直接打開應(yīng)用。支持的場景包括瀏覽器张惹,短信等很多系統(tǒng)內(nèi)置場景舀锨。

第三部分 中層:巨無霸的DeepLink情節(jié)

搜索結(jié)果或則社交網(wǎng)絡(luò)是用戶經(jīng)常使用的APP,百度搜索宛逗,F(xiàn)acebook坎匿,谷歌搜索,這些應(yīng)用也在吸收直接跳轉(zhuǎn)到第三方應(yīng)用的技術(shù)拧额,它有三個目的:

第一:獲取App的應(yīng)用內(nèi)數(shù)據(jù)碑诉。之前的結(jié)果都是Web結(jié)果彪腔,搜索引擎公司在App的事件里侥锦,無法為應(yīng)用內(nèi)數(shù)據(jù)做索引,百度/谷歌/必應(yīng)需要索引更多的應(yīng)用內(nèi)數(shù)據(jù)德挣。

第二:提升廣告主的轉(zhuǎn)化恭垦。通過直接打開/拉活A(yù)PP,有數(shù)據(jù)表明轉(zhuǎn)化率更高,廣告主更愿意為高轉(zhuǎn)化率的技術(shù)買單番挺。

第三唠帝,改進(jìn)移動的用戶體驗。例如玄柏,你在瀏覽器搜到一個地點襟衰,點擊之后直接調(diào)轉(zhuǎn)到打車軟件。

這里面有一個核心技術(shù)粪摘,就是如何建立Web和App之間的映射瀑晒。對這個行業(yè)來說,這是一個新問題徘意,谷歌/Facebook提供了2種方式苔悦。

方法一:App開發(fā)者提供這種映射關(guān)系 ,手工上載這種關(guān)系

方法二:App在Web站內(nèi)描述好打開App的方式椎咧,機(jī)器爬蟲可收集玖详。

目前來說,F(xiàn)acebook提出了一種標(biāo)準(zhǔn)叫做App Links勤讽,定義了一些Meta語言放在<HTML>的Meta部分蟋座。 App Links的相關(guān)標(biāo)準(zhǔn)定義,在http://AppLinks.org可以找到地技。這確實是一個行業(yè)不錯的標(biāo)準(zhǔn)蜈七,可以定義App和Web的映射,這樣搜索引擎公司建立索引將更加方便自然莫矗。豌豆莢推出的應(yīng)用內(nèi)搜索飒硅,也是需要App將這些信息提供給豌豆莢,用于索引作谚。

http://AppLinks.org的標(biāo)記代碼例子三娩,用于支持不同的OS。

image

下面是App Indexing 的一些基本流程

image

行業(yè)的幾個相關(guān)的技術(shù)妹懒,雖然名稱不同雀监,但都是一個事情:

1. Facebook : App Links(2014),http://AppLinks.org

2. 谷歌:App Indexing(2014,Android 4.0):

3.Quixey: 網(wǎng)站的根目錄下面AppURL.JSON

4. 百度App Link : AppLink.baidu.com; 搜索場景眨唬, 面向廣告主或有Web站的APP開發(fā)者会前。 WEB站中嵌入了與APP之間的映射關(guān)系。

5. Bing App Linking:類似谷歌的App Indexing匾竿,Bing可以在搜索結(jié)果中直接打開APP的過程瓦宜,主要用于一些電商產(chǎn)品的推廣。

6. 豌豆莢 In-App Search:應(yīng)用內(nèi)搜索岭妖,比較類似谷歌App Indexing

第四部分 創(chuàng)新層:DeepLink 創(chuàng)新產(chǎn)品篇

在中層临庇,大公司都定義了自己的DeepLink技術(shù)標(biāo)準(zhǔn)反璃,利用自己巨無霸的地位,自己索引Web和App映射假夺,支持巨無霸APP中打開第三方應(yīng)用淮蜈。那么對于其他的大大小小應(yīng)用,非巨無霸應(yīng)用已卷,如何打開其它應(yīng)用呢梧田?

我們來看看需求,一些小應(yīng)用需要集成一些第三App體驗侧蘸,例如一個訂餐軟件集成一個打車軟件的App柿扣,一個美食App在后面對接一個訂餐App,或折扣券App闺魏。為了解決這個問題未状,通常有兩個技術(shù)問題要解決。

1. 調(diào)用方App:需要簡化調(diào)用的過程(容錯析桥,參數(shù)傳遞司草,標(biāo)準(zhǔn)化等)

2. 被調(diào)起方App:需要支持DeepLink,并且無縫與調(diào)起方聯(lián)系起來

有問題泡仗,就會有創(chuàng)新埋虹。前幾年出現(xiàn)不少創(chuàng)新公司,解決這些問題娩怎,并積極開發(fā)DeepLink的商業(yè)機(jī)會搔课。總結(jié)了一下截亦,這些公司大概提供了兩類服務(wù):

1. App的某些Intent場景下爬泥,適時引入第三方App,類商業(yè)化平臺例如有個App軟件需要對接打車服務(wù)崩瓤,那么廣告平臺可以選擇滴滴或者是神州的App打開袍啡。http://DeepLink.me公司推出了移動端的AdWords,有雄心壯志把所有的App都接入它的廣告平臺却桶。

2. 降低DeepLink的集成門檻境输,方便的支持跨平臺,統(tǒng)計等

簡單介紹一下市面上一些DeepLink的創(chuàng)業(yè)公司/項目吧颖系。

1. Bitly:短鏈接服務(wù)嗅剖,提供SDK,可以非常方便調(diào)用第三方APP

2. 騰訊應(yīng)用直達(dá)廣告:支持應(yīng)用的拉活嘁扼,在蘑菇街有Show Case信粮,提高30%的CPA

3. AppsFlyer:提供SDK服務(wù),降低DeepLink集成門檻偷拔,支持強(qiáng)大統(tǒng)計分析蒋院。

4. http://DeepLink.me:提供SDK服務(wù),也推出AdWords產(chǎn)品莲绰,App推廣可以購買相關(guān)的Intent欺旧,通過DeepLink進(jìn)行倒流。

5. URX:提供場景化的第三方應(yīng)用打開蛤签,也希望通過廣告模式發(fā)展

image

最后總結(jié)一下DeepLink的發(fā)展辞友,在Android6.0和iOS9.0之前,系統(tǒng)對于DeepLink的技術(shù)支持有限震肮,使用起來比較復(fù)雜称龙,業(yè)務(wù)的模式也比較薄弱,一直都沒有發(fā)展起來戳晌。隨著Google App Links和 Apple Universal Links的發(fā)展鲫尊,越來越多的App可以參考這兩個標(biāo)準(zhǔn),支持從其它應(yīng)用中被喚起沦偎。由于商業(yè)原因的限制疫向,直接調(diào)轉(zhuǎn)到第三方應(yīng)用的場景還有限,因此雖然技術(shù)很美好和強(qiáng)大豪嚎,但是現(xiàn)實卻很骨感搔驼,應(yīng)用之間的互聯(lián)互通還是一個商業(yè)禁忌之地。

終于羅嗦完了侈询,本文相關(guān)技術(shù)名詞較多舌涨,這里有個總結(jié),方便大家查閱扔字。

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末囊嘉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子革为,更是在濱河造成了極大的恐慌哗伯,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件篷角,死亡現(xiàn)場離奇詭異焊刹,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)恳蹲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門虐块,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嘉蕾,你說我怎么就攤上這事贺奠。” “怎么了错忱?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵儡率,是天一觀的道長挂据。 經(jīng)常有香客問我,道長儿普,這世上最難降的妖魔是什么崎逃? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮眉孩,結(jié)果婚禮上个绍,老公的妹妹穿的比我還像新娘。我一直安慰自己浪汪,他們只是感情好巴柿,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著死遭,像睡著了一般广恢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上呀潭,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天袁波,我揣著相機(jī)與錄音,去河邊找鬼蜗侈。 笑死篷牌,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的踏幻。 我是一名探鬼主播枷颊,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼该面!你這毒婦竟也來了夭苗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤隔缀,失蹤者是張志新(化名)和其女友劉穎题造,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猾瘸,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡界赔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了牵触。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淮悼。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖揽思,靈堂內(nèi)的尸體忽然破棺而出杆故,到底是詐尸還是另有隱情久锥,我是刑警寧澤陨享,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站龄砰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一酒来、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧癌刽,春花似錦、人聲如沸尝丐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爹袁。三九已至远荠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間失息,已是汗流浹背譬淳。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留盹兢,地道東北人邻梆。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像绎秒,于是被迫代替她去往敵國和親浦妄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

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