最近集成了openinstall的sdk,其中有配置通用链接一项,不太了解,自己查了查资料,记录下自己的理解
Q:支持通用链接(Universal Links)能达到什么样的效果?
A:支持后,用户点击网页链接,可以直接跳转到APP! 没有安装的时候,打开指定页面(如商品详情页、APP下载页等).
Q:和Custom URL scheme有什么区别?
A:
唯一性: 使用标准的http/https链接到你的web站点,所以它不会被其它的app所声明.另外,Custom URL scheme 在没有安装 app 的情况下是无法直接打开的,而 universal links 本身是一个 HTTP/HTTPS 链接,所以有更好的兼容性
安全:当用户安装了你的app,那么iOS将去你的网站上去下载你上传上去的说明文件(这个说明文件声明了你的app可以打开哪些类型的http链接).因为只有你自己才能上传文件到你网站的根目录,所以你的网站和你的app之间的关联是安全的.
可变:当用户手机上没有安装你的app的时候,Universal Links也能够工作.如果你愿意,在没有安装你的app的时候,用户点击链接,会在safari中展示你网站的内容.
简单:一个URL链接,可以同时作用于网站和app
私有:其它app可以在不需要知道你的app是否安装了的情况下和你的app相互通信.
以上为官方文档的大致翻译,个人理解如下:
URL scheme设计是为了APP之间的跳转和通信,所以是基于APP已安装的情况; universal links提供未安装时也可以浏览对应网页,体验也更好,当然也不需要去手写代码判断是否安装;采用标准的http/https协议,不会被其他APP屏蔽掉(比如微信内置浏览器);另外universal link 在iOS9.0才开始支持,scheme好像是3.0就支持。
再看看使用和配置方面的不同:
Custom URL scheme:项目中配置scheme和identifier(反转域名保持唯一性),使用时canOpenURL判断是否系统已注册scheme,即判断是否安装,使用openURL打开APP。
universal link:网站得支持HTTPS,web server根目录上传关联文件(APP和路径的关联,访问哪些路径打开哪个APP)。