Deeplink,又叫深度链接技术,是实际中是应用非常广泛的,你一定有见过,我们来看一个例子:
假设我的家人在微信上分享一个JD购入链接给我:
我在微信上点击这个链接后,会有个提示,我可以点击跳转到JD的APP:
我点击后直接跳转到这个产品的详情页面:
无缝跳转到查看的产品详情页面,这个就是Deeplink了,Deeplink有广义和狭义之分,可以分为两种,DeepLink和Deferred Deeplink,目前一般指后者。
DeepLink:名为“深度链接”,这是对于已经安装了APP,并把需要的参数通过URL的形式传递给App,指向特定的页面,主要就是帮助开发者实现,从外部链接到App内部页面的直接跳转。
Deferred Deeplink,叫延迟深度链接,这个就增加了判断是否安装APP和匹配,当用户点击链接的时候,先判断APP是否已经安装,如果没有安装,就跳转到应用市场去下载,在这个过程中会传递设备指纹给服务器,如果用户下载完后打开,会通过设备指纹做模糊匹配,然后直接打开相应的页面;如果已经安装了APP,就直接打开APP内对应的页面。
这是一种无障碍场景还原技术,能够能高的提高用户转化率,详细的如下图:
使用了深度链接后,用户操作成本明显降低了一至两步,在用户转化的漏斗中,每多一个步骤,漏斗的路径就会多一层,用户流失率也就随之增加。
要想使用这个,是需要做一些技术上的支持的,Deeplink通过Web页面直接调用Android原生app,并且把需要的参数通过URL的形式,直接传递给app,首先看这个过程涉及到哪些参与者:
广告平台:在点击这个广告的时候会有一些跳转,判断,广告平台需要支持,做一些处理才可以打开APP,比如JD能在微信上被打开,这是因为JD跟微信有合作,所以才可以实现,并不代表其他广告主也能够这样做的,比如淘宝就不能再微信上实现,所以Deeplink实现的条件之一就是广告平台要支持。
APP:app需要能够接收参数,传递给app,然后打开对应的Activity,所以第二个条件就是APP本身要支持,APP需要能够获取参数和设置好唤起的对应的页面。
比如前面JD分享的URL是:
https://item.m.jd.com/product/100001962311.html?wxa_abtest=o&utm_source=iosapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=Wxfriends&ad_od=share&from=singlemessage&isappinstalled=0
这个页面上就有需要传递给Activity的参数ID,因为点击后到达的是该产品详情页面,所以这里的参数ID是产品ID居多。
里面UTM参数是用于归因,这个就类似web端的广告参数覆盖了,可以实现归因的,其他参数是用于分类判断统计,所以传递的参数往往不止只有参数ID,其他的参数是根据需要去传递的。
点击后先判断是否已经安装有app,如果有就直接通过参数ID去调用APP 打开页面,这个过程实现的原理就有多种了:
用Scheme是大家比较熟知的方式,不管是iOS还是Android,都可以通过Scheme去打开一个应用,这是最简单粗暴的方式,但是这种方式局限性很大,很多时候显的都不是那么直接,比如在IOS上需要点击右上角去跳转,这种体验非常差;随着系统的升级,iOS出现了Universal Link通用链接技术,如果你的App支持UniversalLinks,那就可以访问HTTP/HTTPS链接直接唤起APP进入具体页面,不需要其他额外判断。Android也有了App Links深度链接技术,App Links让用户在点击一个普通web链接的时候可以打开指定APP的指定页面。
Scheme:
URL Scheme的作用是打开对应的特定页面,这个是需要提前在APP端配置好的,使得app需要能够接收参数,传递给app,然后打开对应的Activity,传递的ID要跟APP的页面一一对应。
由于涉及到打开页面,那么还需要配置action和category。这样APP才能具备打开页面的能力。
前面讲到的都是Activity,都是安卓的,如果是IOS就去配置info,原理类似,平台不同。
优点:跨平台,普遍支持,开发简单。
缺点:IOS9以前的是有一个中间提示页面的,很不友好;被部分主流平台禁止了。
Universal Link:
Universal Link是苹果推出的类似深度链接的一种技术,能够方便的通过一个https链接来打开app具体页面,如果没有安装app,可以跳转到自定义地址。
能解决scheme的缺点,如中间提示页面和被主流平台禁止的缺点。
App Links:
这个是安卓发布的,点击一个链接的时候会跳转到app的指定页面,前提是这个页面要经过验证。
跟苹果的Universal Link异曲同工。
实现Universal Link和App Links也需要不少资源支持以及很多复杂的配置步骤,而且这两个方式是基于系统平台的,所以随着系统版本的升级配置方式是会有所不同的,目前市面上也有很多完善的第三方解决方案。
Deeplink这种技术通常运用于App社交分享、App广告引流、App裂变活动、Web to App、分享效果统计、沉默用户唤醒等场景,对广告引流、活动推广、新闻类、电商类、游戏类、视频直播类App的引流推广。
另一个大类的应用就是搜索引擎对app内容的索引了,搜索引擎是可以搜索web的内容,但是app的技术不同,使得搜索平台不能 索引到app的内容,应用深度链接就可以实现,但这个的跟前面的讲到的是有所不同的,因为这里是需要被搜索平台索引,所以是平台提供了一个解决方案,在web中实现与APP的对应关系,如谷歌AppIndexing, 百度APP Link, 必应 AppLinking,但目前并没有发展起来,相反部分平台后期变成打压通过搜索唤起APP的这种操作。
深度链接跟短链有相似之处,目前很多的的厂家都提供类似的服务,各个厂家都在建立自己的规则和生态圈,另外这个是否能够投放取决于广告平台是否支持非主域的landing作为投放页面和跳转处理。
如果都可以,那同时还可以传递类似UTM参数,处理方式就跟web类似,也能用于后续的归因。