deeplink 探索

一、什么是deeplink芬骄?

Deeplink技術(shù)是操作系統(tǒng)本身就有的能力,發(fā)展歷史已經(jīng)有很多年了鹦聪。不同操作系統(tǒng)账阻、不同版本都有著不同版本的Deeplink技術(shù)。

目前移動(dòng)端 Deeplink 的說法有狹義和廣義之分泽本,分為 Deeplink 和 Deferred Deeplink淘太。

Deeplink:深度鏈接,指已安裝相應(yīng) App 的情況下规丽,把特定的參數(shù)通過 url 的形式傳遞給 App蒲牧,直接打開指定的內(nèi)部頁面,實(shí)現(xiàn)從鏈接直達(dá) App 內(nèi)部頁面的跳轉(zhuǎn)赌莺。

Deferred Deeplink:延遲深度鏈接冰抢,主要增加了一個(gè)是否已安裝相應(yīng) App 的判斷,用戶點(diǎn)擊鏈接時(shí)艘狭,如果未安裝 App挎扰,則引導(dǎo)用戶前往應(yīng)用市場(chǎng)翠订,下載完對(duì)應(yīng) App 后,首次打開該 App 時(shí)自動(dòng)跳轉(zhuǎn)進(jìn)入指定的內(nèi)部頁面遵倦。

一般常說的“Deeplink”其實(shí)就是這兩層含義相結(jié)合的簡(jiǎn)稱尽超。

想在 App 上開發(fā) Deeplink 是需要一些技術(shù)支持的,首先要明白梧躺,一個(gè) App 想要做到一鍵拉起 App似谁,必須先滿足兩個(gè)條件:

1,具備被其他 App 打開的能力(URL Scheme)

2掠哥,具備打開其他 App 的能力(各種設(shè)備判斷及跳轉(zhuǎn))

DeepLink用到的核心技術(shù)就是:URL Scheme棘脐。不論是IOS還是Android。

二龙致、URL Scheme

在iOS 9和安卓 6之前蛀缝,移動(dòng)端實(shí)現(xiàn)Deeplink的方式都是通過URL Scheme。URL目代,我們都很清楚屈梁,weixin://dl/moments就是一個(gè) URL,也叫它鏈接或網(wǎng)址榛了;Scheme在讶,表示的是一個(gè) URL 中最初始的位置,即 ://之前的那段字符霜大,例如這個(gè)URL中的Scheme就是weixin构哺。我們可以用Scheme 來定位對(duì)應(yīng)的App。例如淘寶的Scheme就是taobao战坤、支付寶的Scheme就是alipay曙强,新浪微博的Scheme是sinaweibo,易車的scheme是bitauto.yicheapp途茫。

被打開的App可以向操作系統(tǒng)提前注冊(cè)一個(gè) URL碟嘴,開頭的Scheme 用于從瀏覽器或其他App中拉起本App。移動(dòng)操作系統(tǒng)提供解析Scheme的能力囊卜,判斷Scheme屬于哪個(gè)App娜扇,喚起并將參數(shù)傳遞給App。此外通過指定的 URL 中其他字段(如path等)栅组,可以讓App在被喚起后直接打開某些特定頁面雀瓢,比如視頻詳情頁、商品詳情頁玉掸、活動(dòng)詳情頁等刃麸。

一般來說整段的URL Scheme是這種的形式:Scheme://host:port/path?query=xxxxxxx。其中path代表了想要跳轉(zhuǎn)的指定頁面排截,而query代表了想要傳遞的參數(shù)嫌蚤。

URL Scheme方式優(yōu)點(diǎn)是開發(fā)簡(jiǎn)單辐益,但弊端也很明顯:

1断傲,我們只能通過固定協(xié)議格式的鏈接來實(shí)現(xiàn)跳轉(zhuǎn)脱吱,而且打開H5頁面時(shí),會(huì)出現(xiàn)一個(gè)提示框:“是否打開XXX”认罩。用戶確認(rèn)了才會(huì)跳轉(zhuǎn)到App中箱蝠,增加了用戶流程

2,微信垦垂、QQ等把URL Scheme 打開App這種方式給禁了宦搬,但是它們都各自維護(hù)著一個(gè)白名單,如果Scheme不在該白名單內(nèi)劫拗,那么就不能在他們的App內(nèi)打開這個(gè)App(如果被封鎖了那么用戶只能通過右上角瀏覽器內(nèi)打開App)

