05 Deeplink唤醒广告详解
Deeplink广告即唤醒广告,通过Deeplink落地页链接实现;
最大的特点是点击广告后可以直接唤起目标APP的指定页面;
一、表现形式
假设广告主投放的是京东APP的Deeplink链接,如果你的手机里安装并已激活了京东APP,那么在你点击广告后,就会直接打开京东APP,并进入指定页面;
如果你的手机里没有安装京东APP,或者安装了但是没有激活,那么点击广告后,则会跳转至落地页;落地页可以是京东APP的下载页也可以是其他H5页面;
视频演示:https://www.zhihu.com/zvideo/1379593428053946368
二、实现原理
安卓
安卓仅支持通过Url Scheme方式实现Deeplink跳转;在移动端,我们可以把一个个APP看做一个个独立的网站,而URL Scheme就是网址。比如拨号,我们使用tel://13012345678 就可以打开拨号应用。
1)Url Scheme方式
每个APP会有自己唯一的Url Scheme链接,可在链接后自定义路径,以打开APP内指定页面;
Url Scheme示例:
openapp.jdmobile://virtual?params={"category":"jump","sourceType":"sourceType_test","des":"m","url":"https://u.jd.com/QbtNwYV","unionSource":"Awake","channel":"c463034d12227447a79d0fefaef3fa18","union_open":"union_cps"}
iOS
iOS既支持Url Scheme方式,也支持Universal Link方式唤醒目标APP;Url Scheme为非Https协议的链接,Universal Link为Https协议的链接;
1)Url Scheme方式
示例:
openapp.jdmobile://virtual?params={"category":"jump","sourceType":"sourceType_test","des":"m","url":"https://u.jd.com/QbtNwYV","unionSource":"Awake","channel":"c463034d12227447a79d0fefaef3fa18","union_open":"union_cps"}
2)Universal Link方式
示例:https://linkst.m.jd.com/ul/ul.action?openApp.jdMobile
验证方法:在苹果手机备忘录中,输入Universal Link链接,点击后若可以直接跳转至目标APP,则Universal Link正常有效;
视频演示:https://www.zhihu.com/zvideo/1379592380618833920
在实际广告投放时,广告主会同时配置Deeplink链接和落地页链接,在用户点击广告后,客户端APP优先调用Deeplink链接,若唤醒成功,则会跳转至目标APP;
如Deeplink不成功,则再调用落地页链接,跳转至落地页;
iOS系统下,落地页链接也可以是Universal Link,因此对落地页链接也需要先判断是否可以唤醒,若不能唤醒,则内置浏览器打开落地页;
三、客户端处理流程
四、注意点
若A APP想要通过URL Scheme方式唤起B APP,则A APP需配置B APP的Url Scheme到白名单,甚至是B的包名到白名单;
这是防止Deeplink链接被滥用的一个限制;
因此,若A APP想支持唤起主流APP,则需提前配置好白名单,已整理好常见Url Scheme,如:https://docs.qq.com/doc/DQ21DTkJ2ZEhIeFR6