移动开发中实现 Deep Linking 的 URL Scheme 和 Universal Links 的区别是什么?
经历过的 Mobile 项目基本上都有支持 Deep Linking 的需求,每次新项目都会经历向其他端同事和 BA 解释实现 Deep Linking 两种方案的区别,于是就有了这一篇短文。主要是介绍两种方案的优缺点和实现成本差异,并不涉及如何实现的代码步骤。 首先什么是 Deep Linking,简单来说就是让一个 App 可以通过 URL 打开其他的 App,以提供更便捷高效的用户体验。 如果想跳到别人那去 BA 老刘:「如果想在 App 里打开人家的 App 应该怎么做呢?」 开发小曾:「目前有两种选项,URL Scheme 和 Universal Links。」 BA 老刘:「区别是啥?」 开发小曾:「主要看你想不想处理用户没有安装对方 App 的情况。」 ps: Android 中这两种选项是 Deep Links 和 App Links,运作原理大体相同,实现方式 iOS 和 Android 有些许差异。为少打字,下文将统一使用 URL Scheme 和 Universal Links。 URL Scheme 通常长这样: example://destination?param1=hello。 想通过 URL Scheme 跳转到某个 App,我们需要知道对方 App 定义的 Scheme 是什么(这不算是废话)。 以 Twitter 为例,如果当前设备安装了 Twitter: 通过 twitter://user?screen_name=elonmusk 这样一个 URL Scheme,就可以打开 Twitter 并且跳转到 Elon Musk 的主页(scheme 可以输入 Safari 地址栏进行测试)。 ...