iOS - 好好利用Safari 之 通用链接 Universal Link

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS - 好好利用Safari 之 通用链接 Universal Link相关的知识,希望对你有一定的参考价值。

参考技术A Universal Link 是 Apple 在 ios9 推出的一种能够方便的通过传统 HTTPS 链接来启动 APP 的功能,可以使用相同的网址打开网址和 APP 。当你的应用支持 Universal Link ,当用户点击一个链接是可以跳转到你的网站并获得无缝重定向到对应的APP,且不需要通过 Safari 浏览器。如果你的应用不支持的话,则会在 Safari 中打开该链接。在苹果开发者中可以看到对它的介绍是:

Universal Link :看起来就是一条普通的 https 链接,当然是我们在该链接域名根目录配置过的一个链接,也可以在该链接中放置对应的 H5 页面。当用户的点击该链接,只要手机中安装了支持该链接的 APP 就会直接进入到 APP 中。如果没有安装 APP 则会跳转到 Safari 浏览器中,展示 H5 页面。对用户来说则是一个无缝跳转的过程。

使用 Universal Link 可以让用户在 Safari 浏览器或者其他 APP 的 webview 中拉起相应的 APP ,也可以在 APP 中使用相应的功能,从而来把用户引流到 APP 中。比如淘宝当在 Safari 浏览器中进入淘宝网页点击打开 APP 则会使用 Universal Link 来拉起淘宝 APP。

在 iOS 设备中的备忘录中输入 APP 能识别的链接,然后直接点击此链接,就会直接跳转到你的 app 了。或是长按,在弹出的菜单中出现在 “XXX”中打开 ,这也代表着成功。

或是你将要测试的网址在 Safari 中打开,在出现的网页上方下滑,可以看到有在 “XX”应用中打开

当点击某个链接,直接可以进我们的 app 了,但是我们的目的是要能够获取到用户进来的链接,根据链接来展示给用户相应的内容。

我们需要在工程里的实现 AppDelegate 里对应的方法:

苹果为了方便开发者,提供了 一个网页来验证 我们编写的这个 apple-app-site-association 是否合法有效,进入验证网址进行验证:

前端开发经常面临跨域问题,必须要求跨域,如果不跨域,就不行。
只有当前 webview 的 URL 域名,与跳转目标 URL 域名不一致时, Universal Link 才生效。

苹果官方文档

苹果验证通用链接是否可用的网站

Universal Link 文件存放的 server 需要支持 HTTPS 苹果支持的 HTTPS 证书列表

以上是关于iOS - 好好利用Safari 之 通用链接 Universal Link的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法从 Safari 检查通用链接注册?

iOS 9 通用链接(Universal Links)

如何将通用链接重定向到应用商店而不在 Safari 浏览器上显示弹出窗口?

iOS 11.2 中的通用链接中断

iOS Universal Links(通用链接)

带有重定向的通用链接在 iOS 中不起作用