Deeplink技术解析

Attribution Haran 5年前 (2019-07-08) 7369次浏览 5个评论

Deeplink,又叫深度链接,使用Deeplink可以在一个App中轻松打开另一个App的指定页面而不只是首页。这将让广告在用户体验上得到升级,大大简化了转化路径,提升用户质量。实际中是应用非常广泛的,你一定有见过,我们来看一个例子:假设我有人在微信上分享一个JD购入链接给你,你点击这个链接后,会有个提示,继续点击跳转到JD的APP就可以看到的是该产品的详情页面:

Deeplink技术解析

Deeplink有广义和狭义之分,可以分为两种,DeepLinkDeferred Deeplink,目前一般指后者。

Deeplink技术解析

DeepLink

DeepLink:名为“深度链接”,这是对于已经安装了APP,并把需要的参数通过URL的形式传递给App,指向特定的页面,主要就是帮助开发者实现,从外部链接到App内部页面的直接跳转。

Deferred Deeplink

Deferred Deeplink,叫延迟深度链接,这个就增加了判断是否安装APP和匹配,当用户点击链接的时候,先判断APP是否已经安装,如果没有安装,就跳转到应用市场去下载,在这个过程中会传递设备指纹给服务器,如果用户下载完后打开,会通过设备指纹做模糊匹配,然后直接打开相应的页面;如果已经安装了APP,就直接打开APP内对应的页面。

要想使用这个,是需要做一些技术上的支持的,深度链接通过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

Scheme是大家比较熟知的方式,不管是iOS还是Android,都可以通过Scheme去打开一个应用,这是最简单粗暴的方式。URL Scheme的作用是打开对应的特定页面,这个是需要提前在APP端配置好的,使得app需要能够接收参数,传递给app,然后打开对应的Activity,传递的ID要跟APP的页面一一对应。

由于涉及到打开页面,那么还需要配置action和category。这样APP才能具备打开页面的能力。前面讲到的都是Activity,都是安卓的,如果是IOS就去配置info,原理类似,平台不同。

但是这种方式局限性很大,很多时候显的都不是那么直接,比如在IOS上需要点击右上角去跳转,这种体验非常差;

Deeplink技术解析

  • 优点:跨平台,普遍支持,开发简单。
  • 缺点:IOS9以前的是有一个中间提示页面的,很不友好;被部分主流平台禁止了。

Universal Link

随着系统的升级,iOS出现了Universal Link通用链接技术,如果你的App支持Universal Links,那就可以访问HTTP/HTTPS链接直接唤起APP进入具体页面,不需要其他额外判断,能够方便的通过一个https链接来打开app具体页面,如果没有安装app,可以跳转到自定义地址。

能解决scheme的缺点,如中间提示页面和被主流平台禁止的缺点。

App Links

Android也有了App Links深度链接技术,App Links让用户在点击一个普通web链接的时候可以打开指定APP的指定页面,前提是这个页面要经过验证。

跟苹果的Universal Link异曲同工。

实现Universal LinkApp Links也需要不少资源支持以及很多复杂的配置步骤,而且这两个方式是基于系统平台的,所以随着系统版本的升级配置方式是会有所不同的,目前市面上也有很多完善的第三方解决方案。

One Link

也叫智能短链,是将IOS、Android 推广合并生成一个链接,智能判断终端类型,并跳转到指定链接,适用于二维码推广、线下活动、邮件营销、H5页面等场景。

 

Deeplink这种技术通常运用于App社交分享、App广告引流、App裂变活动、Web to App、分享效果统计、沉默用户唤醒等场景,对广告引流、活动推广、新闻类、电商类、游戏类、视频直播类App的引流推广。

​另一个大类的应用就是搜索引擎对app内容的索引了,搜索引擎是可以搜索web的内容,但是app的技术不同,使得搜索平台不能 索引到app的内容,应用深度链接就可以实现,但这个的跟前面的讲到的是有所不同的,因为这里是需要被搜索平台索引,所以是平台提供了一个解决方案,在web中实现与APP的对应关系,如谷歌AppIndexing, 百度APP Link, 必应 AppLinking,但目前并没有发展起来,相反部分平台后期变成打压通过搜索唤起APP的这种操作。

深度链接跟短链有相似之处,目前很多的的厂家都提供类似的服务,各个厂家都在建立自己的规则和生态圈,另外这个是否能够投放取决于广告平台是否支持非主域的landing作为投放页面和跳转处理。

如果都可以,那还可以传递类似UTM参数,处理方式就跟web类似,也能用于后续的归因。


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (7)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(5)个小伙伴在吐槽
  1. Deeplink配置麻烦,尤其iOS,涉及到服务器配置,HTTPS证书配置,还要有associatefile的文件编写。Xinstall可以提供一键配置的功能,会比较效率。当然自己按照配置教程有人配合,也可以自己尝试下
    NE2020-12-23 23:15 回复 Mac OS X | Chrome 87.0.4280.88
  2. Deeplink第三方服务商很多的,openinstall、魔窗之类的,有些也是免费集成的,比自己去捣鼓效率些
    Mate2019-09-17 10:38 回复 Windows 10 | Chrome 65.0.3325.181
  3. deeplink服务商目前只有branch.io吧
    beck2019-08-09 11:48 回复 Windows 7 | Chrome 75.0.3770.100
  4. 图片不显示
    小强2019-07-08 16:26 回复 Windows 7 | Chrome 74.0.3729.169
    • 替换了
      GA小站2019-07-08 16:35 回复 Mac OS X | Chrome 75.0.3770.100