3间校、 Universal link

Universal link 是蘋果公司在2015年推出的新一代Deeplink技術(shù),iOS9及以上的用戶可以通過點(diǎn)擊一個(gè)https 鏈接無縫的跳轉(zhuǎn)到一個(gè)App應(yīng)用內(nèi)的指定頁面页慷,不需要讓用戶點(diǎn)擊“是否打開xx”憔足。因?yàn)樯倭诉@個(gè)提示框,所以Universal link比URL Scheme方式體驗(yàn)更好酒繁,更重要的優(yōu)勢(shì)是目前微信和QQ已經(jīng)支持Universal link這種形式了滓彰,因此我們更推薦開發(fā)者在iOS端使用這種方式喚起App。

流程

App第一次啟動(dòng)州袒、更新版本后第一次啟動(dòng)揭绑,都會(huì)自動(dòng)下載 apple-app-site-association 配置文件

 1、下載 - App向工程里配置的域名發(fā)起Get請(qǐng)求拉取配置好存放在https服務(wù)器上的配置文件

 2郎哭、 注冊(cè) - App將配置文件注冊(cè)給手機(jī)系統(tǒng)

 3他匪、命中 - 由任意h5、或其他App發(fā)起的跳轉(zhuǎn)url夸研,如果命中了配置文件注冊(cè)過的通用鏈接诚纸,就打開App

 4、沒命中 - 直接跳轉(zhuǎn)url鏈接對(duì)應(yīng)的h5頁面

優(yōu)點(diǎn):

 1陈惰、唯一性: 它使用標(biāo)準(zhǔn)的 https 鏈接到你的web站點(diǎn)畦徘,所以它不會(huì)被其它的App所聲明。

 2抬闯、安全: 只有你自己才能上傳文件到你網(wǎng)站的根目錄井辆,所以你的網(wǎng)站和你的App之間的關(guān)聯(lián)是安全的。iOS會(huì)去你的網(wǎng)站上去下載你上傳上去的說明文件(這個(gè)說明文件聲明了你的App可以打開哪些類型的https鏈接)溶握。

 3杯缺、 可變: Universal Links本身是一個(gè) https 鏈接,當(dāng)用戶手機(jī)上沒有安裝你的App的時(shí)候也能夠工作睡榆。此時(shí)點(diǎn)擊鏈接會(huì)跳轉(zhuǎn)到safari中展示你網(wǎng)頁萍肆。

 4袍榆、簡(jiǎn)單: 一個(gè)URL鏈接,可以同時(shí)作用于網(wǎng)站和App。

 5塘揣、私有: 其它App可以在不需要知道你的App是否安裝了的情況下和你的App相互通信

微信目前已支持通過Universal link方式直接打開第三方App包雀,要求SDK版本大于等于1.8.6.1。用戶主要需要配置以下幾步才能使用正常功能亲铡,詳情配置步驟可以參照微信Universal link文檔:

(1)首先按照蘋果官方文檔才写,配置Universal link。微信對(duì)Universal Links配置有以下要求:

Universal Links必須支持https

Universal Links配置的paths不能帶query參數(shù)

