不同操作系统的Deeplink技术 deeplink是什么

先说一个日常场景帮大家理解 。最近双十一、双十二 , 不知道大家有没有被亲友们发的某宝、某东、或拼夕夕的各类信息轮番轰炸?小编的亲友群、闺蜜群里常年有这类链接挂着 , 小红薯的笔记分享 , 某宝的化妆品、衣服链接分享等等 , 这一个个的分享链接织成一张张网 , 真可谓是增加亲友亲密度 , 快速获取优质好物的利器 。
这背后有个特别容易忽视却又极其重要的知识点 。比如你在社交媒体上分享给翠花一个某App上的精选好店 , 翠花想要查看有几种操作方式:
【不同操作系统的Deeplink技术 deeplink是什么】 如果翠花已经安装了该App , 那她只要点开链接就可以跳转到App;
如果翠花没有安装相关App , 那就会跳转到应用市场指引安装
类型场景还有其他可能性:
短信 , 比如某宝上新发给翠花的短信 , 翠花可以点击短信链接打开App
短信 , 比如翠花收到领英好友申请 , 她就需要通过短信打开浏览器 , 然后通过浏览器跳转指定页面
通过微信中h5页面 , 在微信中打开App(这个需要到微信开放平台做配置) 。
以上场景中的知识点:
在浏览器或者短信中唤起App , 如果安装了就能唤起 , 否则引导下载 。对于Android而言 , 这里主要牵扯的技术就是Deeplink , 也可以简单看成scheme 。
其实 , AppLink就是特殊的Deeplink , 只不过它多了一种类似于验证机制 , 如果验证通过 , 就设置默认打开 , 如果验证不过 , 则退化为Deeplink , 如果单从APP端来看 , 区别主要在Manifest文件中的android:autoVerify=”true” 。
还有在微信中 , 也可以作出这样操作 。如果用户已经安装App , 点击跳转App则会通过应用宝 , 打开该应用并且跳转到相应的页面 。这种也是一种AppLink 。
所以究竟什么是Deeplink?
总结来说 , Deeplink , 又叫深度链接技术 , 是指在App/短信/广告里点击链接 , 能直接跳转到目标App具体位置的技术 , 深度链接打破了网站与App间的壁垒 , 成为实现网站与App相互跳转的桥梁 。开发者不仅可以通过Deeplink实现网站到App互相跳转 , 也可以实现从多个平台(QQ、微信、微博、Twitter、Facebook、短信、各大浏览器等)到App内指定页的跳转 。例如用户将电商App内的一个详情页链接通过短信形式发送给其他亲友 , 用户点击短信内的链接就能打开对应的H5页面 , 然后直接跳转到电商App内的指定详情页 , 而不是App首页 。如果用户并未安装App , 那么就会跳转到App下载页面 。等用户安装打开App后仍然能跳转到指定页面 。Deeplink技术不仅可以实现场景快速还原 , 缩短用户使用路径 , 更重要的是能够用于App拉新推广场景 , 降低用户流失率 。

不同操作系统的Deeplink技术 deeplink是什么

文章插图

不同操作系统的Deeplink技术
Deeplink技术是操作系统本身就有的能力 , 且发展历史已经有很多年了 。因此不同操作系统、不同版本都有着不同版本的Deeplink技术
1、URL Scheme——iOS9和安卓6以前
在iOS 9和安卓6(M)之前 , 移动端实现Deeplink的方式都是通过URL Scheme 。URL , 我们都很清楚 , weixin://dl/moments就是一个 URL , 也叫它链接或网址;Scheme , 表示的是一个 URL 中最初始的位置 , 即 ://之前的那段字符 , 例如这个URL中的Scheme就是weixin 。我们可以用Scheme来定位对应的App 。例如淘宝的Scheme就是taobao、支付宝的Scheme就是alipay , 新浪微博的Scheme是sinaweibo 。
被打开的App可以向操作系统提前注册一个 URL , 开头的Scheme 用于从浏览器或其他App中拉起本App 。移动操作系统提供解析Scheme的能力 , 判断Scheme属于哪个App , 唤起并将参数传递给App 。此外通过指定的 URL 中其他字段(如path等) , 可以让App在被唤起后直接打开某些特定页面 , 比如商品详情页、活动详情页等等 。
1.2 URL Scheme协议格式
一般来说整段的URL Scheme是这种的形式:Scheme://host:port/path?query=xxxxxxx 。其中path代表了想要跳转的指定页面 , 而query代表了想要传递的参数 。
1.3 URL Scheme缺点
URL Scheme方式优点是开发简单 , 但弊端也很明显:
l 我们只能通过固定协议格式的链接来实现跳转 , 而且打开H5页面时 , 会出现一个提示框:“是否打开XXX” 。用户确认了才会跳转到App中 , 增加了用户流程
l 微信、QQ等把URL Scheme 打开App这种方式给禁了 , 但是它们都各自维护着一个白名单 , 如果Scheme不在该白名单内 , 那么就不能在他们的App内打开这个App(如果被封锁了那么用户只能通过右上角浏览器内打开App)
2、 Universal link——iOS 9以后
Universal link 是苹果公司在2015年推出的新一代Deeplink技术 , iOS9及以上的用户可以通过点击一个https 链接无缝的跳转到一个App应用内的指定页面 , 不需要让用户点击“是否打开xx” 。因为少了这个提示框 , 所以Universal link比URL Scheme方式体验更好 , 更重要的优势是目前微信和QQ已经支持Universal link这种形式了 , 因此我们更推荐开发者在iOS端使用这种方式唤起App 。
微信目前已支持通过Universal link方式直接打开第三方App , 要求SDK版本大于等于1.8.6.1 。用户主要需要配置以下几步才能使用正常功能 , 详情配置步骤可以参照微信Universal link文档:
(1)首先按照苹果官方文档 , 配置Universal link 。微信对Universal Links配置有以下要求:
Universal Links必须支持https
Universal Links配置的paths不能带query参数
微信使用Universal Links拉起第三方App时 , 会在Universal Links末尾拼接路径和参数 , 因此App配置的paths必须加上通配符/*
(2)然后向微信注册自己的应用id和Universal Links 。
此外QQ也已支持Universal link跳转方式 , 要求SDK版本大于等于3.3.6.详情配置步骤可以参考QQ配置文档
3、 App Link——Andriod M(6)以后
App Link是由安卓发布的 , 在Andriod M以后才能使用 。用户可以点击一个H5链接时直接跳转到 App 指定页面 , 而不会让用户点击”是否打开xx“ 。所以App Link比URL Scheme方式体验更好 。
注:因为目前App Link在中国大陆内使用必须要翻墙 , 使用不便 。所以国内的Top第三方如友盟+暂未支持AppLink这种方式 , Andriod端只能使用URL Scheme这种方式 。但据小编所知 , 后续友盟+会支持AppLink这种拉起App方式 。
对于开发者而言 , 要不要接第三方Deeplink工具
虽然开发者可以自己配置实现Deeplink技术 , 但是现实中还是会遇到很多问题 。比如进行资源配置、兼容性适配、模糊匹配等事项时需要耗费大量的人力和维护成本 , 实现起来相当复杂 。现在常用的方法 , 也是小编比较推荐的方式 , 即直接接入像友盟+这样专业的第三方 , 这样可以大大缩短开发时间 , 保障服务稳定性 。更值得一提的是 , 比如友盟+还为开发者提供统计Deeplink带来的回流新增数据 , 即这个链接带来了多少的App打开次数和新增用户 , 非常适合高效的团队做直接接入 。对此小编就不做赘述了 , 大家可以自行去了解~~