客户端deeplink技术

一、 什么是deeplink?
Deeplink,简单讲,就是你在手机上点击一个链接之后,可以直接链接到app内部的某个页面,而不是app正常打开时显示的首页。不似web,一个链接就可以直接打开web的内页,app的内页打开,必须用到deeplink技术。

二. Deeplink技术详解
核心的技术就是:URL SCHEMES。不论是IOS还是Android。
APP1与APP2之间,在技术上,如何完成横向调用,通过下面这个逻辑关系图进行说明:
客户端deeplink技术_第1张图片
假如要从APP-F调用APP-T
1)APP-T要进行自定义scheme的配置(iOS是info文件,Android是activity),并进行参数处理的coding。
2)APP-F进行调用,首先判断设备是否安装APP-T。
3)如果未安装,则跳转到APP-T的web版应用(假设他提供web版)或者是跳转到AppStore等应用市场进行下载。
4)如果已安装,则调用APP-T配置好的URL SCHEME,直接打开APP-T的相关界面。

三. 简单介绍一下URL SCHEMES
URL,我们都很清楚,http://www.apple.com 就是个 URL,也叫它链接或网址;Schemes,表示的是一个 URL 中的一个位置——最初始的位置,即 ://之前的那段字符。比如 http://www.apple.com 这个网址的 Schemes 是 http。
我们可以像定位一个网页一样,用一种特殊的 URL 来定位一个应用甚至应用里某个具体的功能。而定位这个应用的,就应该这个应用的 URL 的 Schemes 部分,也就是开头儿那部分。但是需要注意的是应用的URL Schemes 并不唯一,也就是说一个应用可以“起多个名“,不同应用的URL Schemes也可能因为名字一样发生冲突。
iOS或Android系统级应用,有一些已经定义了URL Schemes,比如短信是 sms:、
通话是tel:、iBooks是ibooks:,在定义自己APP的URL Schemes的时候要避免跟系统应用名称一样。
与URL一样,URL Schemes也可以通过传参打开特定的APP界面。
URL:http://images.google.com/images?q=关键字
URL Schemes:weixin://dl/moments(打开微信朋友圈)
所以,这一段总结一下。
1) APP要想被其他APP直接打开,自身得支持,让自己具备被人打开的能力。(URL Schemes)
2) APP要想打开其他的APP,自身也得支持。(判断设备是否安装、各种跳转的处理)

四. 标准&生态
URL Schemes从技术虽然可以解决应用间跳转这个问题,但是,仍有诸多问题,以下列举几个
1) 跨平台,不同系统间的无缝链接
2) 数据传输标准
3) URL Schemes命名规范
4) 传参与解析标准

Deeplink从宏观角度,需要有业界统一标准与规范,才有可能形成一定的气候。目前一些巨头都推出自己的标准,在拓展自己的标准,有人用的标准才是真标准,这就带出了另一个概念——生态。在统一的标准下,只有当APP接入到一定的量级,形成一个生态,我们畅想的那种APP间无缝衔接的场景才会真正实现。

巨头的标准:
Facebook:App Links
Twitter:Card
Google:INDEXING

除了巨头以外,还有一些公司也在做一些API、SDK:DEEPLINK.ME、BRANCH METRICS、URX、QUIXEY,还有国内的“应用链“公司。也有一个这样的行业联盟:http://mobiledeeplinking.org/。国内比如bat也在布局这方面的应用。

五. 附一些常用APP的URL Schemes
微信:weixin://dl/scan 扫一扫weixin://dl/feedback 反馈weixin://dl/moments 朋友圈;weixin://dl/settings 设置weixin://dl/notifications 消息通知设置weixin://dl/chat 聊天设置;weixin://dl/general 通用设置weixin://dl/officialaccounts 公众号weixin://dl/games 游戏;weixin://dl/help 帮助weixin://dl/feedback 反馈weixin://dl/profile 个人信息weixin://dl/features 功能插件
腾讯微博:TencentWeibo://
淘宝:taobao://
支付宝:alipay://
微博:sinaweibo://
weico微博:weico://
QQ浏览器:mqqbrowser://
uc浏览器:ucbrowser://
海豚浏览器:dolphin://
搜狗浏览器:SogouMSE://
百度地图:baidumap://
Chrome:googlechrome://
优酷:youku://
京东:openapp.jdmoble://
人人:renren://
美团:imeituan://
1号店:wccbyihaodian://
我查查:wcc://
有道词典:ddictproapp://
点评:dianping://
微盘:sinavdisk://
豆瓣fm:doubanradio://
网易公开课:ntesopen://
名片全能王:camcard://
淘宝宝贝搜索:taobao://http://s.taobao.com/?q=[prompt]
淘宝店铺搜索:taobao://http://shopsearch.t

你可能感兴趣的:(移动,开发)