Universal Link是个骗子

简介:

引子

iOS9发布以来,universalLink一直是大家热议不断的技术话题;无缝的链接不同app,流畅的跳转体验,简易的接入方式,同时又解决h5和native间的无缝切换;对于应用层面,站外引流效率提高,转化提高,突破微信封锁等等;

微信封锁

那么来说说微信封锁,实际手段其实是,淘宝商品的链接无法在微信内打开,不管是分享还是朋友圈,使得淘宝的商品信息无法在微信内流转,或者流转成本极高
那么如何让微信中的淘宝链接得以打开或者流转回手淘,则成了巨大的问题,所以后来产生了淘口令,众所周知,这是利用剪贴板的优势,得以缩短回手淘页面的链路,但终究不是最优美的方案;
直到出现了UniversalLink,完美的跳转链接方式,那么是不是这个方式可以完美的解决微信封锁呢?

如何突破

关于如何使用UniversalLink,以及利用它的特性来突破,以及有很多同学有很详细的分析和方案,这里就不说了,有兴趣可以这些文章;

关于微信分享小点子
如何从微信引流
UniversalLink在天猫smarbanner的应用
又一个引流入口

本文重点

扯了这么多,今天本文重点想说的是,微信会不会封锁UniversalLink,能不能封锁UniversalLink;

会不会

先来说 会不会,根据很多小伙伴的demo实践,目前微信是没有封锁UniversalLink的,也就是可以使用UniversalLink链路从微信里唤起手淘,唤起航旅,或者唤起其他阿里系app;看起来好像很不可思议嘛,竞争对手嘛,当年果断的封锁了淘宝链接,现在怎么不封了呢?
我们来看看目前阿里系app利用微信的情况,目前在微信内流转最多的,无可厚非,是淘口令,99%的微信场景都是通过淘口令来完成,可能只有个别的极少数流量使用UniversalLink,这种情况下,微信估计是懒得来封吧,但是如果说UniversalLink的流量,每天达到百万级UV,相信他们是很想,也是绝对回来做封锁的事情的;

能不能

UniversalLink本质是一个url的Load,先来看看一个普通url的在UIWebView中的load过程,从开始加载到最后页面完成,会经过如下几个delegate方法
image.png

那么UniversalLink 的Url加载又是如何的呢?
image.png

看到这里,相信大家都可以看出来了,在是否要加载这一步,可以很轻松的干掉universalLink

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
    if([request.URL.absoluteString containsString:@"t.asczwa.com"]){
        NSLog(@"::: 拦截universalLink");
        return NO;
    }
    NSLog(@":::shouldStartLoadWithRequest:%@",request.URL.absoluteString);
    return YES;
}

小结

UniversalLink是个好东西,但是在突破封锁这个命题上,有巨大的缺陷,apple给了容器足够的权限去控制url,也许是留了一手,所以在产品业务上,正面考虑没错,反面想想,其实会有很大的问题,聊以小结,分享给大家,请使用此技术的时候,三思!

相关文章
|
存储 安全 测试技术
数组越界:深入理解、危害与防范
数组越界:深入理解、危害与防范
2770 18
|
Web App开发 iOS开发 容器
Vue3PDF预览(vue3-pdf-app)
`vue3-pdf-app` 插件提供了一个简单而强大的 PDF 预览解决方案。通过 `<a>` 标签即可快速预览 PDF 文件。为满足更复杂的定制需求,提供了 `PDFViewer.vue` 组件,基于 `vue3-pdf-app@1.0.3` 封装,支持多种功能如缩放、旋转、全屏预览、打印等,并可自定义主题颜色与语言。组件属性包括文件地址 (`src`)、预览容器尺寸 (`width`, `height`)、默认缩放规则 (`pageScale`) 和主题 (`theme`) 等。适用于多种浏览器,方便集成到项目中。
2809 2
Vue3PDF预览(vue3-pdf-app)
|
前端开发 JavaScript API
前端JS读取文件内容并展示到页面上
前端JavaScript使用FileReader API读取文件内容,支持文本类型文件。在文件读取成功后,可以通过onload事件处理函数获取文件内容,然后展示到页面上。
438 2
前端JS读取文件内容并展示到页面上
|
前端开发 JavaScript API
【第15期】一文读懂前端Astro框架
【第15期】一文读懂前端Astro框架
1118 0
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
680 0
|
应用服务中间件 Apache
消息 Request method ‘POST‘ not supported
消息 Request method ‘POST‘ not supported
294 2
|
设计模式 Java 测试技术
单元测试运行原理探究
单元测试是软件开发过程中的重要一环,好的单测可以帮助我们更早的发现问题,为系统的稳定运行提供保障。单测还是很好的说明文档,我们往往看单测用例就能够了解到作者对类的设计意图。代码重构时也离不开单测,丰富的单测用例会使我们重构代码时信心满满。虽然单测如此重要,但是一直来都不是很清楚其运行原理,也不知道为什么要做这样或那样的配置,这样终究是不行的,于是准备花时间探究下单测原理,并在此记录。
378644 30
单元测试运行原理探究
|
Web App开发 定位技术 API
Flutter 如何快速打开第三方应用
学习Flutter也有一段时间了,今天简单总结一下怎样使用Flutter快速打开第三方应用。*1*url_launcher插件
Flutter 如何快速打开第三方应用
|
存储 程序员 API
程序员这篇文章很重要!放弃FastDFS,拥抱MinIO的7大理由
目前可用于文件存储的网络服务选择也有不少,好比阿里云OSS、七牛云、腾讯云等等,可是收费都有点小贵。为了帮公司节约成本,以前一直是使用FastDFS做为文件服务器,准确的说是图片服务器。直到我发现了MinIO,我决定放弃FastDFS。
1333 1
|
XML 前端开发 Java
Spring MVC - context:component-scan实现原理与实例
Spring MVC - context:component-scan实现原理与实例
308 0