微信使用Universal Links拉起第三方App時(shí)奖蔓,會(huì)在Universal Links末尾拼接路徑和參數(shù)赞草,因此App配置的paths必須加上通配符/*

(2)然后向微信注冊(cè)自己的應(yīng)用id和Universal Links。

四吆鹤、 App Link

2015年5月28日厨疙,Google I/O大會(huì)上正式推出Android M(android6.0 API級(jí)別23),其中新增了一個(gè)特性叫AppLinks疑务,它可以加強(qiáng)軟件間的關(guān)聯(lián)沾凄,可以把觸屏端的流量帶到移動(dòng)端來。用戶可以點(diǎn)擊一個(gè)H5鏈接時(shí)直接跳轉(zhuǎn)到 App 指定頁面暑始,而不會(huì)讓用戶點(diǎn)擊”是否打開xx“搭独。所以App Link比URL Scheme方式體驗(yàn)更好。

優(yōu)勢(shì)

1廊镜、安全且具體: Android App Links使用鏈接到您擁有的網(wǎng)站域的HTTP URL牙肝,因此沒有其他應(yīng)用可以使用您的鏈接。Android App Links的要求之一是您通過我們的網(wǎng)站關(guān)聯(lián)方法驗(yàn)證您所在域的所有權(quán)嗤朴。

2配椭、無縫的用戶體驗(yàn):由于Android App Links對(duì)您網(wǎng)站和應(yīng)用中的相同內(nèi)容使用單個(gè)HTTP URL,因此未安裝應(yīng)用程序的用戶只需訪問您的網(wǎng)站而不是應(yīng)用程序 - 沒有404雹姊,沒有錯(cuò)誤股缸。

3、Android Instant Apps支持:使用Android Instant Apps吱雏,您的用戶無需安裝即可運(yùn)行您的Android應(yīng)用敦姻。要為您的Android應(yīng)用添加即時(shí)應(yīng)用支持,請(qǐng)?jiān)O(shè)置Android應(yīng)用鏈接并訪問g.co/InstantApps歧杏。

4镰惦、通過Google搜索吸引用戶:用戶可以通過在移動(dòng)瀏覽器,Google搜索應(yīng)用犬绒,Android屏幕搜索或Google智能助理中點(diǎn)擊Google中的網(wǎng)址旺入,直接在應(yīng)用中打開特定內(nèi)容。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市茵瘾,隨后出現(xiàn)的幾起案子礼华,更是在濱河造成了極大的恐慌,老刑警劉巖拗秘,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件圣絮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡聘殖,警方通過查閱死者的電腦和手機(jī)晨雳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門行瑞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奸腺,“玉大人,你說我怎么就攤上這事血久⊥徽眨” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵氧吐,是天一觀的道長(zhǎng)讹蘑。 經(jīng)常有香客問我,道長(zhǎng)筑舅,這世上最難降的妖魔是什么座慰? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮翠拣,結(jié)果婚禮上版仔,老公的妹妹穿的比我還像新娘。我一直安慰自己误墓,他們只是感情好蛮粮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谜慌,像睡著了一般然想。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上欣范,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天变泄,我揣著相機(jī)與錄音,去河邊找鬼恼琼。 笑死妨蛹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的驳癌。 我是一名探鬼主播滑燃,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼颓鲜!你這毒婦竟也來了表窘?” 一聲冷哼從身側(cè)響起典予,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乐严,沒想到半個(gè)月后瘤袖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡昂验,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年捂敌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片既琴。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡占婉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出甫恩,到底是詐尸還是另有隱情逆济,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布磺箕,位于F島的核電站奖慌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏松靡。R本人自食惡果不足惜简僧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望雕欺。 院中可真熱鬧岛马,春花似錦、人聲如沸阅茶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脸哀。三九已至蹦浦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間撞蜂,已是汗流浹背盲镶。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝌诡,地道東北人溉贿。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像浦旱,于是被迫代替她去往敵國(guó)和親宇色。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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

  • 背景: 做產(chǎn)品和運(yùn)營(yíng)的小伙伴,對(duì)裂變營(yíng)銷情有獨(dú)鐘宣蠕,主要原因無非裂變營(yíng)銷有一些獨(dú)有的優(yōu)勢(shì): 成本低例隆,低預(yù)算就可以達(dá)到...
    子魚文業(yè)閱讀 626評(píng)論 0 0
  • 簡(jiǎn)書上所有的文章都是給自己看的,不是給你們看的抢蚀,文章可能有誤導(dǎo)镀层。 移動(dòng)搜索現(xiàn)狀: 整個(gè)搜索這件事情本身從邏輯來講分...
    徐薇薇閱讀 603評(píng)論 0 0
  • DeepLink 深度鏈接 什么是DeepLink DeepLink,又稱深度鏈接皿曲、調(diào)起鏈接唱逢,是一套鏈接服務(wù),用戶...
    雷根兒閱讀 12,126評(píng)論 0 1
  • 時(shí)間:2018-10-18 URL Scheme: zhihu://Universal Link: https:/...
    伍超波閱讀 16,694評(píng)論 4 3
  • 需求:沒有安裝APP的時(shí)候屋休,點(diǎn)擊鏈接進(jìn)入App Store去下載坞古,然后直接打開APP,如果在Wap是登錄的博投,那么需...
    愛笑的Mr張閱讀 1,114評(píng)論 0 0