| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 趣谈 iOS Universal Link -> 正文阅读 |
|
[移动开发]趣谈 iOS Universal Link |
一、前言说起 Universal Link(通用链接),对于有过 iOS 开发的同学,一定有用上过。目前在申请微信分享或登陆时,需要配置 Universal Link 链接。对于 Universal Link,大家应该都了解:
但是,反过来说,为什么需要 Universal Link ? 这就是本文想要趣谈的一个内容。以下内容,是基于之前在团队分享的内容整理而成。 二、为什么需要 Universal Link ?我们知道一个新事物的出现,肯定不是凭空出现,同理,Universal Link 的出现,肯定是基于某个原因或者基础而产生。所以,Universal Link 基于 URL SchemeURL Scheme 一般用在在一个 App 里跳转到另一个 App,属于应用间的跳转。当然在浏览器(也可以理解为是 App) web 页面也可以通过
为什么会出现 URL Scheme ?那么,另一个问题又来了,为什么会出现 URL Scheme ? 在当年 iPhoneOS 出来时,就已经是有沙盒机制,导致二个 App 之间无法读取对方的沙盒空间,无法直接通讯,所以,苹果提供了 举例来说,在 Safari 浏览器看到某个网页上的电话号码,能不能直接调起拨打电话?我们知道可以这样编码:
可以看苹果的文档看到,URL Schemes 是跟 iPhoneOS 开放给开发者,详细的苹果 URL Schemes 可以文档:About Apple URL Schemes。 使用 URL Schemes 最多的 App 应该是效率工具类,因为它们有工作流的需求,所以它们把 URL Schemes 玩出了很多花样,包含 Scheme 缺点是什么 ?出现 Universal Link,那么说明 URL Schemes 有什么不足呢?那可以反过来说,Universal Link 有什么优点呢? Universal Link 优点Universal Link 优点,主要有 4 个:
通用性:一个 URL 对你的网站和 App 都通用,Universal Links 是标准的 URL 格式,而自定义 URL Scheme 可能理解为特殊 URL 方案,默认只有你的 App 能解析,浏览器无法解析。 灵活性:即使未安装你的 App,Universal Links 也可以使用。未安装你的应用程序时,打开链接,Safari 中打开显示你网站的内容,是符合用户预期的体验,同时,网页可以显示跳转 AppStore 下载的引导,进一步的提升用户体验。 安全性:只有开发者自己的网络域名配置了 apple-app-site-association,才能调用对应的 App。而 URL Scheme 配置的 Scheme,任意的 App 都可以配置相同的 Scheme,无法保证开发者 App 的安全调用。另外,当用户安装你的 App 时,iOS 会检查你已上传到网络服务器的文件配置,以确保只有你的网站允许调用您的 App。 隐私性:很久以前,大家都可以利用 Scheme 检查 App 是否安装,这样有什么作用呢?其实,当你知道用户都安装了什么应用后,可以分析用户的喜好或习惯,当然,目前。另一方面,很多 App 会冒充注册知名的 App scheme 从而拦截调合法 App 的 scheme 调起。
另外,微信创建应用时,必须配置 Universal Link 链接,详细见文档:微信开放平台发布新版本SDK,请开发者尽快更新。从安全性和隐私性来说,微信是做的最好和最前卫,连海外 Facebook、Google 的 SDK 现在都还没有提出 Universal Link 的想法。 Universal Link 配置
关于 Universal Link 的配置,网上已经有很多教程,这里就不再赘述了。具体可以教程官方文档: Support Universal Links、Supporting Universal Links in Your App。 Universal Link 坑点虽然苹果提供 https://search.developer.apple.com/appsearch-validation-tool/ 网页让开发者检查 Universal Link 配置是否正常,但是检查不正常的链接,Universal Link 可能是正常的。最大的坑就是必须要跨域,比如配置 Universal Link 链接为: 最后,最常用的检查配置是否正常的方式有2个: Universal Link 特性回顾最后,回顾一下,Universal Link 这几年以来的新特性。
支持 macOS 10.15 以上,需要注意,Mac 的 App,如果是从 Mac AppStore 下载的 App,默认Universal Link 已经生效,而开发者自己分发的 App 则至少需要打开一次之后才能生效。
如上图中,
三、总结最后,我们从产品的角度来总结一下 URL Scheme 从最初的打破 App 之间无联系的沟通,到效率工具 App 的重度依赖,其中 Workflow App 当年最为流行,后来被苹果收购。正好刚刚说的,被苹果收购后可以获取更多的系统级权限,其实对于效率类 App 是非常利好的!后来,苹果把 Workflow 改名 Shortcuts(捷径),并且能与 Siri 交互。
Handoff 也需要使用 Universal Link 的配置文件来验证权限,Shared Web Credentials 也是优化 web 和 app 之间共享账号登陆。 去年苹果推出的小程序 App Clips(轻 App)也是使用 apple-app-site-association 来配置权限。 今年推出的 in-app events AppStore 商店 App 内事件功能,也需要配置 Universal Link 。 最后的总结,我们说了 URL Scheme 和 Universal Link 的来历,从目前来说,Universal Link 并不能完全替换 URL Scheme,但 Universal Link 因为其优点,苹果把越来越多的功能权限验证,放到了 Universal Link 配置上,相信未来还会有更多 Universal Link。所以,了解这些功能的出现的背后原因和解决的问题,对于我们掌握事物都有帮助,希望大家有所收获,如果觉得可以,欢迎点赞转发啊~ 欢迎大家一起在评论区交流~
四、参考引用
|
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:04:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |