URL Scheme 和 Universal Links的优缺点

目录

  • URL Schemes VS Universal Link 优缺点

URL Schemes VS Universal Link 优缺点

  1. URL Schemes :

优点:非常有效,能够让 app 之间彼此交流,传递数据。

缺陷:

  • 需要提前加入到白名单,且会询问用户“是否打开‘xxx’应用”。

  • 不会总能映射到正确的 app,两个 app 可能拥有同样的 scheme,而开发者不能明确地表示他们指的是那个 app。app 没有安装的时候不能工作。

  • 不能有效地保护用户隐私。app 需要查明是否已经被安装在设备上,这意味着它可以嗅探出用户是否安装了某些 app,而这本应属于用户的个人信息。

  1. Universal Links
  • Universal Links 是苹果在 2015 年 WWDC 上推出的一项新功能,官方功能描述如下:
    In iOS 9 and later, universal links let users open your app when they tap links to your website within WKWebView and UIWebView views and Safari pages, in addition to links that result in a call to openURL:, such as those that occur in Mail, Messages, and other apps.
    即当用户在 WKWebView、UIWebView 或者 Safari 中点击一个链接,如果设备上安装了适配该链接的 app,就可以跳转该 app 对应的页面,否则仍然展示网页 。
    由于目前微信内置浏览器不支持 openURL 的方式进行应用间的跳转,不少 app 都是通过接入 Universal Links 实现微信浏览器一键跳转到自己 app 的功能,比如网易新闻,知乎等。

优点:

  • 独特性 与自定义的URL链接相比,通用链接不能被其他的应用程序所访问,因为它们使用标准的 HTTP 或 HTTPS 链接到您的网站。
  • 安全性 当用户安装您的应用程序时,iOS 会检查您已上传到 Web 服务器的文件,以确保您的网站允许您的 app 代表其打开 URL (点击一个 URL 链接时,直接打开相应 app)。 只有您可以创建和上传此文件,因此您的网站与您的应用程序的关联是安全的。
  • 灵活性 即使没有安装 app,Universal links 也可以正常工作。 当没有安装 app 时,点击一个指向您网站的链接,会按照用户的期望在 Safari 中打开。
  • 简单性 通用链接同时适用于你的网站和 app。
  • 私有性 其他应用程序可以与您的应用程序通信,而无需知道您的应用程序是否已安装

缺陷:

  • 至少 iOS 9 以上的系统才支持 Universal link。
    Universal Link 必须要求跨域,如果不跨域,就不会跳转(iOS 9.2 之后的改动)假如当前网页的域名是 A,当前网页发起跳转的域名是 B,必须要求 B 和 A 是不同域名才会触发 Universal Link,如果 B 和 A 是相同域名,只会继续在当前 WebView 里面进行跳转,哪怕你的 Universal Link 一切正常,根本不会打开 App。 如:配置的服务器地址(主域名)www.baidu.com, 跳转链接用子域名网址 xyz.baidu.com/taobao

对于Universal Link 需要准备的:

1.一个HTTPS的后台域名
2. 配置apple-app-site-association 的json文件,上传到该域名下的服务器。

对于iOS 这边点击跳转按钮,只需要一个url: https://www.mydomain.com(二级域名)/share.html(路径)

你可能感兴趣的:(Swift,理论)